时序数据库选型

发布 : 2019-04-29 分类 : db 浏览 :

时序数据库选型

对比参考下面文章:

http://liubin.org/blog/2016/02/18/tsdb-intro/
http://liubin.org/blog/2016/02/25/tsdb-list-part-1/

基于SQL的时序数据库TimescaleDB:

https://yq.aliyun.com/articles/690676

实序数据库与关系数据库区别:

http://m.elecfans.com/article/863529.html

实时数据库与实序数据库区别:

https://dbaplus.cn/news-141-2562-1.html

一些概念

横坐标是时间,纵坐标较复杂,纵坐标由两种元素构成,分别是数据源和metric,数据源由一系列的标签(tag,也称为维度)唯一表示,图中数据源是一个广告数据源,这个数据源由publisher、advertiser、gender以及country四个维度值唯一表示,metric表示待收集的数据源指标。一个数据源通常会采集很多指标(metric),上图中广告数据源就采集了impressions、clicks以及revenue这三种指标,分别表示广告浏览量、广告点击率以及广告收入。

排名情况:

常见时序数据库对比

数据库 底层 排名 helm 阿里云 支持SQL grafana支持
OpenTSDB Hbase 6 不支持 支持 支持
KairosDB Cassandra 9 不支持 不支持 不支持
InfluxDB 1 支持 支持 类SQL 支持
TimescaleDB PostgreSQL 8 不支持 不支持 SQL PostgreSQL
CrateDB Elastic Search 不支持 不支持 ANSI SQL Elasticsearch
  • KairosDB是一个OpenTSDB的fork

  • InfluxDB 开发较活跃,排名分数远超其它数据库,单机版免费,集群版收费。

  • 阿里云支持的TSDB不兼容OpenTSDB

  • OpenTSDB 底层是Hbase,牵涉到hadoop,需要较强的运维能力。但它具有丰富的生态,大数据的基石。

    配合Hbase配合phoenix,也能满足标准数据库的基本功能。

  • TimescaleDB 支持标准SQL,在使用方面无需较多的培训。

  • CrateDB底层是ES,写入性能应该很好, 扩展性也应该不错

结果:

从生态和活跃度来说,倾向于OpenTSDB和InfluxDB这两种数据库,它们各有优缺点:

数据库 优点 缺点
OpenTSDB 基于hbase,开始hadoop生态,为后面项目垫定基础。符合大数据部门长远规划,hbase不但可用于存储时序数据也可以做为NoSql数据库存储flink的batch的结果。 需要较强的运维能力,阿里云上的TSDB与OpenTSDB接口上不兼容。生产环境也需要自己搭建。还有一种就是使用阿里云的Hbase,自己搭OpenTSDB连接云Hbase。
InfluxDB helm有chart包,可以无缝上公司的paas系统,阿里云也有对应的InfluxDB,也就满足测试环境使用paas,生产环境用云服务的需求。 仅做为时序数据库使用,其它的数据存储需要再引用一个关系型数据库才能满足flink 的batch结果需求。

最后选型InfluxDB基于下面原因:

  • 市场排名第一、且远超第2名
  • 运维方便,helm有官方的chart版本 ,可直接上paas,且阿里云也有云版本的InfluxDb
  • 生态较好,grafana等直接支持,metrics等框架也有相关插件支持直接入库,spring等结合较好等
  • 查询语法简单,功能强大,类SQL与SQL基本上一致。
  • 后端时序数据库设计,写入快,并不会出现关系数据库那种数据库那种数量大时查询变慢。
  • 采用SeriesKey设计,同一数据源的tags不会冗余存储。一个Block内的数据都共用一个SeriesKey,只需要将这个SeriesKey写入这个Block的Trailer部分就可以。大大降低了时序数据的存储量。

硬件参考

负载 每秒写入的字段数 每秒中等查询数 series数量
< 5千 <5 <10万
中等 <25万 <25 <1百万
>25万 >25 >1百万
相当高 >75万 >100 >1千万

低负载推荐

  • CPU:2~4核
  • 内存:2~4GB
  • IOPS:500

中等负载推荐

  • CPU:4~6核
  • 内存:8~32GB
  • IOPS:500~1000

高负载推荐

  • CPU:8+核
  • 内存:32+GB
  • IOPS:1000+

超高负载

要达到这个范围挑战很大,甚至可能不能完成;联系t sales@influxdb.com寻求专业帮助吧。

本文作者 : andy.zhou
原文链接 : https://rjzjh.gitee.io/2019/04/29/other/flink-seqDb/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

知识 & 情怀 | 二者兼得

微信扫一扫, 向我投食

微信扫一扫, 向我投食

支付宝扫一扫, 向我投食

支付宝扫一扫, 向我投食

留下足迹