mars/火星实时物联数据库
High performance realtime database.Our goal is to store the second level data of 3-10 million sensors on a single server.
以记录物联网时代各种传感器数据为目的的,高性能实时传感器数据库。相较于传统工业系统中的实时库,该库提供了基于互联网的各种特性,相较于时序库该库提供了以单个传感器数据(变量)为记录单位的记录和管理数据的方式较时序库仍然以表为记录单位方式的不同。该项目的目标:在单台服务器上达到300~1000万个传感器数据按照秒级变化的数据的历史存储,分布式版本可以达到上亿以及十亿级别。
目前测试的结果是,在如下配置的商务台式电脑上可以达到100万个传感器数据按照秒级变化的历史存储。
- CPU: I7 4790,主频:3.6
- 内存:8G
- 磁盘: 机械磁盘 512G,7200转
功能
- 实时数据服务。提供数据的实时值的查询、修改服务。
- 历史数据存储。提供对实时数据按照秒级进行存储,存储类型包括定时、值变化存储2种模式。历史数据的压缩提供了:无压缩、无损压缩、死区压缩、斜率死区压缩(旋转门算法) 4种压缩方式。
- 外部访问接口。基于Web API、Grpc、OPC-UA等各种上、下访问接口。
- 数据类型:byte,short,ushort,int,uint,long,ulong,double,float,string,IntPoint(int,int),LongPoint(long,long)。通过IntPoint,LongPoint可以实现对Gis位置信息的高效的压缩存储,从而实现一个地理信息数据库。
程序集
- DbInRun: 提供数据库的实时、历史数据服务。
- DbInStudio,DbInStudioServer:提供分布式、多客户端数据变量的开发配置。
- HisDataTools:提供对已经记录的历史数据的查询、导入、导出和数据分析功能。
- DbProxy: 提供数据库的实时数据的访问代理服务。(尚未开发)。
- OPCProxy:居于OPC-UA协议的数据访问带来服务。(尚未开发)。
运行环境
系统采用.net core 3.1 平台开发,依赖于.net core 的跨平台性,可部署在window、Linux等操作系统中,也可以部署在Docker中。
沟通交流
QQ 群:950906131
帮助文档、接口开发文档
暂无。
版本
尚未发布。
未来计划
- 2020年10月发布1.0版本,完成单机版功能,同时性能尽量达到单机100万点左右。
- 2021年1月份发布1.1版本,完成单机性能在300~500万点左右的目标。
- 2021年2月份开始分布式版本的开发,预计2023年10月份能够推出分布式版本的2.0。分布式版本通过计算机集群、多级协作的方式,来实现更大规模、变化更加快速的传感器数据的接入。
来源:oschina
链接:https://my.oschina.net/u/4361935/blog/4268329