找回密码
 立即注册
查看: 246|回复: 0

数据库更改在 WAL 中持续更新

[复制链接]

1

主题

0

回帖

5

积分

新手上路

积分
5
发表于 2023-11-13 13:07:27 | 显示全部楼层 |阅读模式
因此您可以随时恢复数据库的最新版本。 您还可以使用 WAL 通过更改数据捕获 (CDC) 方法将数据复制到 Redshift。 更改数据捕获 (CDC) 是一种捕获对 PostgreSQL 中的数据所做的更改并将其应用到目标 Redshift 表的技术。它与 COPY 类似,它只导入更改的数据,而不是整个数据库。 然而,与增量 SELECT 和 COPY 不同,带有 WAL 的 CDC 允许您实现 Postgres 到 Redshift 的真正复制。 WAL 不仅捕获数据更改(INSERT、UPDATE、DELETE),还捕获表架构更改,例如 ADD/DROP COLUMN。它还确保从 Postgres 中删除的行也会在 Redshift 中删除。 使用 WAL 复制到 Redshift 需要您将 WAL 日志复制到 S3,然后将其上传到 Redshift。


如何使用 CDC 和 WAL 复制到 Redshift 当将 CDC 与 WAL 方法结合使用时,您实际上是在构建自定义 ETL 应用程序。您不必从头开始执行此操作;根据您的 Postgres 版本,您有以下 沙特阿拉伯电报号码数据 几种选择: 对于 Postgres 版本 10+,您所要做的就是将“wal_level 设置为逻辑”,并使用合适的库连接到您的 Postgres 数据库并在发生更改时捕获更改。以下是您可以使用的三个库示例,但可以在谷歌上搜索“postgres 逻辑复制”   ” 还应该给你很多结果: Python 库:上的 Ruby 库库对于 Postgres 10 之前的版本,您需要安装插件才能实现这一点,其中之一是wal2json。这些插件安装起来可能很麻烦,或者对于某些第三方数据库提供商来说,甚至无法安装。



设置 Postgres 数据库以流式传输更改后,您将需要一个自定义脚本来在更改到达时将其加载到 S3 中。然后,您需要运行一个脚本来推送 COPY 命令以将数据从 S3 导入到 Redshift。 CDC 与 WAL 的缺点 虽然带有 WAL 的 CDC 可以为您提供所需的持续复制到 Redshift,但它很难构建和维护。如果在自定义脚本中处理不当,诸如源端架构更改之类的事情将始终令人头疼。 最后两种方法是针对您的复制挑战而预先构建的一体化解决方案。 亚马逊数据迁移系统 (DMS) 亚马逊数据迁移服务-aws.png 来源 AWS 文档 上述两种方法都是“免费”的。当然,您需要付出设置和管理这些方法所需的时间和专业知识。 Amazon DMS 是一项付费服务​​,通过它您可以获得一个简单的一体化迁移工具。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|阳朔网

GMT+8, 2024-11-28 07:47 , Processed in 0.018971 second(s), 18 queries .

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表