美文网首页
Doris 统计信息的基数估计

Doris 统计信息的基数估计

作者: 乙腾 | 来源:发表于2024-01-08 10:27 被阅读0次

代码分支版本:master 20240102

代价估计

利用代价模型(cost model)比较不同执行计划的优劣,代价估计模型需考虑:

  • 统计信息:数据分布、行数、Distinct值个数
  • 统计信息收集时机与方法:
    • 不能影响在线业务;
    • 采样收集;
  • 基数估计->代价估计:基数估计来估算中间结果个数,从而用于代价估计

统计数据假设

  • 均匀分布假设(uniform distribution assumption):
    • 认为属性内部取值是均匀分布的
  • 属性独立假设(attribute independence assumption):
    • 认为不同属性的取值之间相互独立

通过代码总结的基数估计公式

补充说明:

  1. 基数估计的方式有很多,比如:
  • 直方图,但是暂时因为消耗内存,回滚了(详见PR:https://github.com/apache/doris/pull/27896);
  • Count-Min算法 估计数据出现频率,这个在Doris代码中应该是没有使用;
    doris中基数估计暂时是依托于统计的列信息和表行数来进行计算的。

2.我总结的基数估计的推导公式均是通过代码反推的,部分数学公式如有不准的地方希望您能帮忙指出,不胜感激


WechatIMG47156.png

相关文章

  • LogLogCounting 基数估计算法

    介绍 基数估计算法(Cardinality Estimation Algorithm)是基于概率统计理论的估算给定...

  • 动态无线网络拓扑发现研究

    一、研究目标 1.解决动态无线网络的基数估计 基数估计,即使用统计推断方法计算大规模匿名图中的结点数。然后对这些节...

  • F周刊:2017-06-08

    基数估计算法概览 很多简单的问题假如上量复杂度就会大大提高,比如按用户统计站点的访问量(即UV)。基数估计则是应对...

  • TiDB 源码阅读系列文章(十四)统计信息(下)

    在 统计信息(上) 中,我们介绍了统计信息基本概念、TiDB 的统计信息收集/更新机制以及如何用统计信息来估计算子...

  • Flink去重第三弹:HyperLogLog去重

    HyperLogLog算法 也就是基数估计统计算法,预估一个集合中不同数据的个数,也就是我们常说的去重统计,在re...

  • 基数估计(cardinality estimation)

    基数是指一个集合中,不同的数的个数。基数统计是集合不同的数的个数。比如说一个集合{0, 1, 2, 2, 4, 5...

  • 基数估计算法

    概念 基数(cardinality,也译作势),是指一个集合中不重复元素的个数。这里的集合和我们学过的严格定义的集...

  • hyperloglog基数统计

    基数,相对于个数,是去重后数量 比如求uv 如果用set去重求,数量很大,那么占用内存,查询效率都会慢 bitma...

  • Hyperloglog基数统计

    数据量一大,连统计基数也成了一个麻烦事。在使用kylin的时候,遇到对度量值进行基数统计,使用的是Hyperlog...

  • 统计学(36)-参数估计

    与样本有关的指标称为统计量,与总体有关的指标称为参数参数估计:统计学一个很重要的内容就是根据样本信息来估计总体信息...

网友评论

      本文标题:Doris 统计信息的基数估计

      本文链接:https://www.haomeiwen.com/subject/krmnndtx.html