pinusdb 简单易用的时序数据库开源项目

我要开发同款
匿名用户2019年09月04日
201阅读
开发技术C/C++
所属分类数据库相关、时序数据库
授权协议GPL-3.0

作品详情

松果时序数据库(pinusdb)

松果时序数据库是一个开源的时间序列数据库。以简单、易用、高性能为目标,解决中小规模物联网场景设备数据存储,查询。松果时序数据库服务仅包含大约3万行C++代码,虽然代码量少但也提供了丰富的功能、较高的性能。

性能

在i3-7100,8G内存,1TBHDDwindowsserver2016环境下,每条数据8个字段,达到每秒20万条数据写入。内存中数据扫描达到1500万条。历史数据整理后压缩,每个设备的数据顺序存放,极大提供数据查询性能。

压缩

松果时序数据库先将整数、浮点数按照差值压缩,然后将数据块以zlib压缩,极大提高压缩率。不仅如此,我们还提供将浮点数按倍数放大后存储为整数,从而提高浮点数的压缩率。用户使用时以浮点数使用即可。real2->倍数100,取值范围[-999,999,999.99~+999,999,999.99]real3->倍数1000,取值范围[-999,999,999.999~+999,999,999.999]real4->倍数10000,取值范围[-999,999,999.9999~+999,999,999.9999]real6->倍数1000000,取值范围[-999,999,999.999999~+999,999,999.999999]

容量

在松果时序数据库中,每个表每天的数据存储为一个文件,超过写入时间窗口的文件会被压缩。所以,数据容量仅限于服务器存储的容量,并且在大容量下还能保持极高的数据读取性能。

数据安全性

数据写入松果时序数据库中,首先会写commit日志,commit日志每3秒或写满1MB会刷一次磁盘,所以意外宕机,或服务器断电后只会丢失较少的数据。松果时序数据库写数据文件时使用doublewrite,保证写入数据页时发送断电数据文件和数据页也不会损坏。

编译

松果时序数据库支持Windows以及Linux,代码中包含CMake文件,下载后需要配置boost库的包含目录和库目录、zlib的库目录即可编译成功。若您需要已编译好的程序,请在 https://www.pinusdb.cn 网站相应的链接下载。

运行

运行前请先配置好服务配置文件config.ini具体运行配置细节请参考文档: https://www.pinusdb.cn/doc/v1.3/doc_pdb_windows_install.html

二次开发

提供c/c++SDK,.NetSDK,jdbc驱动,未来还会支持restful及更多的二次开发接口,具体使用细节请参考:https://www.pinusdb.cn

交流

若您需要帮助或希望给我们反馈信息,请提交Issue、给我们发邮件:zhangquan@pinusdb.cn

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论