论文部分内容阅读
在大数据集下进行高性能的联机分析处理(OLAP)需要高性能的分析处理引擎。同时面对数据规模的快速增长,OLAP处理引擎需要有很好的扩展性,以适应不断增长的数据规模。为了解决大数据集下的高性能OLAP分析,本文从两个方面研究了内存OLAP集群的关键技术,首先是提升集群中单个节点的处理性能,其次是通过提高集群的扩展性来提升OLAP引擎的处理规模。 在内存OLAP系统中,受内存访问速度的限制,CPU浪费很多时钟周期等待访存操作的完成。内存访问是内存OLAP引擎的瓶颈。提高单节点处理性能的关键是内存的高效访问。为此,本文采用Page Coloring技术,在应用程序的层面上实现了Cache的逻辑划分,并设计了W-Order与Color Index两种Cache优化的实现技术,通过按照Color的顺序访问低局部性数据,将Cache冲突限制在一个Color分区中,降低了低局部性数据对高局部性数据的污染,实现了对高局部性数据的Cache访问优化。实验表明,提出的Cache优化实现能够明显提高高局部性数据在Cache中的驻留率,有效的降低Cache Miss的发生,查询执行时间降低10%以上。 受到物理内存容量和硬件设计的限制,单个节点处理的数据规模不会很大,随着数据集的增大,单个节点无法通过不断的增加物理内存来提高处理规模。针对不断增长的数据规模,本文设计了高度可扩展的内存OLAP集群。从数据的组织上,设计了维表集中存储、事实表水平划分的数据分布方案,从而从数据组织方式上保证了系统的高度可扩展性。基于新的数据组织方式,设计了可扩展的处理星型连接的分布式DDTA连接算法,通过使用谓词向量技术,降低了中心节点和处理节点的通信量,提高了集群处理能力。针对维表属性上的分组操作,设计了预分组的分组处理方法,扩展了分布式DDTA连接算法可以处理的查询模式,并进一步提高了系统的扩展性。