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

Flink CDC做join和聚合会对源数据库照成压力吗?look up 和 join 啥区别?

Flink CDC做join和聚合会对源数据库照成压力吗?look up 和 join 啥区别?

展开
收起
真的很搞笑 2023-08-01 14:36:54 154 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    Flink CDC 进行 Join 和聚合操作会对源数据库产生一定的压力,具体压力大小取决于使用的 Join 和聚合算法、数据量和数据分布等因素。

    在 Flink 中,Join 和 Lookup 是两种不同的操作,它们的实现方式和对源数据库的压力也不同。

    Join
    Join 操作是将两个或多个数据流或表按照某个条件进行关联,获取相关联的数据。在 Flink 中,Join 操作通常是通过在内存中构建哈希表或排序合并等算法实现的,因此 Join 操作通常需要较大的内存和计算资源。

    对于源数据库来说,Join 操作通常需要从多个表中获取数据,可能需要执行复杂的 SQL 语句,因此会对数据库产生一定的压力。为了减轻数据库的压力,可以优化 Join 操作的条件、选择需要关联的列等。

    Lookup
    Lookup 操作是从外部数据源(例如数据库或缓存)中查找数据,并将查找到的数据与当前数据流或表进行关联。在 Flink 中,Lookup 操作通常是通过异步 I/O 或者异步查询实现的,因此对于外部数据源的压力相对较小。

    对于源数据库来说,Lookup 操作通常是通过查询一个或多个表获取数据,因此会对数据库产生一定的压力。为了减轻数据库的压力,可以使用缓存技术、优化数据库查询语句等。

    需要注意的是,Join 和 Lookup 操作都需要从外部数据源获取数据,因此都需要一定的时间延迟。为了减少延迟,可以适当提高查询的并发度、增加查询缓存等。

    总的来说,Join 和 Lookup 操作都会对源数据库产生一定的压力,但是可以通过优化 Join 和 Look

    2023-08-01 23:15:29
    赞同 展开评论 打赏
  • 看你 拿多少数据量的问题,join本身没压力,但是你如果是look up这种需要从维度表数据库拿数据,这里需要看拿多少数据,look up join,lookup是每次查的时候会更新,join只服务一次加载到任务,此回答整理自钉群“Flink CDC 社区”

    2023-08-01 14:49:15
    赞同 展开评论 打赏

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

相关产品

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

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