当前位置: 首页 > 科技观察

市面上主流时序数据库盘点

时间:2023-03-21 12:20:02 科技观察

万物互联时代,工业物联网产生的数据量是传统信息化的数千甚至数万倍,而且是实时采集的,高频、高密度、动态的数据模型,随时变化。传统数据库在存储、查询和分析这些数据时供不应求。迫切需要一种针对时序数据进行优化的数据库系统,即时序数据库。时间序列数据库(TimeSeriesDatabase)是专门用于存储和管理时间序列数据的数据库。具有写多读少、冷热兼备、高并发写入、无事务需求、海量数据持续写入等特点。基于时间区间聚合分析和高效检索,广泛应用于物联网、经济金融、环境监测、工业制造、农业生产、软硬件系统监控等场景。▲DB-Engines最新时序数据库排行榜根据国际知名网站DB-Engines的数据显示,时序数据库在过去24个月中排名第一,远高于其他类型的数据库。可见业界对时序数据库的需求是迫切的。相应的时序数据库产品近年来也发展迅速。包括谷歌、阿里巴巴和亚马逊在内的主要互联网公司都推出了自己的时间序列数据库。业界广泛使用的时序数据库主要有以下几种:1.InfluxDB该语言编写的开源分布式时序、事件、指标数据库,无需外部依赖。数据库现在主要用于存储大量带时间戳的数据,例如DevOps监控数据、APP指标、loT传感器数据和实时分析数据。作为开源排名最高的时序数据库,InfluxDB支持数据存储策略(RP)和数据归档(CQ)。可实时查询,数据写入时索引后可立即检测。它具有内置的HTTP接口,易于安装和管理。简单且非常高效的读取和写入数据。2、kdb+kdb+/q官方号称世界上最快的时序数据库。它使用统一的数据库来处理实时数据和历史数据。它还具有CEP(复杂事件处理)引擎、内存数据库和磁盘数据库等功能。列式存储的特点使得对列的统计分析极其方便。与一般数据库或大数据平台相比,kdb+/q具有更快的速度和更低的总体拥有成本,非常适合海量数据处理。主要用于海量数据分析、高频交易、人工智能、物联网等领域。在对时延要求严格的金融领域,kdb+有着得天独厚的优势。3.PrometheusPrometheus是一个开源的系统监控报警框架,2012年由在SoundCloud工作的谷歌前员工创建,作为社区开源项目开发,2015年正式发布,次年正式加入云原生计算基金会.Prometheus作为新一代的监控框架,拥有强大的多维度数据模型,拥有多种可视化图形界面,使用pull方式采集时序数据,可以使用push网关将时序数据推送到普罗米修斯服务器。4.GraphiteGraphite是一个显示时间序列指标的开源实时图形系统。Graphite本身并不收集度量数据,而是像数据库一样,通过其后端接收度量数据,然后实时查询、转换和组合这些度量数据。Graphite支持内置的Web界面,允许用户浏览指标和图表。它由多个后端和前端组件组成。后端组件用于存储数值型时间序列数据,前端组件用于获取指标项数据并根据情况渲染图表。5、TimescaleDBTimescaleDB是唯一支持全SQL的开源时序数据库,针对支持全SQL的快速抽取和复杂查询进行了优化。它基于PostgreSQL,为时间序列数据提供了最好的NoSQL和关系世界。TimescaleDB使开发人员和组织能够利用其功能做更多事情:分析过去、了解现在和预测未来。在查询级别统一时间序列和关系数据可消除数据孤岛,并使演示和原型更易于实施。可扩展性和完整的SQL接口相结合,使员工能够对数据提出问题。6、阿里云时序数据库作为我国科技企业的代表,阿里云时序数据库也入围了DB-Engines榜单。TSDB是集时序数据高效读写、压缩存储、实时计算能力为一体的数据库服务。可广泛应用于物联网和互联网领域,实现对设备和业务服务的实时监控,预测告警。TSDB具备秒级写入百万级时序数据的性能,提供高压缩比低成本存储、预降采样、插值、多维聚合计算、可视化查询结果等功能。存储成本高,写入和查询分析效率低。