【技术实现步骤摘要】
【国外来华专利技术】使用数据流草图和样本的分布式直方图计算框架
技术介绍
[0001]直方图被查询优化器用来估计基数,以用于在商业数据库系统和数据仓库中生成有效的查询计划。构建这些直方图涉及捕获元组的聚合数以及范围内的独特值(对应于直方图桶)以及频繁的元组值、分位数,并且在一些情况下,还涉及相邻值之间的频率差异。一种方法是维护数据集中的每个值及其频率的散列表;然而,对于大型数据集,这种方法所需的存储器是令人望而却步的。相反,用于大型数据集的直方图通常是通过对数据进行排序并按排序的顺序处理值来构建的。使用这种方法,通过跟踪观察到的元组的总数来计算分位数,并且跟踪最频繁的值并计算独特值的数量变得微不足道。在这种方法下,构造直方图的成本主要是读取,特别是对数据排序,这常常涉及大型表格的外部存储器排序。在直方图创建期间对数据使用排序意味着在扫描多列表格时仅创建单列的直方图。取决于列数和表格布局(即,列式布局对比基于行的布局),这是一个显著的缺点。
[0002]为大型“分片式”数据集构建全局直方图在传统上涉及在整个数据集的个体分片(或分布)上构建多个直方图,然后使用自定义 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种系统,包括:控制节点,所述控制节点被配置为:生成与数据集相关联的统计查询任务有向无环图;以及将多个分布式查询指派给多个处理节点,所述多个分布式查询分别与所述数据集的分布相关联并且通过划分所述统计查询任务有向无环图而生成;所述多个处理节点中的一个或多个处理节点分别针对每个分布至少部分地并行,所述多个处理节点被配置为:由所述多个处理节点中的每个处理节点生成数据结构,所述数据结构分别存储与值的相应频率相关联的第一数据、与独特值的数量相关联的第二数据、以及与所述值的随机采样相关联的第三数据;由所述多个处理节点中的每个处理节点分别基于由所述多个处理节点中的所述每个处理节点所处理的分布的所述第一数据、所述第二数据和所述第三数据来构造直方图;由所述多个处理节点中的第一处理节点合并由所述多个处理节点生成的所述第一数据、以及由所述多个处理节点生成的所述第二数据;以及由所述多个处理节点中的第二处理节点合并由所述多个处理节点生成的所述第三数据;以及所述多个处理节点中的第三处理节点,被配置为基于合并后的所述第一数据、合并后的所述第二数据以及合并后的所述第三数据来构造所述数据集的全局直方图。2.根据权利要求1所述的系统,其中所述多个处理节点中的一个或多个处理节点分别在每个分布上至少部分地并行,所述多个处理节点被配置为:由所述多个处理节点中的每个处理节点在所述构造之后向每个其他处理节点传输计数值,所述计数值指示由所述多个处理节点中的每个处理节点处理的相应分布中的行数。3.根据权利要求1所述的系统,其中所述第一处理节点、所述第二处理节点和所述第三处理节点为同一处理节点。4.根据权利要求1所述的系统,其中在所述构造所述全局直方图之后,所述控制节点被配置为:生成针对所述数据集的输入查询的查询计划,所述查询计划具有至少基于所述全局直方图的基数估计;至少基于所述输入查询和估计的所述基数,来生成分别与所述数据集的分布相关联的多个分布式查询;将所述多个分布式查询指派给所述多个处理节点中的一个或多个处理节点;以及基于所述多个分布式查询的执行,返回查询结果。5.根据权利要求4所述的系统,其中所述控制节点被配置为:在所述构造所述全局直方图之前接收所述输入查询。6.根据权利要求1所述的系统,其中构造所述全局直方图是在不对所述数据集进行排序的情况下执行的,并且不基于对所述数据集进行排序。7.根据权利要求1所述的系统,其中所述多个处理节点中的一个或多个处理节点分别针对每个分布至少部分地并行,并且为了构造所述直方图,所述多个处理节点被配置为:至少基于所述第一数据来确定所述分布中的值的子集,所述子集中的每个值具有满足
或超过阈值的相应频率;以及将所述直方图构造为在所述直方图中针对所述子集中的每个值包括单独箱,并且通过针对所述分布中的、未被包括在所述子集中的每个其他值,经由分位数分布将值分配到附加箱而将所述直方图构造为包括多个附加箱,所述多个附加箱在所述直方图中具有等深度分区划分。8.一种由计算系统执行的方法,所述方法包括:由控制节点执行:生成与数据集相关...
【专利技术属性】
技术研发人员:S,
申请(专利权)人:微软技术许可有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。