开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

实时写入与点查对于不同应用场景有怎么样的优化手段?

实时写入与点查对于不同应用场景有怎么样的优化手段?

展开
收起
Medusa 2021-11-12 16:15:21 369 0
1 条回答
写回答
取消 提交回答
  • 对于实时写入与点查的场景,首先要检查建表是否合适。对于高 QPS 写入以及点查来说,我们希望 Distribution Key 和查询条件一致。因为 Distribution Key 用来找到对应的Shard,在写入的 QPS 很高的情况下,假如过滤条件与分布 Key 一致,我们就可以快速路由到某一个 Shard 上面,这个查询就不需要发到所有 Shard 上,对这种场景有很大的性能提升,所以要求 Distribution Key 和查询条件一致。

    第二个是我们的表最好是行存表,因为行存表对实时写入以及点查在性能上非常友好。

    第三个场景是假设不是行存表而是列存表,我们希望 Pk、Clustering Key 和查询条件一致,这样才能用上 Clustering Index 的能力。

    除了建表优化以外,还需要优化查询写入代码。因为如果写 Hologres 的代码设计得不合理,会带来非常高昂的额外成本。可能用户会发现 QPS 好像已经上不去了,但其实Hologres 内部 CPU 使用率非常低,这是因为用户自己的写入代码不是特别高效。

    资料来源:《实时数仓“王炸组合”-实时计算》,下载链接:https://developer.aliyun.com/topic/download?id=7944

    2021-11-12 18:34:47
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
听云平台业务数据实时处理及性能可视化 立即下载
效率提升:表格存储实时数据流:Stream的技术揭秘和应用场景 立即下载
听云平台RUM业务数据的实时流式处理实践 立即下载