# mars
**Repository Path**: maxsys_admin/mars
## Basic Information
- **Project Name**: mars
- **Description**: Mars 数据库是一个集数据采集、存储、分析为一体的实时数据库
- **Primary Language**: C#
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://gitee.com/chongdaoyang/mars
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 104
- **Created**: 2024-01-09
- **Last Updated**: 2024-01-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
**物联网三板斧:[Mars 实时库](https://github.com/cdy816/mars) 、设备采集平台[Spider](https://github.com/cdy816/Spider) 、跨平台界面解决方案[Chameleon](https://github.com/cdy816/Chameleon)**
Mars 实时库
高性能、跨平台实时库!
# mars/火星实时物联数据库
Mars 数据库是一个集数据**采集**、**存储**、**分析**为一体的实时数据库。通过简单的可视化的配置,即可实现将工业现场的各种传感器接入、并进行记录或者进行数据逻辑处理、以及提供其他程序使用。
Mars 数据库具有较高的性能,单机支持120万个传感器信号接入;Mars 2.0 分布式版本通过多机联网组成的集群,可以实现上千万的信号的接入。
## 功能
Mars 数据库整个分成开发、运行2个部分,两者之间相互独立。数据库的开发用于管理数据库支持的变量、安全信息、接口信息等;数据库的运行负责数据的采集、存储、对外提供实时、历史数据服务。
数据库开发支持分布式、多客户端、多数据库开发;开发客户端目前仅支持在Windows下运行的桌面客户端;服务器则是跨平台的,对外提供GRPC、Web API接口,方便第三方进行扩展接入。
数据库运行支持跨平台、多种类型数据访问接口。支持有Web API、GRPC、自定义私有协议接口、OPC UA。数据库运行时采用数据库核心服务和API接口独立分开的多进程设计,API 服务和数据库核心功能可以在一台机器上也可以分别在不同的机器上;同时运行有多中类型的API接口、同一个种多个API接口同时运行,以支持多种、多个类型的客户端同时访问。
数据库运行时不支持直接添加、删除、修改变量,但支持数据库的热启动(即在不退出重启的情况下,可以动态加载生效数据库库开发时新增、修改的变量,不支持删除的变量动态生效)。
历史数据存储支持**无损压缩**、**死区压缩**、**斜率死区压缩(旋转门算法)** 3种压缩方式,同时支持**数据补录**功能(配合设备驱动实现当网络中断、又恢复后历史数据补录的功能)。
历史数据支持定时导出功能,由于采用独立的文件存储设计,历史数据的导入,只要将相应的文件拷贝到历史存储目录即可。
数据库支持双机冗余热备功能,历史数据路径存储到第三方的物理磁盘上,实时数据支持实时数据同步。
数据库支持数据报警功能。单机具有支持一秒10万个信号同时报警的能力。
## 应用方案
Mars数据库可以在不同的场景下使用,作为纯后端库的实时库模式、作为SCADA系统一部分的变量库模式,基于物联网的应用模式等。如下图:



## 接口
1. 基于消费端的上接口。基于**Web API**、**Grpc**、**OPC-UA**、**私有协议高速接口**等。
2. 基于数据采集端的下接口 [Spider ](https://gitee.com/chongdaoyang/Spider)、第三方采集程序直接访问接口(DirectAccess)(Grpc,MQTT)
## 二次开发扩展
Mars 数据库支持直接嵌入C#脚本或者第三方开发的.net DLL库,在不修改数据库源码的基础上,扩展业务逻辑。通过此功能可以实现Mars 数据库和外部关系数据间的数据互转。
## 关联项目
1. 数据采集平台 [Spider ](https://gitee.com/chongdaoyang/Spider)
## 运行环境
系统采用.net 6 平台开发,依赖于.net 6 的**跨平台**性,可部署在window、Linux等操作系统中,也可以部署在Docker中。
## 开始使用
### 安装
1. 安装.net 运行环境 [参考微软官方文档](https://dotnet.microsoft.com/download/dotnet/6.0)
2. 数据库安装。下载Mars Release版本,将软件包解压到特定目录。
## 帮助文档、接口开发文档
1. [文档](https://github.com/cdy816/mars/tree/master/Doc)([Gitee地址](https://gitee.com/chongdaoyang/mars/tree/master/Doc))
2. [Mar数据库应用结构](https://my.oschina.net/u/3520380/blog/4288058)
## 版本以及授权
当前版本:[1.0 版本](https://gitee.com/chongdaoyang/mars/releases/tag/V1.0)
Mars数据库有 **社区版**、**商业版** 两种版本。其中**社区版**没有任何使用限制,可免费用于一切商业目的项目中。
1. **社区版**:支持基本功能(数据的采集、存储、报警)。
源代码在2023/9/17之后,不会再同步更新到Gitee、GitHub上,但是依然有Release版本可供下载。如需源代码,则需加入**Mars社区会员**进行索取。
**Mars社区会员权益**:提供7X12使用技术服务,源代码,源代码技术服务。
2. **商业版**:支持数据库冗余等高级功能,7X12使用技术服务。
## 沟通交流
1. 技术 QQ 群:950906131
2. 开发者贡献群:601418190
3. Email:cdy816@hotmail.com
## 友情链接
[IOT 采集平台](https://gitee.com/pnoker/iot-dc3)
## 合作伙伴
非常欢迎你的加入!提一个 [Issue](https://github.com/cdy816/mars/issues) 或者提交一个 Pull Request。
感谢以下人员、公司的参与:
**宁波德沛数据**
**lin**
**湖南大驰科技**
[contributors-shield]: https://img.shields.io/github/contributors/cdy816/mars.svg?style=for-the-badge
[contributors-url]: https://github.com/cdy816/mars/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/cdy816/mars.svg?style=for-the-badge
[forks-url]:https://github.com/cdy816/mars/network/members
[stars-shield]: https://img.shields.io/github/stars/cdy816/mars.svg?style=for-the-badge
[stars-url]:https://github.com/cdy816/mars/stargazers
[issues-shield]: https://img.shields.io/github/issues/cdy816/mars.svg?style=for-the-badge
[issues-url]:https://github.com/cdy816/mars/issues
[license-shield]: https://img.shields.io/github/license/cdy816/mars.svg?style=for-the-badge
[license-url]: https://github.com/cdy816/mars/blob/master/LICENSE
[product-screenshot]:https://github.com/cdy816/mars/blob/master/Doc/Images/DbInStudio.png