高效存储和处理长聚合列表及集群架构中即席星型连接查询处理
在数据处理领域,高效存储和处理长聚合列表以及在集群架构中进行即席星型连接查询处理是两个重要的研究方向。下面将详细介绍相关技术和方法。
长聚合列表的存储与处理
1. MAL(Materialized Aggregate List)概述
设计MAL的主要目的是构建一个无内存溢出的解决方案,以处理无长度限制的聚合列表。其采用的方法是将列表迭代器设计为一个分页的表。当创建迭代器时,部分页面会被填充聚合器(具体填充哪些页面以及填充数量由页面填充算法决定)。在浏览列表时,后续页面会被填充(从迭代器表中检索聚合器),读取完整个页面后,会用新数据重新填充。此外,还使用了聚合物化机制,极大地加速了聚合检索。关键配置方面包括页面数量、单个页面大小、可用数据库连接数量和页面填充算法。
当创建新迭代器(调用 iterator() 函数)时,会创建一个新表并计算两个值:
- 边界日期 :用于管理物化数据。通过在配置文件类别块中定义的安装日期上,重复加上聚合窗口宽度乘以表页面大小来计算,该日期等于页面中第一个聚合器的时间戳。
- 起始索引 :如果 iterator() 函数调用中作为参数给出的起始日期与计算出的边界日期不同,则调整迭代器索引,使第一次调用 next() 函数返回时间戳最接近给定起始日期的聚合器。
2. 页面填充算法
新迭代器构建时,部分表页面会被填充聚合器,具体取决于所使用的页面填充算
超级会员免费看
订阅专栏 解锁全文
1725

被折叠的 条评论
为什么被折叠?



