We use cookies to improve your experience with our site.

HEDC++:一种改进的云数据直方图估计技术

HEDC++:An Extended Histogram Estimator for Data in the Cloud

  • 摘要: 随着云数据管理系统的不断发展,很多开源的云数据管理系统如HBase、Hive、Pig和Cassandra等引起了工业界和学术界的广泛关注。与传统具有完善优化技术的关系数据库相比,云数据管理系统发展时间较短,在性能方面有很大的改进空间。在传统的关系数据库中,对于数据分布的总结性信息和统计信息对查询优化起着重要的作用,而直方图正是最有效和最常用的数据分布和统计信息总结方法。在云数据管理系统中,直方图在提高数据存取性能等方面有着重要的作用。首先,直方图为选择最有效的查询执行计划提供了重要参考信息。云计算中大部分查询通过MapReduce框架实现,对于一个给定的查询,往往存在多种基于MapReduce的实现策略。如何根据数据的分布情况选择合适的执行计划是查询优化中的一个重要问题,而直方图则能提供参考信息。其次,直方图提供的基本统计信息可用于负载均衡。负载均衡是影响云计算中查询性能的一个重要因素,因为云计算中的查询往往并行执行。在MapReduce处理框架中,map任务的输出结果根据其键值被哈希分区到多个reduce任务中。如果在该过程中数据倾斜严重,就会导致reduce任务负载不均衡,从而降低查询性能。基于分区键值构建直方图可以有效的辅助设计哈希函数来保证负载均衡。第三,在进行连接的过程中,体现数据分布的直方图有助于减少数据的传输代价,而传输代价是云计算中的一项重要资源。基于连接键值构建的直方图能够帮助避免将不满足连接谓词的数据传输到同一个节点上。除此以外,直方图信息还有助于优化云计算系统中的运行参数设置,在提高用户反馈质量、优化任务调度和资源分配等方面也起着重要作用。基于大规模的海量数据构建完全精确的直方图代价很大,因此对直方图进行估计更具有实际意义。然而由于云计算环境中数据组织和处理模式的特殊性,使得该问题的解决面临很大的挑战。文章提出了对云计算中数据的直方图进行估计的技术HEDC++(An Extended Histogram Estimator for Data in the Cloud),对等宽直方图和等深直方图两种最常用的直方图类型分别提出了相应的估计方法。HEDC++基于改进的MapReduce处理框架提出了直方图估计的数据处理流程,并设计了相应的采样机制保证采样的效率和估计结果的准确性。在Hadoop平台上对HEDC++进行了广泛的实验,实验结果表明HEDC++能够有效的对不同分布的云数据提供直方图估计,其性能优于已有工作。

     

    Abstract: With increasing popularity of cloud-based data management, improving the performance of queries in the cloud is an urgent issue to solve. Summary of data distribution and statistical information has been commonly used in traditional databases to support query optimization, and histograms are of particular interest. Naturally, histograms could be used to support query optimization and efficient utilization of computing resources in the cloud. Histograms could provide helpful reference information for generating optimal query plans, and generate basic statistics useful for guaranteeing the load balance of query processing in the cloud. Since it is too expensive to construct an exact histogram on massive data, building an approximate histogram is a more feasible solution. This problem, however, is challenging to solve in the cloud environment because of the special data organization and processing mode in the cloud. In this paper, we present HEDC++, an extended histogram estimator for data in the cloud, which provides efficient approximation approaches for both equi-width and equi-depth histograms. We design the histogram estimate workflow based on an extended MapReduce framework, and propose novel sampling mechanisms to leverage the sampling efficiency and estimate accuracy. We experimentally validate our techniques on Hadoop and the results demonstrate that HEDC++ can provide promising histogram estimate for massive data in the cloud.

     

/

返回文章
返回