首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    基于Apache Hudi和Debezium构建CDC入湖管道

    当想要对来自事务数据库(如 Postgres 或 MySQL)的数据执行分析时,通常需要通过称为更改数据捕获[4] CDC的过程将此数据引入数据仓库或数据湖等 OLAP 系统。Debezium 是一种流行的工具,它使 CDC 变得简单,其提供了一种通过读取更改日志[5]来捕获数据库中行级更改的方法,通过这种方式 Debezium 可以避免增加数据库上的 CPU 负载,并确保捕获包括删除在内的所有变更。现在 Apache Hudi[6] 提供了 Debezium 源连接器,CDC 引入数据湖比以往任何时候都更容易,因为它具有一些独特的差异化功能[7]。Hudi 可在数据湖上实现高效的更新、合并和删除事务。Hudi 独特地提供了 Merge-On-Read[8] 写入器,与使用 Spark 或 Flink 的典型数据湖写入器相比,该写入器可以显着降低摄取延迟[9]。最后,Apache Hudi 提供增量查询[10],因此在从数据库中捕获更改后可以在所有后续 ETL 管道中以增量方式处理这些更改下游。

    02

    Robinhood基于Apache Hudi的下一代数据湖实践

    Robinhood 的使命是使所有人的金融民主化。Robinhood 内部不同级别的持续数据分析和数据驱动决策是实现这一使命的基础。我们有各种数据源——OLTP 数据库、事件流和各种第 3 方数据源。需要快速、可靠、安全和以隐私为中心的数据湖摄取服务来支持各种报告、关键业务管道和仪表板。不仅在数据存储规模和查询方面,也在我们在数据湖支持的用例方面,我们从最初的数据湖版本[1]都取得了很大的进展。在这篇博客中,我们将描述如何使用各种开源工具构建基于变更数据捕获的增量摄取,以将我们核心数据集的数据新鲜延迟从 1 天减少到 15 分钟以下。我们还将描述大批量摄取模型中的局限性,以及在大规模操作增量摄取管道时学到的经验教训。

    02

    基于流计算 Oceanus Flink CDC 做好数据集成场景

    数据时代,企业对技术创新和服务水准的要求不断提高,数据已成为企业极其重要的资产。无论是在在企业数据中台的建设,亦或者是打造一站式数据开发和数据治理的PASS平台。 首先需要做的就是进行跨应用的数据融合计算,需要将数据从孤立的数据源中采集出来,汇集到可被计算平台高效访问的目的地。此过程称之为ETL。通常所说的同步大致分为离线全量ETL、离线增量+离线全量的ETL、实时增量+离线全量ETL、实时增量ETL4种方式。 数据同步成为企业数据开发和使用一个绕不过去的技术需求。业内也存在大量的开源的解决方案。 在数据集成技术选型中,我们需要考虑的因素有哪些?主流开源方案中各自的优缺点有哪些?目前备受瞩目和推崇 Flink CDC ETL 是否能作为线上主力同步工具之一,它的优势有哪些?原理是什么?本文主要围绕以上几个疑问,进行论述。

    07

    Streaming Data Changes from MySQL to Elasticsearch

    MySQL Binary Log包含了针对数据库执行DDL(Data Definition Language)和DML(Data Manipulation Language)操作的完整事件,其被广泛应用于数据复制和数据恢复场景。本文所分享的就是一种基于MySQL Binary Log特性实现增量数据近实时同步到Elasticsearch的一种技术。要想实现增量数据的同步,仅仅有binary log是不够的,我们还需要一款变更数据捕获(CDC,Change Data Capture)工具,可能大家很快就会想到阿里巴巴开源的Canal。没错,但本文今天给大家分享一款新的开源工具:Debezium。Debezium构建于Kafka之上,它为MySQL、MongoDB、PostgreSQL、Orcale和Cassandra等一众数据库量身打造了一套完全适配于Kafka Connect的source connector。首先,source connector会实时获取由INSERT、UPDATE和DELETE操作所触发的数据变更事件;然后,将其发送到Kafka topic中;最后,我们使用sink connector将topic中的数据变更事件同步到Elasticsearch中去,从而最终实现数据的近实时流转,如下图所示。

    01

    DBLog:一种基于水印的变更数据捕获框架(论文翻译)

    应用程序通常会使用多个异构数据库,每个数据库都用于服务于特定的需求,例如存储数据的规范形式或提供高级搜索功能。因此,对于应用程序而言,将多个数据库保持同步是非常重要的。我们发现了一系列尝试解决此问题的不同方式,例如双写和分布式事务。然而,这些方法在可行性、稳健性和维护性方面存在局限性。最近出现的一种替代方法是利用变更数据捕获(CDC)框架,从数据库的事务日志中捕获变更的行,并以低延迟将它们传递到下游系统。为了解决数据同步的问题,还需要复制数据库的完整状态,而事务日志通常不包含完整的变更历史记录。同时,某些应用场景要求事务日志事件的高可用性,以使数据库尽可能地保持同步。

    05
    领券