当前位置: 首页 > news >正文

数据库 | 时序数据库选型

选型目标

  • 高性能与低延迟:满足高频率数据写入与即时查询的需求。
  • 资源效率:优化存储空间使用,减少计算资源消耗。
  • 可扩展架构:支持数据量增长带来的扩展需求,易于维护。
  • 社区活跃度:有活跃的开发者社区,确保问题快速响应和持续更新。
  • 生态集成:良好地与现有工具链、监控系统及可视化平台集成。

市场主流时序数据库概览

排名参考:DB-Engines Ranking - popularity ranking of time Series DBMS

image.png

国内排名参考:中国数据库排行 - 墨天轮
image.png

1. InfluxDB(MIT)

  • 特点:专为时序数据设计,InfluxQL提供类SQL查询语法,支持集群模式。
  • 优势:写入与查询性能优秀,广泛应用于监控与IoT领域。
  • 局限性:高级特性与企业级支持需InfluxDB Cloud或企业版。

2. Prometheus(Apache License 2.0)

  • 特点:一套完整的监控与告警解决方案,PromQL查询语言强大。
  • 优势:轻量级,适用于微服务架构,生态丰富,与Kubernetes集成紧密。
  • 局限性:主要面向监控,复杂数据分析能力相对有限。

3. TimescaleDB(Apache License 2.0+TSL)

  • 特点:基于PostgreSQL的扩展,提供全SQL支持,自动扩展分区,自动过期清理。
  • 优势:强大的SQL查询分析能力,易于与关系型数据集成。
  • 局限性:相比原生时序数据库如InfluxDB、TDengine大数据量时性能略低,存储占用空间更大。

4. TDengine(GNU AGPL v3.0)

  • 特点:专为物联网优化,集成了数据库、缓存、流处理于一体。
  • 优势:极高性能,存储效率高,支持SQL查询,易于部署与管理。
  • 局限性:虽然生态在迅速成长,但相比一些成熟项目,社区规模和工具链可能较小。

5. IoTDB(Apache License 2.0)

  • 特点:面向工业互联网,轻量级,支持复杂查询与存储优化。
  • 优势:专为时序数据设计的存储模型,支持高效批量写入与查询。
  • 局限性:相较于某些成熟数据库,文档和社区支持可能不够丰富。

6. OpenGemini(Apache License 2.0)

  • 特点:华为开源的分布式时序数据库,聚焦海量数据存储与分析。
  • 优势:针对时序数据优化,简化架构,降低成本,提升效率。
  • 局限性:相对较新,社区与生态仍在发展中。

推荐方案

TimescaleDB(基础版Apache License 2.0协议,社区版Timescale License (TSL)协议,即可以企业内部部署用,不能作为云服务对外售卖。社区版比基础版多一些高级功能,比如分区压缩,集群部署功能。)

  • 灵活性:TimescaleDB支持标准SQL,对于习惯SQL的团队来说更容易上手,且能更好地与现有的分析工具和框架集成(我们的业务存在多指标关联分析行转列等需求可以方便处理)。
  • 扩展性:作为PostgreSQL的扩展,TimescaleDB继承了其强大的生态系统和可扩展性,适用于从小型到超大规模的数据集(比如大模型需要的向量数据库和搜索场景需要的倒排索引和相关性排序)。
  • 运维与学习成本:如果团队对PostgreSQL或Mysql熟悉,转向TimescaleDB的迁移成本相对较低。
  • 生产成本:同时支持关系表和时序表,不需要部署两套数据库。
    image.png
    image.png
    timescaledb性能初步测试

国产备选方案

IoTDB(Apache License 2.0协议)

  • **低成本、高性能:**数千万点写入吞吐量,压缩比高(官方数据1:10无损压缩,实测可以做到1:5),可大大节省服务器硬件成本。
  • **易用性,跨平台部署:**仅依靠 JDK/JRE,开箱即用,比较方便集群部署,降低运维成本。
  • **多样化的数据处理和分析方法:**与Apache PLC4X、Apache Pulsar、Apache Flink、Apache Spark、Apache Zeppelin、Grafana等集成,构建完整的开源软件生态,丰富的数据分析功能,如触发器、用户定义功能 (UDF)、选择进入、连续查询等。
  • 低成本迁移:通过适配器与各种TSDB(InfluxDB,Prometheus,KairosDB等)兼容
  • 相对比较新,文档比较少
  • SQL支持能力比较弱,一下复杂查询支持有限(比如不支持group by作为子查询)
    IotDB性能初步测试
    TDengine(Apache License 2.0协议)
  • 性能:TDengine设计之初就针对物联网和大规模时序数据进行了优化,能提供极高的写入与查询性能。
  • 集成度高:内置缓存、流处理功能减少了额外组件的部署与维护,简化架构。
  • 成本效率:高效存储机制有助于降低长期的存储成本。
  • 易用性:支持SQL查询,便于开发与维护,同时有较好的管理工具。
  • 性能对比:基于 TSBS 标准数据集时序数据库 TimescaleDB、InfluxDB 与 TDengine 的性能对比测试
    image.png
    image.png

实施计划与风险评估

实施步骤

  1. 技术验证:在隔离环境中搭建时序数据库,进行功能与性能测试。
  2. 迁移策略:设计数据迁移计划,包括数据格式转换和验证。
  3. 系统集成:与现有监控、分析工具对接,确保数据流转无阻。
  4. 培训与文档:组织内部培训,编写操作指南和故障排查手册。

风险评估

  • 技术迁移风险:需关注数据迁移过程中可能出现的数据一致性问题。
  • 性能匹配风险:实际应用中的性能需经过充分测试验证。
  • 社区支持风险:社区活跃度,特定问题的解决速度仍需评估。

结论

鉴于现用数据库MariaDB迁移到TimescaleDB成本低(TimescaleDB扩展于PostgreSQL,而MariaDB和PostgreSQL大部分兼容),TimescaleDB在性能方面能够满足业务需求同时支持关系数据库的业务场景,选TimescaleDB作为当前时序数据库比较合适。后续如果有部分场景对性能有极致要求可以考虑IoTDB等纯时序数据库。

相关文章:

  • EXCEL中的TEXTJOIN用法(基础版),将Excel 多个单元格内容按条件合并到一个单元格
  • YOLOX 的动态标签分类(如 SimOTA)与 Anchor-free 机制解析2025.5.29
  • 变更数据捕获(CDC)与流处理引擎实现医疗数据实时同步(上)
  • 国产 BIM 软件万翼斗拱的技术突破与现实差距 —— 在创新与迭代中寻找破局之路
  • 《DeepSeek R1 新发布,AI再掀波澜》
  • Onvif协议:IPC客户端开发-IPC相机控制(c语言版)
  • 【论文精读】2024 ECCV--MGLD-VSR现实世界视频超分辨率(RealWorld VSR)
  • 进行性核上性麻痹健康护理全指南:从症状管理到生活照护
  • 广告流量监测和IP地址离线库
  • 从 “金屋藏娇” 到 自然语言处理(NLP)
  • 【第4章 图像与视频】4.2 图像的缩放
  • XMOS以全新智能音频及边缘AI技术亮相广州国际专业灯光音响展
  • vue计算属性computed的详解
  • C语言的函数调用,允许参数缺省和乱序
  • python----下载安装,配置环境
  • mkdir: cannot create directory ‘gitlab-stu’: No space left on device
  • Python基于Django的高校社团学生会管理系统【附源码、文档说明】
  • 【QQ音乐】sign签名| data参数加密 | AES-GCM加密 | webpack实战 (下)
  • 前端工程化 Source Map(源码映射)详解
  • React 微应用接入:qiankun 深度集成实战
  • 天津做公司的网站/南宁seo优化公司排名
  • 上海网站域名备案处/百度推广做二级域名
  • 中国城乡住房建设部网站/下载百度app
  • 阿里云空间做的网站不收录/数字营销成功案例
  • 成品网站怎样建设/seo技术外包 乐云践新专家
  • vs2008做网站/seo推广的网站和平台有哪些