pinusdb —— 高性能的时序数据库
松果时序数据库(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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
每日一博 | CNN 一定需要池化层吗?
❝ 【GiantPandaCV导语】这是一篇ICLR2015的论文,文章针对现有网络设计,探索了「最大池化层是否能被卷积层给完全替代」。作者在 CIFAR10/100 数据集上设计了一系列对比实验,从而得出可以在不损失精度下,将最大池化层替换成卷积层的结论。 ❞ 1. 前言 在现有的网络结构设计指导下,似乎卷积层后跟一个池化层下采样,已经是一个准则。我们重新思考了现有SOTA网络,并得出结论最大池化层是能被卷积层给替代。我们设计了一系列小网络,并提出了一种新的「反卷积方法」来去可视化CNN学习到的特征 2. 模型描述 为了理解池化层和卷积层为什么有效,我们返回到公式里面 我们令 「f为特征图」,W, H, N分别是特征图的「宽,高,通道数」对于一般的池化窗口为K的p范数下采样,我们有而对于一般的卷积层,我们需要设定一个权重,进行相乘,并将多个通道结果进行相加。最后再通过激活函数进行激活,形式如下「θ代表的是卷积核权重」, 从1到N求和,「代表是对多个特征图的卷积窗口进行求和」 这里有个细节需要强调下:「池化层是分别对每张特征图做池化/P范数操作」而卷积层在多通道情况下,「是通过相加各个...
- 下一篇
求职中最吃香的编程语言:JavaScript、Java 和 Python
程序员培训公司 CodinGame发布的一份开发人员调查报告显示,在开发人员招聘中,拥有 JavaScript、Java 和 Python三大编程语言技能的开发人员最受招聘经理欢迎。 该报告基于对全球近 15,000 名开发人员和人力资源专业人员的调查。报告显示,每 10 个招聘者中就有 6 个(60%)认为科技公司对 JavaScript、Java 和Python 有“强烈的需求”。其中,JavaScript人气最高,有62%的受访者认可了其重要性。紧随其后的是 59% 的受访者表示需要的 Java,和 48% 的受访者表示非常需要的 Python。 同时,报告还指出,某些编程语言在开发人员中很流行,但在招聘公司眼中却并不受重视。例如,有 45.1% 的开发人员表示他们使用 C 语言进行编程,但只有15.4% 的公司表示需要 C 语言进行开发。 同样,有 47% 的受访者使用 C++ 进行编程,但只有不到三分之一(27%)的公司表示需要 C++ 开发人员。对于 Python 来说也是如此:有 57% 的开发人员使用该语言进行编程,但只有不到一半的公司对此有很高的需求。 CodinGa...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群