关注微信公众号:全栈888
在万物互联时代,工业物联网产生的数据量是传统信息化的几千倍到几万倍,而且实时采集、高频率、高密度,动态数据模型随时可变。 传统的数据库对这些数据的存储、查询、分析等处理操作都捉襟见肘,迫切需要专门针对时序数据进行优化的数据库系统,即时序数据库。
时序数据库(Time Series Database )是一种用于存储和管理时序数据的专业化数据库,具有泛读少读、冷热分辨、高并发写入、无事务要求、海量数据连续写入等特点。 它被广泛应用于物联网、经济金融、环境监测、工业制造、农业生产、软硬件系统监测等方面。
DB-Engines最新发布的时间序列数据库排行榜表
根据国际知名网站DB-Engines的数据,时间序列数据库在过去24个月中排名首位,远高于其他类型的数据库,可见业界对时间序列数据库的需求很迫切。 支持的时序数据库产品近年来也发展迅速,各大互联网企业包括谷歌、阿里巴巴、亚马逊都推出了自己的时序数据库,行业使用较多的时序数据库主要包括:
1、InfluxDB
InfluxDB是一个以Go语言编写的开源分布式计时、事件和指标数据库,不需要外部依赖。 该数据库目前主要用于存储大量的时间戳数据,包括DevOps监测数据、APP metrics、loT传感器数据和实时分析数据。
作为当前开源、排名最高的时间序列数据库,InfluxDB支持数据存储策略(RP )和数据归档(CQ ),可实时查询,数据在写入时立即被索引
2、Kdb
kdb /q被官方称为世界上最快的时序数据库,它使用统一的数据库处理实时和历史数据,并具有复杂的事件处理(CEP )引擎、内存数据库和磁盘数据库等功能由于列存储的特性,某列的统计分析操作非常方便。
与一般的数据库和大数据平台相比,kdb /q非常适合于高速、低总拥有成本、海量数据处理,主要应用于海量数据分析、高频交易、人工智能、物联网等领域。 在对延迟性要求严格的金融领域,kdb具有独特的优势。
3、Prometheus
Prometheus是一个开源系统监控报警框架,由在SoundCloud工作的谷歌前员工于2012年创建,作为社区开源项目开发,2015年正式发布,次年SoundCloud
作为新一代的监控框架,Prometheus具有强大的多维数据模型,有多种可视化图形界面,使用pull模式采集时间序列数据,采用push gateway方式对时间序列数据进行Prometheus
4、Graphite
Graphite是开源实时显示时间序列的测量数据的图形系统。 sprite就像一个数据库,它在后端接收度量数据并实时查询、转换和联接,而不是收集度量数据本身。
Graphite支持嵌入式Web界面,用户可以查看测量数据和图。 它由多个后端和前端组件组成。 后端组件用于存储基于数值的时序数据,前端组件用于获取指标项数据,并根据需要渲染图表。
5、时间scale db
TimescaleDB是唯一支持完整SQL的开源时间序列数据库,针对支持完整SQL的快速提取和复杂查询进行了优化。 基于PostgreSQL,为时序数据提供最好的NoSQL和Relational世界。
通过TimescaleDB,开发人员和组织可以更多地利用分析过去、理解现在和预测未来这一功能。 在查询级别统一时序数据和关系数据,可以消除数据孤岛,方便地实现演示和原型。 通过将可扩展性与完整的SQL接口相结合,员工可以提出数据问题。
6、AlibabaCloud (阿里巴巴云) TSDB
作为我国科技公司的代表,AlibabaCloud (阿里巴巴云)时序数据库也进入DB-Engines排行榜。 TSDB是一种集时序数据高效读写、压缩存储、实时计算能力于一体的数据库服务,可广泛应用于物联网和互联网领域,实现设备和业务服务的实时监测、预警预测。
TSDB具有每秒写入百万级时序数据的能力,提供高压缩比、低成本存储、预下采样、插值、多维聚合计算、查询结果可视化等功能,设备采集点数量巨大、数据采集频率高带来的存储成本
- END -
请阅读:
Spring的18条评论,那些你没用过吗?
抽象、低凝聚、难以更改,你还在用“堆栈”组织代码吗?
如何解决顶- k问题
update语句的执行过程
了解Mysql的执行流程和执行顺序
你真的考虑过什么是体系结构吗?
表分页符/库之间的分页符为什么这么难?
墙壁破裂推荐:灰常用的绘画道具
: fullstack888
学习体系结构知识
互联网后端体系结构