PinusDB概述
随着互联网的发展,计算机硬件价格下降、体积小型化使得智能设备大量普及,例如:手环、共享单车、智能电表、环境监测设备、新能源汽车、汽车充电桩等等,这些设备在运营过程中会持续产生数据;针对这些数据的分析能为企业决策、产品升级、智能调度等提供了数据支撑,人类也将步入智能时代。由于智能设备数量巨大,这就对传统数据处理方式提出了挑战。
松果时序数据库(以下也称PinusDB)是一个开源的时间序列数据库。以简单、易用、高性能为目标,解决中小规模物联网场景设备数据存储,查询。 松果时序数据库服务仅包含大约3万行C++代码,虽然代码量少但也提供了丰富的功能、较高的性能。松果时序数据库针对物联网智能设备数据特点研发的具备高压缩比、高性能的时序数据库。广泛应用于物联网设备、智慧城市、智慧物流、环境监测等数据处理。PinusDB针对传感数据基于时序的特点使用特殊的方式处理、存储。解决海量物联网设备高频率数据处理,经过特有的压缩算法降低数据存储空间90%以上,降低企业运维、管理成本。PinusDB具有简单易用、功能强大、性能优越、安全稳定,轻松处理海量物联网数据等特点。
松果时序数据库支持常用的 bool, bigint, dtetime, double, string, blob 数据类型。
时序数据:持续产生的一系列数据。例如:监测某台电梯时,每秒采集一次电梯状态的值而产生的一系列数据。
![17481366db716ef73bb2315601efd6f2.png](https://i-blog.csdnimg.cn/blog_migrate/3b6b58f0a0413c7c8e719b4c5a31f216.jpeg)
PinusDB优势
高压缩比
针对时序数据的特点,采用独特的压缩算法,大大降低历史数据存储空间,一般能将数据存储空间压缩到原来的10%甚至更低。数据库将历史数据进行整理、压缩,每个设备的数据连续存放, 查询历史数据时对磁盘进行顺序读取,极大提高查询性能。提供real系列数据类型,极大提高对浮点数的压缩率。
高性能
具备高效的读写能力,普通PC机写入性能超过20万条/秒,支持交互式查询。在i3-7100, 8G 内存,1TB HDD windows server 2016 环境下,每条数据8个字段,达到每秒20万条数据写入。 内存中数据统计超过1500万条每秒。根据设备及时间在千亿级数据量下查询历史数据响应在100毫秒以下。
大容量
单表存储千亿级数据量。数据库将每个表、每天的数据存储为一个文件,单表能存储千亿级数据。 根据时间查询数据时,仅仅查询相关的文件,提高查询性能。
数据安全
插入数据时先写commit日志,每隔3秒或写入达到2M时刷到磁盘。 系统异常宕机或断电后从commit日志恢复数据,最多丢失3秒内或少于2M的数据。
稳定可靠
更新数据到数据文件时,采用DoubleWrite机制,避免写入过程中异常宕机导致的数据页损坏。
强大的历史数据管理
数据库将数据以天为单位存储为一个个单独的文件。并且,可以以天为单位对历史数据进行删除、附加、分离等操作。
简单易用
简单、开源,松果时序数据库是代码量最少的时序数据库, 用户可以在较短的时间内学习、理解所有的代码,并定制化开发一些特殊的功能。基于类似关系库表的数据模型,理解、使用更简单。用户使用类似标准SQL进行数据操作,数据筛选、统计更方便。
图形管理工具PDBManager
PDBManager是松果时序数据库的系统管理工具,用户可以使用该工具便捷浏览松果时序数据库的表、创建数据表、执行sql语句、保存sql语句以及保存查询结果。管理工具主界面如下所示。
![1e52b02627a6bb12ba1f09aaa1d6a7b8.png](https://i-blog.csdnimg.cn/blog_migrate/f652beb2d7a0f43857f4adf1b4bfad00.jpeg)
系统限制
- 单台数据库最多同时打开32个表
- 数据表名不能以sys_开头
- 表名长度:小于48字节
- 字段名长度:小于48字节
- 用户名长度:小于48字节
- 设备名长度:小于96字节
- 设备扩展属性长度(sys_dev表expand字段):小于128字节
- 单条数据长度: 小于8KB
- 一个表最多包含860个字段
- 单次写入最大记录数:1000条
- 单次写入最大报文长度:4MB
- 单次查询最大记录数:10000条