与其他的时序数据库类似,Druid在查询条件命中大量数据情况下可能会有性能问题,而且排序、聚合等能力普遍不太好,灵活性和扩展性不够,比如缺乏Join、子查询等。
我个人对Druid的理解在于,Druid保证数据实时写入,但查询上对SQL支持的不够完善(不支持Join),适合将清洗好的记录实时录入,然后迅速查询包含历史的结果,在我们目前的业务上没有实际应用。
Druid的应用可以参考:
《Druid 在有赞的使用场景及应用实践》https://blog.csdn.net/weixin_34273481/article/details/89238947
https://greenplum.org/
https://blog.csdn.net/yongshenghuang/article/details/84925941
https://www.jianshu.com/p/b5c85cadb362
Greenplum是一个开源的大规模并行数据分析引擎。借助MPP架构,在大型数据集上执行复杂SQL分析的速度比很多解决方案都要快。
GPDB完全支持ANSI SQL 2008标准和SQL OLAP 2003 扩展;从应用编程接口上讲,它支持ODBC和JDBC。完善的标准支持使得系统开发、维护和管理都大为方便。支持分布式事务,支持ACID。保证数据的强一致性。做为分布式数据库,拥有良好的线性扩展能力。GPDB有完善的生态系统,可以与很多企业级产品集成,譬如SAS,Cognos,Informatic,Tableau等;也可以很多种开源软件集成,譬如Pentaho,Talend 等。
GreenPulm的架构如下:
GreenPulm的技术特点如下:
支持海量数据存储和处理
支持Just In Time BI:通过准实时、实时的数据加载方式,实现数据仓库的实时更新,进而实现动态数据仓库(ADW),基于动态数据仓库,业务用户能对当前业务数据进行BI实时分析(Just In Time BI)
支持主流的sql语法,使用起来十分方便,学习成本低
扩展性好,支持多语言的自定义函数和自定义类型等
提供了大量的维护工具,使用维护起来很方便
支持线性扩展:采用MPP并行处理架构。在MPP结构中增加节点就可以线性提供系统的存储容量和处理能力
较好的并发支持及高可用性支持除了提供硬件级的Raid技术外,还提供数据库层Mirror机制保护,提供Master/Stand by机制进行主节点容错,当主节点发生错误时,可以切换到Stand by节点继续服务
支持MapReduce
数据库内部压缩
一个重要的信息:Greenplum基于Postgresql,也就是说GreenPulm和TiDB的定位类似,想要在OLTP和OLAP上进行统一。
ClickHousehttps://clickhouse.yandex/
https://clickhouse.yandex/docs/zh/development/architecture/
https://www.jianshu.com/p/a5bf490247ea
官网对ClickHouse的介绍:
ClickHouse is an open source column-oriented database management system capable of real time generation of analytical data reports using SQL queries.Clickhouse由俄罗斯yandex公司开发。专为在线数据分析而设计。Yandex是俄罗斯搜索引擎公司。官方提供的文档表名,ClickHouse 日处理记录数"十亿级"。
特性:采用列式存储;数据压缩;支持分片,并且同一个计算任务会在不同分片上并行执行,计算完成后会将结果汇总;支持SQL;支持联表查询;支持实时更新;自动多副本同步;支持索引;分布式存储查询。
大家都Nginx不陌生吧,战斗民族开源的软件普遍的特点包括:轻量级,快。
ClickHouse最大的特点就是快,快,快,重要的话说三遍!
与Hadoop、Spark这些巨无霸组件相比,ClickHouse很轻量级,其特点:
列式存储数据库,数据压缩
关系型、支持SQL
分布式并行计算,把单机性能压榨到极限
高可用
数据量级在PB级别
实时数据更新
索引
使用ClickHouse也有其本身的限制,包括:
缺少高频率,低延迟的修改或删除已存在数据的能力。仅能用于批量删除或修改数据。
没有完整的事务支持
不支持二级索引
有限的SQL支持,join实现与众不同
不支持窗口功能
元数据管理需要人工干预维护
总结上面给出了常用的一些OLAP引擎,它们各自有各自的特点,我们将其分组:
Hive,Hawq,Impala - 基于SQL on Hadoop
Presto和Spark SQL类似 - 基于内存解析SQL生成执行计划
Kylin - 用空间换时间,预计算
Druid - 一个支持数据的实时摄入
ClickHouse - OLAP领域的Hbase,单表查询性能优势巨大
Greenpulm - OLAP领域的Postgresql