Amazon Redshift提供具体化检视表加速常用资料查询

互联网2021-02-14 12:02:10
最佳答案

AWS在云端资料仓储服务Amazon Redshift中,推出具体化检视表(Materialized View )功能,透过预运算、储存和最佳化资料存取,可大幅提升资料库查询的执行速度。

在关联式资料库管理系统中,检视图(View)是一种资料库查询的虚拟表格,通常在设计结构(Schema)时会用到,可呈现资料的子集、汇总资料,或是跨多个表格存取资料,在使用资料仓储时,检视图也可用来简化从多表存取工具聚合资料的过程。虽然检视图提供了易用性和灵活性,但是却无法加快资料存取的速度,因为当每次应用程式需要存取检视图时,资料库系统必须要重新执行底层资料查询。

因此在效能重要的应用中,资料工程师通常会使用CTAS(Create Table as Select)指令,创建一个资料表以保存查询的资料,应用程式可以像一般表格一样,使用CTAS创建的表格,但缺点是当基础资料更新时,CTAS表格中的资料不会跟着更新,由于CTAS定义并不储存在资料库中,因此资料库无从追蹤用来创建CTAS表格的资料,因此也就无法更新CTAS表格。

为此,AWS在Amazon Redshift加入了具体化检视表功能,具体化检视表就像是一般检视表的快取,但不在查询执行时才建立资料集,具体化检视表需要须事先创建,进行预运算、储存和最佳化资料存取,把资料先準备好,让应用程式存取具体化检视表的方式,就像是一般的表格一样。

由于具体化检视表需要事先创建,且资料已经在资料库系统中準备好,因此具体化检视表可大幅提升查询的执行速度,AWS提到,具体化检视表对于那些可预测,或是需要一遍又一遍重複执行的查询特别好用,应用程式可以查询预先计算好的资料,而非重新对基础大型表格进行查询。

当基础资料表格有更新时,使用者可以利用指令更新具体化检视表格,更新指令支援增量更新或是全部重新计算的完整更新。现在用户已经可以在所有AWS地区使用具体化检视表,这项功能不需要额外支付费用。

免责声明:本文由用户上传,如有侵权请联系删除!