- 1 数据库概述
- 1.1 DBMS 简史
- 1.2 数据库理论
- 1.3 事务 Transaction
- 1.4 SQL
- 1.5 数据库接口
- 本章参考
- 2 Relational 关系数据库
- 2.1 关系理论
- 2.2 Oracle
- 2.5 Microsoft SQL Server
- 2.6 DB2
- RDBS 比较
- 本章参考
- 3 NoSQL 非关系数据库
- 3.1 NoSQL 分类
- 3.2 键值 key-value 数据库
- 3.3 列存储数据库
- 3.4 图形数据库
- 本章参考
- 4 NewSQL
- 4.1 NewSQL 分类
- 4.2 分布式数据库 Distributed
- 本章参考
- 5 时序数据库 TSDB
- 5.1 简介
- 5.2 时序数据库比较
- 本章参考
- 6 SQL 引擎
- 6.1 SQL 引擎分类
- 6.2 SQL On Hadoop
- 本章参考
- 7 其它数据库
- 7.1 内存数据库 In-memory
- 7.2 嵌入式数据库 Embed
- 7.3 搜索引擎
- 本章参考
- 8 各种数据库分析比较
- 8.1 数据库排行 db-engines
- 8.2 数据库技术选型
- 8.3 DB 性能比较
- 8.4 国产数据库产品列表
- 8.5 DB 常用 SQL 比较
- 本章参考
- 9 SQL 调优
- 9.1 SQL JOIN
- 9.2 SQL 执行流程
- 10 数据库大型应用实例
- 10.1 负载均衡技术
- 10.2 数据库的高可用 HA
- 10.3 数据库的读写分离
- 10.4 数据库拆分(分布式)
- 10.5 跨库查询
- 本章参考
- 参考资料
- 附录
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
5.2 时序数据库比较
图 8 时序数据库发展简史
表格 30 时序数据发展史
简介 | 示例 | |
---|---|---|
第一代 | 来源于监控领域,数据模型比较单一,单机容量受限,并且内嵌于监控告警方案。 | RRDTool,Wishper |
基于通用存储 | 继承通用存储优势的基础上,利用时序的特性规避部分通用存储的劣势,并且在数据模型,聚合分析方面做了贴合时序的大量创新。 | OpenTSDB,KairosDB |
垂直型 TSDB | 具备更加高级的数据处理能力,高效的压缩算法和符合时序特征的存储引擎。 | InfluxDB、 |
表格 时序数据库简介
类别 | TSDB | 简介 |
---|---|---|
公有云 | AWS Timestream | 2018.11 Amazon 在 AWS re Invent 大会发布 Timestream 预览版。适用于 IoT 和运营应用程序等场景。阿里云 TSDB。 |
公有云 | Azure Series Insights | 2017.4 Microsoft 发布时序见解预览版,提供的完全托管、端到端的存储和查询高度情景化 loT 时序数据解决方案。强大的可视化效果用于基于资产的数据见解 和丰富的交互式临时数据分析。 针对数据类型分为暖数据分析和原始数据分析,按照存储空间和查询量分别计费。 |
开源 | OpenTSDB | 一个分布式的、可伸缩的时间序列数据库. 引入 metric,tags 等概念设计了一套针对时序场景的数据模型,底层采用 HBase 作为存储,利用时序场景的特性,采用特殊的 rowkey 方式,来提高时序的聚合和查询能力。 |
Prometheus | Prometheus 是一套开源的监控、报警和时间序列数据库的组合,成立于 2012 年,由 SoundCloud 公司开发,此后许多组织接受和采用了 Prometheus,遂将其独立为开源项目。该项目使用 Go 语言开发,社区氛围非常活跃。 会将所有采集到的样本数据以时间序列(time-series)的方式保存在内存数据库中,并且定时保存到硬盘上。需要远端存储来保证可靠和扩展性。 | |
InfluxDB | 单机开源的时序数据库,由 Go 语言编写,无需特殊的环境依赖,简单方便。采用独有的 TSMT 结构实现高性能的读写。分布式需要商业化支持。 | |
Timescale | 面向 SQL 生态的时序数据库,固定 Schema,底层基于 PG,按时间管理 chunk table。 | |
Graphite | 2006 年开源,python 实现。 | |
学术 | BTrDB | 面向高精度时序数据的存储应用,设计并提出了 "time-partitioning version-annotated copy-on-write tree" 的数据结构,为每一条时间线构建了一棵树,并且引入版本的概念处理数据的乱序场景。 |
Confluo | 设计了新型的数据结构”Atomic MultiLog“,采用现代 CPU 硬件支持的原子指令集,支持百万级数据点高并发写入,毫秒级在线查询,占用很少的的 CPU 资源实现即席查询。 | |
Chronixdb | 基于 Solr 提供了时序存储,并且实现了特有的无损压缩算法,可以与 Spark 集成,提供丰富的时序分析能力。 | |
商业&工业 | PI | OSI 软件公司开发的大型实时数据库,广泛应用于电力,化工等行业,采用了旋转门压缩专利技术和独到的二次过滤技术,使进入到 PI 数据库的数据经过了最有效的压缩,极大地节省了硬盘空间。 |
KDB | Kx System 开发的时间序列数据库,通常用于处理交易行情相关数据。支持流、内存计算和实时分析 Billion 级别的记录以及快速访问 TB 级别的历史数据。 | |
Gorilla | Facebook 的一个基于内存的时序数据库,采用了一种新的时间序列压缩算法。可以将数据从 16 字节压缩到平均 1.37 字节,缩小 12 倍.并且 设计了针对压缩算法的内存数据结构.在保持对单个时间序列进行时间段查找的同时也能快速和高效的进行全数据扫描。 通过将时间序列数据写到不同地域的主机中,容忍单节点故障,网络切换,甚至是整个数据中心故障。 |
表格 31 主流时序数据库的功能比较
TSDB | 简介 | 适用场景 | 实时 | 聚合分析 | 类 SQL | 维护 | 集群 |
---|---|---|---|---|---|---|---|
Graphite | 提供丰富函数支持 支持自动 Downsample 对 Grafana 的支持最好。 性能较差:whisper 存储引擎 IOPS 高;carbon 组件 CPU 利用率高。 | 弱 | 弱 | 简单 | |||
InfluxDB | metric + Tags;实时数据 Downsample;高效存储。 缺点是存在前后版本兼容问题。 | 弱 | 弱 | 简单 | 开源版无 | ||
OpenTSDB | metric + Tags;集群方案成熟 | 弱 | 弱 | 复杂 | √ | ||
Prometheus | metric + Tags;适用于容器监控; 丰富查询 | 弱 | 弱 | 简单 | 无 | ||
Druid | 嵌套列式存储;分布式容错架构 | √ | 强 | √ | 复杂 | ||
ElasticSearch | 全文检索;支持查询原始数据; 灵活性高、社区活跃。 缺点是无列式;硬件资源要求高。 | 强 | 复杂 | ||||
ClickHouse | 分布式容错; 缺点是较年轻,不支持数据更新和删除。 | √ | 强 | √ | 弱 |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论