各类数据库使用场景比较

clickhouse

列式数据库,其具有以下特点:
适合OLAP(on line analytical process)场景,支持各种数据统计分析场景;
单表查询能力性能超过其他类型OLAP数据库;
缺陷:
没有完整的事务支持;
修改与删除数据能力不足;

可以构建物化视图,进行数据预聚合;

Druid

适合OLAP场景;
时序数据库;
缺陷:
同influxdb一样,同样作为时序数据库,与clickhouse相比,**sql 查询分析能力不够完善**;

公司内部druid集群性能描述:
写入千万QPS;
查询十亿级数据,亚秒级返回;

influxdb

时序数据库, 特别适合处理与分析监控数据这种时序数据,但查询分析能力不强。
特点:
时序数据的写入性能不错,单机版也可以满足多数业务的需求, 适合小规模的业务数据存储需求;
对比OpenTSDB、Druid,部署与运维也相对简单;
支持类sql的查询;
性能推荐:
各类数据库使用场景比较_第1张图片
缺点:
集群版没有开源,需要收费;

OpenTSDB

基于HBase研发的数据库,用于公司整个metrics打点存储;
特点是:基于Hbase, 因此写入与存储能力很强大(scalable, 对比仅仅开源单机版的influxdb);

ElasticSearch

明细查询,全文检索;
实时;
非结构化数据;
相比时序数据库,搜索能力更强,而分析能力更弱, 而且成本比较高,写入能力与查询能力一般情况下不如时序数据库;

公司内部elasticsearch描述:
适合做日志分析,与logstash(数据预处理), kibana(数据可视化)共同组成完整的日志分析系统;
因为全文索引比较重, 写入能力相对较弱,支持50WQPS写入;

参考:各类时序数据库
各类数据库选择对比:
各类数据库使用场景比较_第2张图片

OLAP VS OLTP

OLTP(on line transaction process)场景, 适合该场景的数据库:mysql 等
OLAP(on line analytical process)场景,适合该处理场景的数据库: clickhouse 等

事实表

用来记录具体事件的

纬度表

纬度表为对时间表中事件要素的描述信息;代表了观察该事件的角度;
例如对于销售事实表,可以有5个不同的纬度表与其对应;
各类数据库使用场景比较_第3张图片

Cube

cube 是dimension(纬度)的组合, 是经过大量聚类运算好的加以特定方式存储的多维报表;
参考:Cube正方体

你可能感兴趣的:(存储)