CubePlanner优化背景知识.pptx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Cube Planner优化背景知识 目 录CONTENTS2背景知识1导语 导语PART 0101 导语 Cube Planner 机制通过计算不同 Cuboid 的构建成本和收益,并结合用户查询的统计数据挑选出更精简更高效的维度组合,从而减少构建 Cube 的时间和空间,提高查询效率。 背景知识PART 0202 背景知识 Apache Kylin? (以下简称Kylin) 是一个开源的分布式分析引擎,提供 Hadoop 之上的 SQL 查询接口及多维分析(OLAP)能力以支持超大规模数据,能在亚秒级的时间内返回查询结果。 Kylin 的核心在于 Cube 的设计和构建,它把原始表中的数据按照用户选择的维度进行预处理,然后把结果 (Cube)加载到存储引擎(默认 HBase) 里,供用户查询使用。数据分析师可以在 Web UI 中输入 SQL,或者通过可视化分析工具选择任意的维度和指标来定制自己的分析报告。 背景知识 Kylin 会对每一种维度的组合进行预计算,每种维度组合的预计算结果被称为 Cuboid,这些 Cuboid 组成了 Cube。假设数据有10个维度,那么没有经过任何剪枝优化的 Cube 就会有?210=1024个 Cuboid;如果有20个维度,那么 Cube 就会有超过一百万个 Cuboid。 背景知识 Kylin 在 2.3.0 版本引入了 Cube Planner,自动地对 Cube 的结构进行优化。如下图所示,在用户定义的 Aggregation Group 等手动优化基础上,Cube Planner 自主挑选 Cuboid,帮助用户构建一个更高效的 Cube,实现对 Cube 的“二次瘦身” ,最终减少预计算的工作量和存储所需空间。 背景知识 剪枝的原则 Cube Planner 本质上就是从?2N?种维度组合中挑选出部分维度组合添加到进 recommendCuboidList 中以进行后续的构建。问题的关键在于剪枝的标准,对于某种可能的维度组合只有两种结果:被预计算和不被预计算,这取决于加入这个 Cuboid 产生的收益除以成本(效益比)。 背景知识 Cuboid 的成本 构建成本:取决于该维度组合的数据行数。 查询成本:取决于查询该 Cuboid 所需要扫描的行数。 由于往往构建是一次性的,而查询是重复性的,因此我们忽略构建成本,只使用查询成本来计算。 背景知识 Cuboid 的效益 即预计算出这个 Cuboid,相比没有这个 Cuboid 对整个 Cube 的所有查询所能减少的查询成本。 Cube Planner优化背景知识 谢谢观看

您可能关注的文档

文档评论(0)

中小学K12教育 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档