论文部分内容阅读
目前,大量的数据存储在数据库服务器之中,成千上万的用户访问和分析这些数据。缓存技术通过在本地缓存数据,并使用缓存数据回答查询,缓减数据库服务器以及网络的负担。在众多的缓存技术中语义缓存技术表现出明显的优势,语义缓存保存查询的结果及其语义描述。语义缓存由互不相交的语义区域组成,每一个语义区域包括语义描述及其数据指针。语义缓存将一个查询裁剪为试探查询和剩余查询,试探查询由本地的语义缓存回答,而剩余查询以SQL语句形式交由服务器回答,两部分结果一起形成整个查询的结果。基于三层架构的语义缓存技术(Three-Tier-Based Semantic Cache Technology, TSCT)将语义缓存技术和流行的三层架构的结合起来,是对基于客户机/服务器系统的语义缓存技术的技术改进。它同时在客户机和应用服务器进行语义缓存,充分利用客户机和应用服务器中的缓存数据回答用户查询,极大地提高了缓存的性能。TSCT兼顾联机事务处理和联机分析处理两类应用模式,并具有很高的扩展性,通过简单地扩展应用服务器的规模,TSCT能够适应海量数据和大规模并发的应用环境。TSCT使用PAX(Partition Attribute Across)页面模式来存储缓存数据。PAX页面模式在页面内将同属一个字段的数据连续存储,不仅有利于谓词评价,而且可以提高仅涉及关系表少数字段查询的效率,PAX页面模式还有效地提高了位于主存和处理器之间Cache的利用率。TSCT预先选择、计算和缓存一些聚集视图,并利用这些聚集视图回答聚集查询,从而避免在线计算,大大提高聚集查询的响应速度。聚集视图的预先选择综合考虑视图的尺寸和查询频率,以缓存具有较大效益的聚集视图;聚集视图的计算则使用高效的BUC算法,BUC算法自底向上划分事实表,一次计算出被选择的全部聚集视图。TSCT使用不同的策略处理日常查询和聚集查询。对于前者,TSCT根据语义区域与查询区域之间的不同匹配情况,将查询精确裁剪为试探查询和剩余查询;对于后者,TSCT根据聚集视图间的计算依赖关系,选择合适的聚集视图回答查询。