Oracle云时代MySQL HTAP解决方案

Oracle Cloud 在2020年终于大张旗鼓的上线了推动,终于搞出来一个本地MySQL和线上MySQL大差异点云上HTAP MySQL方案:MySQL HeatWave。架构如下:

图片

      在MySQL HeatWave架构下实现了数据请求单一入口,数据写入先写InnoDB,如果该表定义为Rapid引擎,同时从会InnoDB则推送给HeatWave; 对于SELECT请求,优化器会判断,如果从InnoDB中请求快,则从InnoDB层请求数据返回,如果涉及到复杂运算则从HeatWave中请求及返回。可以说这个结构是行(InnoDB)+列(HeatWave)混合存储的结构,同一个架构完美解决OLTP,OLAP需求(感觉也是一个高富帅的解决方法),从油管上看BenchMark基本是同行业无敌。

这里大概也罗列一下HeatWave的一些限制,供使用者一些参考:

1.  HeatWave Cluster目前支持最多24个节点,每个节点最大内存420G,共9T数据,Rapid引擎数据在内存中,Youtube上有一些详细介绍,自行翻墙观看。

2. HeatWave只能处理SELECT请求

3. 表的数据需要自动用HeatWave处理的,引擎需要改为:rapid为第二个引擎,数据还是持久化在InnoDB中, 对于不支持的列需要定义加上:not secondary 参考支持的数据类型: 

dev.mysql.com/doc/heatwav…

4. 表引擎没有指定为Rapid的,如果想用HeatWave,需要手工加载到HeatWave中,如:alter table TBname secondary_load;

因为这个架构是基于云上基础能力开发的架构,目前没办法线下部署想体验,只能用Oracle Cloud上的MySQL  Service,在Oracle MySQL Service中也可以看到低于9T的数据,HTAP基本随意造了。

如果你没办法使用Oracle Cloud,也可以考虑使用clickhouse扮演一部分这个功能,参考:clickhouse.tech/docs/en/eng…

用好这个功能也可以给MySQL手工安装一个OLAP的翅膀。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享