• 在 web 应用程序中,除了更新数据库之外,请求处理通常具有次要效果,例如更新另一个数据源或发送电子邮件。但是很难可靠地控制二次效应发生的时间和条件。 在这篇博文中,我将向您展示如何使用
  • 所有成功的数据驱动组织都有一个共同点;他们有一个高质量和高效的数据创建过程。数据创建通常是数据团队成功与失败之间的区别。 数据创建的架构模式在数据创建中,有三种类型的架构模式:事件溯源EventSourcing变更
  • 在系统中使用事件很棒,但是您如何确定您是否可靠地调度了事件?事件的传输需要可靠地完成,同时保持整个系统的一致性,无论是最终的还是立即的。在典型的设置中,数据库用于存储信息,队列用于在进程和系统之间发送消息。通常,事件在将信息存储在数据中的同一操作中直接分派到队列。这看起来似乎并没有明显的错误 icon
  • 虽然Kafka是一个功能强大的消息系统,但由于网络问题,我们可能会遇到一些不理想的情况。我们也遇到过由于网络问题导致的事件丢失,在试图避免这些丢失的同时,我们也遇到了由于相同原因导致的不同问题。 在这篇文章中,我解释了我们如何解决在使用kafka作 icon
  • 在本文中,我想讨论实现 CDC 的几种不同方法,以及一些关键应用程序是什么以及 CDC 如何融入现代数据流架构的大局。 有几种从数据库中提取变更事件的方法,每一种都有自己的优点和缺点。因此,让我们仔细看看每种方法。   icon
  • 分布式系统架构由于其灵活性、可扩展性和容错性而变得越来越流行。然而,实时查询来自多个微服务的数据可能具有挑战性,因为它可能需要复杂且耗时的数据检索操作。物化视图与命令查询职责分离(CQRS) 模式相结合,可以通过实现微服务数据的高效实时查询来提供应对这一挑战的解决方案。 icon
  • 变更数据捕获是一个从数据库获取数据的过程,用于复制针对操作数据库执行的操作,以供下游应用程序使用。 CDC可用于将针对源数据库执行的事务移动到目标数据库。实时CDC在此非常有价值,因为它可以实现零停机源数据库复制和迁移。例如,在将为关键应用程序提供服务的内 icon
  • 变更数据捕获 (CDC) 是数据工程中的强大工具,在过去几年中在各种组织中得到了巨大的应用。这是因为它能够以非常低的延迟将事务数据库紧密集成到您企业中的许多其他系统中。 CDC 对事务数据库中发生的更改(例如插入、更新和删除)做出响应,并将这些更改实时发送 icon
  • 数据管道中的数据合约是什么?如何实施? 最简单的数据合同是数据生产者和数据消费者之间就所生产的数据应是什么样子、应满足什么 SLA 以及其语义达成的协议。 数据合约是一种含有以下元数据结构: 生产 icon
  • 该项目演示了 Debezium 作为变更数据捕获 (CDC) 工具与 PostgreSQL 的集成。Debezium 捕获数据库中的更改并将其发布到 Apache Kafka,从而允许实时消费数据库更改。 更改数据捕获 ( CDC ) 是一种旨在识 icon
  • 这篇文章介绍了Uber内部分布式数据库Docstore的架构、挑战以及他们构建的集成缓存解决方案CacheFront。文章详细介绍了CacheFront的设计、特性和实现,以及对最终结果的评估。通过CacheFront,Uber成功解决了在Docstore上扩展读取工作负载的挑战,并取得了显 icon
  • 对于变更数据捕获 (CDC) 的用户来说,Postgres 版本 16(今年 9 月发布)中最令人兴奋的功能之一是支持从备用服务器进行逻辑复制。您现在可以将 Debezium 等 CDC 工具指向副本服务器,而不是连接到主服务器,这从负载分布的角度来看非常有趣。 icon
  • 数据变更事件是Debezium等变更数据捕获 (CDC) 解决方案的核心。它们描述对数据库中特定记录所做的更改,并允许事件使用者根据此信息采取行动,从而实现广泛的用例,例如实时 ETL(通过将更新的数据传播到下游数据存储,例如数据仓库、分析数据库或全文搜索索引)、微服务数据交换或审计日志记录 icon
  • Arijit Mazumdar 撰写的文章《超越 Debezium for PostgreSQL 基础知识 - 第 1 部分》深入探讨了用于捕获和流式传输数据库更改的开源框架 Debezium 如何与 PostgreSQL 集成。以下是本文涵盖的要点: icon
  • "部分复制"听起来很简单——不就是同步你APP需要的数据吗?但选方法可让人头疼:逻辑复制能精确追踪每次改动(但保证强一致性很麻烦),物理复制虽然简单却要同步所有改动(包括没用的)。要是能结合两者的优点该多好?这就是我今天开源的Graft存储引擎的核心思路——专为"懒人式部分复制"设计,既保证强一致性 icon
  • 对于数据库的每条记录,每个系统都保存自己的内部逻辑时钟以及从对齐队列收到的另一个数据库的时钟。 假设有两个主数据库:Master A 和Master B,都有由Clock A 和Clock B列。Master A修改了一条记录,并增加了自己 icon
  • 每个系统都是一个日志:避免分布式应用程序中的协调。 构建一个不容易出问题的分布式应用程序还是很困难的。 本来你应该只需要关心业务逻辑和问题本身的复杂性。但实际上,你得一行一行地检查代码,想着:“如果服务在 icon
  • 在本文中,我们探讨了事务性消息传递的复杂性,从原子地执行数据库操作和发布域事件的挑战开始。我们发现了隐藏的困难,并了解了事务发件箱模式如何帮助解决这些困难。 然后,我们使用EventuateTram框架,它为我们实现了这个模式。通过使用Eventuate icon