Kyligence Copilot - AI 数智助理,以 AI 变革企业经营与管理! 立即了解更多
AI 数智助理
Kyligence Zen Kyligence Zen
Kyligence Enterprise Kyligence Enterprise
Kyligence Turbo Kyligence Turbo
指标平台解决方案
OLAP 解决方案
行业解决方案
客户总览
金融
零售
制造
医药
其他
云平台
BI
寻求合作
资源
Kyligence Enterprise
Kyligence Zen
培训
Apache Kylin
Byzer
Gluten
博客
关于
市场活动
Cube是OLAP系统用于数据索引、预计算的关键概念。对Apache Kylin的用户而言,如何设计并构建满足业务分析场景的Cube,是使用Kylin的基本要求。随着业务场景和数据特征的演变,用户可能发现最初设计的Cube在查询性能方面开始降低;或者在一些建模场景下,由于复杂查询业务的需要,使得Cube的膨胀率变得很大,而这些问题,都可以通过对Cube调优来解决。
对Kylin进行深度调优,不仅需要对Kylin的运行机制有深入的了解,更需要多种系统运行状态统计特征配合分析Cuboid和RowKey的使用情况,从历史查询模式中找到系统的瓶颈和优化的方向 。Kyligence公司为解决Kylin的有效运维问题,设计了KyBot在线服务,提供了相关分析工具,这些工具将极大简化上述问题。KyBot作为在线诊断、优化服务的平台,通过分析整合Kylin的日志等信息,提供可视化仪表盘、系统优化、故障排查、技术支持等服务,大大降低Kylin的维护成本。
本文将介绍KyBot的评分系统,帮助用户调优出一个高效可用的 Cube。
进入KyBot的Cube调优页面,首先是Cube诊断报告,评分栏中的5维雷达图及各个评分项为Cube健康度给出了打分, 通常来说分数越高,Cube越“健康”。
如图所示,五个维指标分别对应为:
查询性能:评价当前Cube的查询效率,用户需求的重要参考因素之一,主要因子为查询时间中间数等。
使用率:评价当前Cube的访问热度,基于用户的查询行为统计,主要因子为访问此Cube 的查询占总查询访问数量的比重。
膨胀倍数:评价当前Cube的膨胀率,存储和构建方面需要关注的因素,主要因子为Cube数据存储空间。
构建性能:评价Cube的构建时间,也从侧面体现了设计的合理性,有时构建时间过长也是用户的痛点之一。
模型设计:评价使用角度下的Cube设计,结合查询使用记录的综合指标,主要因子为Row Key使用情况、Cuboid重合率,Cuboid匹配率等指标。
例如,图中的Cube“模型设计”得分较低,同时下方也提供了优化建议来提醒用户“模型设计: Cube设计不合理,会对构建和查询都造成影响,建议进行调优”。这样我们便从前文介绍的影响因素入手。
我们在Cube详细页面中浏览层级信息,展开查看Cuboid树下第一层级的8个子结点,发现有6个结点的重合率超过了98%,比如第一个Cuboid (id=7679,二进制表达为“1 1101 1111 1111”),和父节点相差YYYY和YYYYMM两列,但重合率达98%,且行数超过了1千万条。 这样的结果便是Cube的膨胀率偏高,同时查询效率也会偏慢。
通过查看各个维度的详细信息, 不难发现,该Cuboid排除的维度基数非常的低,YYYY和YYYYMM两列虽然已是层级维度,但两个维度的基数都很低,即使设成层级维度也会带来很大的Cuboid重合度。
同样的情况也出现在CATA1_ID和CATA2_ID组合中,这里可以考虑将他们(YYYY, YYYYMM, CATA1_ID和CATA2_ID)合并为一个联合维度。
还有多个低基数列(LOCATION, TYPE和PIPE_ID)也有重合率高的问题,且没有也没有任何聚合组设置,同样地,也应进行联合维度合并。
这样在大大减少Cube复杂度(28=>25)的前提下,有效地降低重合率,同时每个Cuboid本身也不会变得太臃肿,保证了查询性能。
同时,还有一个高基数列WORKER_ID被作为了必要维度,导致所有Cuboid都很大,可能造成不包含这一维度的查询性能较差,所以设置必要维度时必须要谨慎。
基于以上发现,我们就能很快地找到影响评价的原因。
那么是否每个cube的调优目标就是将评分雷达图上的5维提高作为最终目标呢。其实不然,首先,每个因素看似独立,但是实际上相互影响着,比如提高查询效率可能伴随着构建Cube成本的提高。
优化的目的也是取决于用户真正的需求,比如上文中的必要维度设置会对部分查询性能有影响,在用户的查询需求中很少遇到这些查询 ,而且最需要的诉求是降低膨胀率,大可以保留这个必要维度。Cube优化的策略应该随实际需求倾斜,比如在Cube构建速度可以接受的情况下,希望更多地提高查询效率,相应地以稍高的膨胀率为代价有时也能被接受。
反过来说,即使是“满分”的Cube,也并不是表示优化已经到了极致,打分项也均为参考值,高分项也只是说明目前优化的余地相对少一些,如果仍然有调整的需求,继续优化也是可行的。
Cube的评分虽然会随业务发展而变动,而Cube调优就是不断保证Cube性能的有效手段。真正完美的Cube并不存在,设置该评分系统也是为了给用户提供直观的优化建议和参考思路。
作者:
Yifan Zhang(张逸凡)高级软件工程师@Kyligence,专注于大数据平台,物联网和实时数据分析。
近年来,随着商业环境的竞争日益激烈,企业对于实时数据服务的需求急剧增加。Kyligence 在服务众多客户的过
数据要素在银行各业务领域和流程中发挥着至关重要的作用,面对激烈的市场竞争和客户需求,银行越来越注重从数据管理中
作为一名消费者,炎热的夏天我们会走进一家便利店,从冰柜中选出一瓶汽水;下午工作有点累了,我们会在公司的自动贩卖
2024 年伊始,Kyligence 联合创始人兼 CEO 韩卿(Luke)分享了对 AI 与数据行业的一些战
房地产行业是我国国民经济中的重要支柱产业之一,在房地产市场供求关系发生重大变化的当下,房企面临多重挑战。Kyl
今年年初,Kyligence 高级副总裁兼合伙人葛双寅(Silas Ge)受邀在阿斯利康“跃行致远三十周年年会
2024 年伊始,Kyligence 联合创始人兼 CEO 韩卿在公司内部的飞书订阅号发表了多篇 Rethin
400 8658 757
工作日:10:00 - 18:00
已有账号? 点此登陆
预约演示,您将获得
完整的产品体验
从数据导入、建模到分析的全流程操作演示。
行业专家解惑
与资深行业专家的交流机会,解答您的个性化问题。
请填写真实信息,我们会在 1-2 个工作日内电话与您联系。
全行业落地场景演示
涵盖金融、零售、餐饮、医药、制造等多个行业,最贴合您的业务需求与场景。
Data + AI 应用落地咨询
与资深技术专家深入交流,助您的企业快速落地 AI 场景应用。
申请体验,您将获得
体验数据处理性能 2x 加速
同等规模资源、同等量级数据、同一套数据处理逻辑,处理耗时下降一半
专家支持
试用部署、生成数据、性能对比各操作环节在线支持