Materialized View模式

  • Post author:
  • Post category:其他



Materialized-View模式

是在要求数据格式不利于查询操作的情况下,根据多个数据仓库的数据生成预生成的视图的一种模式。这种模式可以帮助支持高效的查询和数据提取,提高应用程序的性能。

问题

在存储数据时,开发人员和数据管理员考虑的第一优先级通常集中在如何存储数据,而不是如何读取数据。所选择的存储格式通常与数据的格式、管理数据大小和数据完整性的要求,以及存储的类型密切相关。例如,使用NoSQL存储文档时,数据通常被表示为多个元素的聚合结构,其中包含了所有的实体的信息。

然而,这可能会对查询产生负面影响。当一个查询需要从多个实体的数据获取他们的子集的时候,如需要一些客户的订单摘要信息,但是不需要所有的订单细节,查询仍然需要提取相关实体的所有数据,才能获得所需的信息。

解决方法

为了支持高效的查询,常见的解决方法是提前生成所需要的数据格式的结果集。

Materialized-View模式

描述了在那种源数据格式不适用于查询的数据格式,或是生成合适的查询比较困难,或是查询性能低下的的环境中,生成在预填充的视图。

这些Materialized视图只包含查询所需的数据,允许应用程序快速获取所需信息。除了Join表或组合数据实体外,Materialized视图还可以计算列或数据项的当前值、数据项的值组合或执行转换的结果,以及指定为查询的一部分的值等等。一个Materialized视图甚至可以仅针对一个查询进行优化。

Materialized视图的关键就在于它所包含的数据完全是自由使