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

Flink CDC中有没有大佬做过rockdb调优的?感觉数据量大的时候join效率很低下

问题1:Flink CDC中有没有大佬做过rockdb调优的?感觉数据量大的时候join效率很低下 问题2:都是调tm的托管内存么,先确保你的jdbc能select出来

展开
收起
真的很搞笑 2023-07-01 19:57:08 97 0
3 条回答
写回答
取消 提交回答
  • 在 Flink CDC 中,RockDB 是用于存储状态的一种本地键值存储引擎。针对数据量大时 join 效率低下的问题,有一些调优策略可以尝试:

    1. 调整内存配置:    - 增加 TaskManager 的堆内存大小(通过 taskmanager.memory.managed.fraction 参数进行调整),确保足够的内存用于存储状态和执行 join 操作。    - 调整 Flink 的状态后端为 RocksDB,并根据数据量大小调整 RocksDB 的内存配置参数(如 state.backend.rocksdb.memory.managedstate.backend.rocksdb.block.cache-size 等)。

    2. 优化数据倾斜:    - 数据倾斜可能导致 join 效率低下,可以尝试使用 Flink 提供的一些解决方案,如 keyBy 进行预聚合、使用 Flink 的自定义分区器等来减轻数据倾斜的影响。

    3. 使用异步 IO:    - 在某些情况下,可以考虑启用 Flink CDC 的异步 IO 特性,通过将 I/O 操作与其他计算任务并发执行,提高整体的处理效率。

    4. 调整并行度:    - 考虑增加或减少任务的并行度,以平衡计算资源和数据规模之间的关系。过高的并行度可能导致资源浪费,而过低的并行度可能导致性能瓶颈。

    以上是一些常见的调优策略,具体的调优方案需要根据实际情况进行评估和测试。另外,也可以参考 Flink 官方文档中关于 RocksDB 和性能调优的章节,了解更多相关信息。

    2023-07-30 13:25:56
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    针对 Flink CDC 中 RockDB 的 join 效率问题,您可以尝试以下一些调优方法:
    增加内存缓存:RockDB 是一种基于磁盘的数据库,如果数据量过大并且读取操作比较频繁,可能会导致磁盘读取速度变慢,从而影响 join 的效率。为了解决这个问题,您可以考虑增加内存缓存,将经常访问的数据缓存到内存中,以提高读取速度。
    垂直分片:如果您的数据表非常大,可以考虑将其划分为多个垂直片段,每个片段包含相同的列,但仅包含部分行数据。这样可以减少每个查询需要读取的数据量,从而提高查询效率。
    建立索引:如果您的查询中经常会使用某些列进行 join 操作,可以考虑在这些列上建立索引。这样可以加快查询速度,减少磁盘读取次数,提高 join 的效率。
    优化查询语句:如果您的查询语句不够优化,可能会导致 join 效率低下。为了提高 join 的效率,建议您优化查询语句,尽量减少

    2023-07-30 11:13:17
    赞同 展开评论 打赏
  • 回答1:image.png ssd上一下 内存调调,基本没啥问题,这1.14.6的支持不太行 回答2:hdd就很慢,一般拿不到就是配置不对,官网的案例都是测试过的,你要相信是自己中间那部做错了,此回答整理自钉群“Flink CDC 社区”

    2023-07-01 20:18:52
    赞同 展开评论 打赏

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

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载