联系QQ:308283 电脑PC端

Amazon Redshift提供具体化检视表

2020-03-22 16:30:41 浏览(57)

AWS在云端资料仓储服务Amazon Redshift中,推出具体化检视表(Materialized View )功能,透过预运算、储存和最佳化资料存取,可大幅提升资料库查询的执行速度。当基础资料表格有更新时,使用者可以利用指令更新具体化检视表格,更新指令支援增量更新或是全部重新计算的完整更新。现在用户已经可以在所有AWS地区使用具体化检视表,这项功能不需要额外支付费用。

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


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


为此,AWS在Amazon Redshift加入了具体化检视表功能,具体化检视表就像是一般检视表的快取,但不在查询执行时才建立资料集,具体化检视表需要须事先创建,进行预运算、储存和最佳化资料存取,把资料先准备好,让应用程式存取具体化检视表的方式,就像是一般的表格一样。由于具体化检视表需要事先创建,且资料已经在资料库系统中准备好,因此具体化检视表可大幅提升查询的执行速度,AWS提到,具体化检视表对于那些可预测,或是需要一遍又一遍重複执行的查询特别好用,应用程式可以查询预先计算好的资料,而非重新对基础大型表格进行查询。

标签:

Amazon Redshift

大家都爱看
猜你喜欢
// 资讯详情 var id=428; fetch('https://mip.jihuazhan.com/js/mipData/dataPhp/get_new_detail.php?id='+id) .then(data => { return data.json() }) .then(data => { console.log(data); MIP.setData({ zanCount:data.data.items[0].clicks_number, }) }) .catch(e => { console.error(e.message); }) // 默认点踩 MIP.setData({ "unzan":Math.floor((Math.random()*3)+1) }) //监听点赞 MIP.watch('zanCount', function (zanCount) { fetch('https://mip.jihuazhan.com/js/mipData/dataPhp/thumbs.php?id='+id) .then(data => { return data.json() }) .then(data => { console.log("点赞成功") }) .catch(e => { console.error(e.message); }) })