简单易用的时序数据库 pinusdb

GPL-3.0
C/C++
跨平台
2019-09-04
xplanet

松果时序数据库(pinusdb)

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

性能

在i3-7100, 8G 内存,1TB HDD windows server 2016 环境下,每条数据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的库目录即可编译成功。 若您需要已编译好的程序,请在 http://www.pinusdb.cn 网站相应的链接下载。

运行

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

二次开发

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

交流

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

加载中

评论(26)

y
yanling112
松果弹抖闪电鞭
七合一的那只小金刚
作者很有耐心也很积极,赞一个
哈哈TA2018
哈哈TA2018
配置表不应该就是一张表 类似设备表 字段表。 可以增删改查 不是时序的表
张权-松果时序数据库
张权-松果时序数据库 软件作者
您可以详细整理一下具体的需求,如果合适的话会加入到后续的开发计划中。
哈哈TA2018
哈哈TA2018
除了系统表就是数据表。 没有存放配置的地方。能不能添加配置表。
张权-松果时序数据库
张权-松果时序数据库 软件作者
系统将数据缓存做为内存池,在内部进行数据的调度,所以不会释放... 持续运行服务占用的内存达到一定大小后不会继续增加,不会有内存泄漏的问题。
张权-松果时序数据库
张权-松果时序数据库 软件作者
限定的内存为数据缓存,服务运行期间其他部分还需要申请内存。数据缓存申请后不会释放,设计如此。
哈哈TA2018
哈哈TA2018
测试发现是 debug版本和Release版本效率问题。 测试的时候发现限定内存2048后,多次查询和插入时 内存已经超过2G了。而且关闭程序后 ,只要服务不重启 内存是不回收的。但是再次多次查询、写入 内存只增不降。是设计考虑还是内存泄漏。如果内存超了会出现怎么问题呢? 应该有个内存回收机制,不能一直占用内存。服务器上不可能只跑这一个服务程序
张权-松果时序数据库
张权-松果时序数据库 软件作者
多谢您的建议, 我们已经创建交流QQ群:614986989,欢迎加群
张权-松果时序数据库
张权-松果时序数据库 软件作者
使用执行sql插入时,性能会有一些影响,这个方面有一些调整!我们建议使用二进制协议插入,c# 使用 DataTable, jdbc 使用全部带参数批量执行,具体参考文档。

松果时序数据库 PinusDB 3.0 Beta 发布

松果时序数据库是一款针对中小规模(设备数少于10万台,每天产生的数据量少于10亿条)场景设计、实现的时序数据库。以简单、易用、高性能为设计目标。使用SQL语句进行交互,具备较低学习、使...

松果时序数据库 PinusDB 2.0 发布

本次更新内容: 新增条件聚合函数countif, avgif, maxif, minif, firstif, lastif, sumif,方便在一次查询中对多个不同条件进行统计。例如:可以在一次查询中统计多个条件的总数 SELECT c...

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

松果时序数据库(PinusDB)测试报告

松果时序数据库(PinusDB)是一款以简单、易用、高性能为目标的开源时序数据库。本篇比较全面介绍松果时序数据库的测试,为用户测试选型提供参考。 松果时序数据库提供差值压缩,测试数据对压缩...

2019/09/12 08:53
144
0
松果时序数据库(PinusDB)最佳实践

松果时序数据库(PinusDB)是一款以简单、易用、高性能为目标的开源时序数据库。本篇介绍如何让松果时序数据库以最佳的性能运行。要获取其他信息请参考官方网站或开源仓库,当然,若有好的意见...

2019/09/05 16:21
137
0
松果时序数据库(PinusDB)数据写入测试报告

松果时序数据库(PinusDB)是一款以简单、易用、高性能为目标的开源时序数据库,本篇简单介绍松果时序数据库写入测试。要获取其他信息请参考官方网站或开源仓库,当然,若有好的意见或建议也可...

2019/09/07 22:56
71
0
松果时序数据库压缩文件格式

松果时序数据库将每个表、每天的数据存储在一个数据文件中,数据文件分为普通文件和压缩文件,他们的特点如下: 普通文件:支持写入,占用较多的磁盘空间;文件以页为单位进行管理,每个数据...

2019/09/27 16:23
118
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部