AWS推出可加快Redshift查询10倍速的AQUA缓存

AWS在数据库节点ra3.4xl和ra3.16xl,加入了高端查询加速器(Advanced Query Accelerator,AQUA),这是一个加速层,可将运算摆放到靠近资料存储的地方执行,以减少网络流量和CPU的开销,大幅提升查询效率。

AWS提到,AQUA是一个分布式且硬件加速缓存,可以让Amazon Redshift数据仓库在处理特定查询时,比其他厂商的数据仓库速度快上10倍,而且在ra3 .4xl和ra3.16xl节点类型,用户并不需要为AQUA额外支付费用。

AWS在2019年时,在Redshift提供了使用SSD存储的节点类型RA3,并且在去年4月的时候,加入包括ra3.4xlarge等其他大小的节点,还在12月的时候,加入搭载托管存储的RA3.xlplus节点,这些节点除了具有大带宽的网络连接外,还使用了复杂的资料管理模型。

AWS解释,每个RA3节点都具有大容量且高性能的SSD存储,并从底层的对象存储服务S3,获得存储可缩放性、高耐用性和高性能等优点,存储系统会提供像是资料块温度、资料阻塞和工作负载模式等提示,来管理高性能缓存,以实现高性能存储,资料会自动被放到适当的存储层中,用户不需要介入,就能获得优化配置。

用户使用RA3节点来维护非常大的资料集,单个数据仓库最多可存储的资料达32 PB,AWS提到,当数据仓库中的资料不断增长,存储增长的幅度超过CPU的性能增长,大量资料和网络流量,可能使得网络和CPU带宽成为限制因素。

为了解决这个问题,AWS开发了AQUA,这是一个创建在RA3缓存基础上的加速器,其充分使用AWS Nitro系统和自定义FPGA加速功能,并将资料精简(Reduction)和聚合查询所需要的运算,放置在资料端附近执行,借此减少网络流量,减轻RA3节点中CPU的工作负担,并允许AQUA将特定查询的性能提高多达10倍。

这个新功能不需要额外支付费用,也不需要用户变动任何程序代码,已经使用ra3.4xl或ra3.16xl节点托管数据仓库的用户,可以在数分钟内开始使用AQUA,仅需要在集群中激活AQUA,并且重新启动集群,就可以在资料精简和聚合查询时,获得极大的性能改善。

AWS提到,AQUA可以极大程度降低查询时间,甚至可以让部分新类型的查询获得即时的结果,而这些查询可能在过去不可能实现,或是不切实际。

AQUA缓存的资料都会以用户的密钥加密,在执行过滤和聚合操作之后,AQUA就会压缩结果并且进行加密,然后把资料回传至Redshift。目前该服务已经在美东、美西和欧洲地区提供,而亚太现在先在东京上线,2021上半年还会陆续在雪梨和新加坡提供。