你需要的不是实时数仓 | 你需要的是一款强大的OLAP数据库(下) (4)

与其他的时序数据库类似,Druid在查询条件命中大量数据情况下可能会有性能问题,而且排序、聚合等能力普遍不太好,灵活性和扩展性不够,比如缺乏Join、子查询等。

我个人对Druid的理解在于,Druid保证数据实时写入,但查询上对SQL支持的不够完善(不支持Join),适合将清洗好的记录实时录入,然后迅速查询包含历史的结果,在我们目前的业务上没有实际应用。

Druid的应用可以参考:
《Druid 在有赞的使用场景及应用实践》https://blog.csdn.net/weixin_34273481/article/details/89238947

Greeplum

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的架构如下:

file

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上进行统一。

ClickHouse

https://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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwgdjj.html