Greenplum在HTAP场景下的优化和应用

 近日,由DataFun主办的DataFun Summit——大数据存储架构峰会如约而至。作为全球超融合时序数据库的开创者,yMatrix(四维纵横)受邀出席了此次峰会并发表了主题演讲。小M助手已经帮大家把精华内容整理成了文章供大家回顾,欢迎各位关注。

大家早上好,我是四维纵横(https://www.ymatrix.cn)联合创始人高小明。创立四维纵横前我是Greenplum全球产品总监,领导Greenplum北京产品团队,并兼任Greenplum内核团队的产品经理。 

今天非常荣幸和大家一起探讨HTAP和Greenplum(简称GP)。在2015年Gartner提出HTAP概念后,陆续有多款产品声称有HTAP能力。但技术圈也有一些声音,认为还没有一款数据库产品真正实现HTAP。Greenplum 6.0 于2019年发布后很受欢迎,一些客户在发布一两个月后就测试上线,最吸引他们的特性就是Greenplum 6实现的企业级大规模HTAP能力。今年我和我们同事也写了一篇介绍Greenplum 6.0 HTAP的论文,已被数据库领域的国际顶级会议SIGMOD接收。所以Greenplum的HTAP特性已被产业界和学术界所同时认可。接下来我就结合Greenplum 6 HTAP特性研发和应用的经历,分享下我们对数据库HTAP的认知。 

我的分享主要包含这样四部分内容,首先讨论下HTAP的来龙去脉,接下来介绍下GP的AP特长和针对HTAP需求的优化,最后总结下HTAP的适用场景和客户的实际案例。 

这张图可能大家都比较熟悉,业务应用对接一个专门的交易型数据库,产生的数据通过ETL定期导入到分析型数据库,然后分析人员使用类似Tableau这样的BI软件访问数据库,生成各种报表,供企业管理者和决策者参考,制定企业发展的新目标和新措施,指导业务应用做相应的调整。这是上世纪90年代数据分析和分析型数据库崛起时,大家就在用的架构,到今天为止,很多企业依然在使用这样的TP和AP分离的模式。 与此对应的,TP和AP数据库因为专注在各自领域,所以发展出了许多不一样的特征,例如TP数据库需要高效处理数据的增删改查,AP数据库需要高效的批量加载能力,TP数据库需要快速的点查,AP需要扫描大量数据的使用多表关联和子查询的复杂查询。为了支持这些不同特征的查询,AP和TP数据库也各自应用了不同的技术,例如TP依赖索引实现高效点查,使用行存实现高并发增删改,AP使用列存和压缩技术处理大数据量下仅需要扫描部分列的需求,减少磁盘空间和IO。 

不仅仅是TP数据库和AP数据库分离,在这种架构下,交易业务和数据分析也是分离的,分析本质上是交易后分析。业务、分析、和决策人员也是完全分离各司其职,形成一次分析-决策-业务变更的迭代需要较长时间。 

三十年过去了,很多情况其实都发生了天翻地覆的变化。第一个大的变化是数据分析在应用的广度和深度上都有了质的提升,也对数据架构提出了新的需求。 

第二个变化是服务器的价格下降,而存储和计算能力大幅提升。现在的PC服务器性能在某些方面开始接近2000年前后流行的小型机,而折算后价格却只有当时的1/100。如果用同样的成本搭建一个集群,那么计算能力可以达到小型机的数百倍。 

第三个变化是数据库技术在大踏步发展,也在不断相互学习和融合。单机上利用多核并行、索引、物化视图、各种查询优化技术等提升性能,分布式技术和分布式事务也非常成熟。 

基于这些需求、软件和硬件的变化,Gartner在2015年提出HTAP,倡导将AP和TP技术融合,利用充足的内存为交易应用提供低延迟的性能保证。类似,另一家知名咨询机构Forrester也提出了类似的概念称为Translytical数据平台。平时大家说的混合负载在狭义上也可以认为是讲同样的思路,这个提法更早,我在2010年ACM的论文中就看到混合负载的阐述。 

Gartner提出的HTAP架构不仅是将AP和TP数据库合二为一,而且是提倡在单一数据库上TP和AP应用的融合。这种HTAP架构相对于传统AP和TP分离的模式,好处显而易见。第一个好处是不再需要ETL和相关的逻辑,这部分工作常常不显眼,但是开发和维护成本很高,需要处理各种情况支持多种异构系统。长久以来大家为了减少ETL的数据导入延迟,想了各种办法,包括实时数仓和流式加载,但都是治标不治本,将AP和TP合二为一将数据延迟降为0才是终极方案。第二个好处是业务和分析一体化,业务数据实时保存在数据库中,业务处理前、处理中和处理后都可以借助数据分析提升用户体验和降低风险,可以通过同一套语言在同一个事务中完成分析和交易。第三个好处是业务人员、分析人员和决策管理者共享同一份实时全量数据,这不仅可以加速业务创新和迭代的速度,也可以避免日常经营因为大家看到的是不同的数据、不一致的数据而引起的沟通协作困难。Gartner特别强调了内存的独特重要性和对延迟对分析的影响,这一点我不是完全认同。在我们的实际经验中,基于数据的缓存搭配索引、结合资源管理,完全可以把延迟控制在毫秒级,而分析性能的保证来自内存、计算包括优化多个方面,当然内存多多宜善。 

看到HTAP这么好,那大家肯定也想到一个问题,究竟一个数据库能不能既有很好的TP能力也有非常卓越AP特性?在HTAP概念出现后,少说也有十几款产品宣称可以支持HTAP。大的类别上,有原来做TP的产品增加了AP能力,这一类比较多,有原来擅长AP的产品增强了TP能力,这一类比较少,也有产品宣称就是从零开始为HTAP场景开发。值得一提的是,许多NoSQL数据库和SQL on Hadoop产品如Hive/Impala也因为可以支持行级更新删除操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值