开发者社区 > 大数据与机器学习 > 实时数仓 Hologres > 正文

为了提升Hologres的整体性能,针对营销活动分析数仓主要做了哪些优化策略?

已解决

为了提升Hologres的整体性能,针对营销活动分析数仓主要做了哪些优化策略?

展开
收起
游客lmkkns5ck6auu 2022-09-26 22:35:28 768 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    设置distribution key对于count(distinct user_id)的情况将user_id设置为distribution key,在Hologres中每一个shard做count distinct,避免大量的数据shuffle,大大提升查询性能 尽量减少count distinct次数:通过多层GROUPBY操作转换SQL减少count distinct成本;

    shard prunning:在一些场景中,查询会指定某个表的PK中的一些key进行查询,如果将这些场景的key组合设置为distribution key,可以在处理查询的时候就确定本次查询会命中哪几个shard,减少RPC请求数,对于高QPS场景至关重要。生成最优的plan:营销活动分析有基于汇总数据的点查或者范围查询,有基于原始数据的 OLAP查询,还有单表的聚合之后取topN的查询,对于不同的查询类型,Hologers能够根 据收集的统计信息,生成最优的执行计划,保证查询的QPS和Latency

    写入优化:营销活动分析的写入都是基于列存表UPDATE操作,该操作在Hologres中会首 先根据指定的pk找到对应的uniqueid,然后根据uniqueid找到对应的记录标记删除,然后再查询一条新记录,这种情况如果能够设置一个递增的segmentkey,查询的时候就可 以根据segmentkey快速定位到文件,提升根据PK定位到记录的速度,提升写入性能, 营销活动分析系统压测时写入峰值可以达到800万/s的更新

    小文件合并:某些写入不是很频繁的表因为一段时间更新的key比较固定,这导致 memory table flush的时候是一个比较小的文件,而Hologres默认的compaction策略并 没有对这些文件做compaction,导致存在比较多的小文件,通过深入优化compaction参 数,增加compaction的频率,减少小文件,对于查询性能有较明显的提升

    以上内容摘自《阿里云实时数仓Hologres最佳实践合集》电子书,点击https://developer.aliyun.com/topic/download?id=996 可下载完整版

    2022-09-26 23:31:48
    赞同 展开评论 打赏

本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975

相关产品

  • 实时数仓 Hologres
  • 相关电子书

    更多
    本地生活服务电商市场的精准营销 立即下载
    基于数加的B2B客户营销解决方案 立即下载
    阿里云机器学习PAI及其在广告营销中的应用 立即下载