目录:
1、Hologres
2、技术架构
3、适用场景
4、验证
1、Hologres
阿里的Hologres推出后,受到了很多关注,以几个方面的因素:
1)Hologres作为MPP架构的一款大数据存储分析引擎,提供了很好的性能支撑;
2)确实是解决了很多客户的问题,有一些大数据高并发的场景也能适用;
3)是相较于ADB的产品,从官方资料方面,确实有很多的提升,但验证的结果如何,还是各有千秋;
我们来看看官方的介绍:
Hologres是阿里巴巴自主研发的一款交互式分析产品,兼容PostgreSQL 11协议,与大数据生态无缝连接,支持高并发和低延时地分析处理PB级数据。具体有加速MaxCompute、实时数仓、数仓服务化、兼容PGSQL协议等核心功能
1)加速查询MaxCompute数据。
Hologres与MaxCompute在底层无缝连接,您无须移动数据,即可使用标准的PostgreSQL语句查询分析MaxCompute中的海量数据,快速获取查询结果。
您也可以使用Hologres共享集群(MaxCompute BI加速版)加速查询MaxCompute的数据。
2)快速搭建实时数据仓库
Hologres深度集成实时计算Flink版,支持高并发地实时写入和实时查询数据,帮助您快速搭建企业实时数据仓库。
3)数据仓库服务化,Hologres数据仓库的服务化体现如下:
支持行存储和列存储两种存储模式。
优化了高并发和复杂的查询场景,为PB级数据的查询提供秒级查询响应。
支持交互式和服务式的多种查询场景。
4)无缝对接主流BI工具
Hologres兼容PostgreSQL协议,提供JDBC或ODBC接口。您可以将查询到的海量数据轻松对接各种BI工具,实现探索式多维分析,无需迁移数据即可支持更丰富的应用场景。
2、技术架构
Hologres是一款MPP架构,计算与存储分离的分析、服务一体化(HSAP:Hybrid Serving & Analytical Processing)的一站式实时数仓,可以进行更好的多维分析、更好的点查、更简的运维。
分为计算、存储2个部分:
存储:通过数据分片(Shard),发挥分布式的优势,提升MPP的计算性能;行列共存,列存提供分析友好性,行存提供点查的性能;一个Tablet一个Writer多个Reader,弱一致性需求,原子写和Read your write,无写入阻塞;LSM-like,高吞吐写入,支持更新,写入即可见;支持先写WAL,再写内存,再写文件,提升写入速度。
计算:通过多级缓存,并通过轻量级调度框架HOS,基于数据存储分片机制,利用MPP的并行计算的特性,充分挖掘各节点的计算能力,提升数据的计算处理能力;行存的QPS能达10万+,列存的QPS能达1K。
3、适用场景
1)实时数仓
通过实时的采集数据,通过Flink实时计算,由于Hologres与Flink集成好,可以直接将数据写入到Hologres中,然后利用Hologres的查询引擎高并行低延迟的特性,快速进行数据实时大屏、实时监控预警、实时风控、实时推荐、实时训练等。
2)MaxCompute加速查询
数据进行离线清洗,记录在MaxCompute中,Hologres可以直接通过外表的方式,对MaxCompute的数据进行查询,如果需要更高的性能,则可以将数据导入到Hologres中更高性能的查询处理。如果是前一种方式,则可以在数据不输出的情况下,对离线数据进行查询分析。
3)联邦查询分析
对于前面2种数据,离线和实时的数据,离线即冷数据、实时即热数据。Hologres可以进行联邦分析,对接BI工具,快速响应简单与复杂查询的业务场景需求(对性能要求不是太高)。
上面3种场景介绍,应该比较系统全面,个人认为核心的场景还是在实时数仓方面,毕竟这个是需求量和价值最大的场景,特别是在高并发低延迟的强需求情况下,大家对于Hologres或者说是一款实时数仓产品是望眼欲穿,等米下锅的地步。对于加速查询和联邦查询,适用于性能不是特别高的场景,这类场景是存在的,确实也很好的解决了实际的需求,但不多,形成不了大的影响力,除非在查询性能方面有比较大的提升。如果要性能有比较大的提升,还是要将数据同步到Hologres,利用高效磁盘、各类缓存、充分发挥MPP的优势,否则这些优势都用不上的话,是无法满足实时场景的要求的。
4、验证
进行了简单的验证,核心是针对查询、写入进行,因为DB最大的2个指标就是查询性能和写入性能,瓶颈一般也在此。
1)查询:采取与阿里同类产品ADB进行对比,基于目前实际的业务场景,包括简单及复杂SQL,基本能有2~4倍的提升。这个结果还是在预料之中,但相比阿里工程师宣称的10倍以上的提升,还是有些差距。不过验证配置不一样,场景不一样,是可以理解,后续可以针对性交流,应该是可以再提升的。
2)写入:之前在ADB的环境上,当写入时长长,特别是查询业务上来后,写入性能有几倍的降速。因为MPP架构,资源是固定的,写入与查询出现资源的抢占也非常正常。此性能指标也略高于ADB。具体还是需要看业务综合使用后的性能指标。
总的来说,初步验证结果还是符合预期,期待后续进一步深入交流调优后,会有更好的表现。如果能很好的替换ADB,同时在实时数仓、离线加速查询及联邦查询各方面都有很好的支持,还是非常值得期待的。