Redis 数据集成
这是 Redis 数据集成 (RDI) 的第一个正式发布版本。
RDI 的目的是帮助 Redis 客户将 Redis Enterprise 与来自其基于慢速磁盘的数据库的实时数据同步,以便:
- 满足所需的读取查询速度和规模,并提供出色且可预测的用户体验。
- 在构建管道和编码数据转换时节省资源和时间。
- 通过节省昂贵的数据库只读副本费用来降低总拥有成本。
如果您使用关系数据库作为应用程序的记录系统, 您最终可能会发现 它的性能不能随着用户群的增长而很好地扩展。可能是 对于几千个用户来说是可以接受的,但对于几百万用户来说,它可以变成一个 主要问题。如果您无法选择放弃关系 数据库,您应该考虑使用快速的 数据库(如 Redis)缓存来自读取查询的数据。由于 read 查询 通常比写入更常见,则缓存将大大 提高性能,让您的应用程序无需进行重大重新设计即可扩展。
RDI 使用变更数据捕获 (CDC) 机制使 Redis 缓存与主数据库中的更改保持同步。 它还允许您将关系表中的数据转换为方便的 以及符合您应用程序要求的快速数据结构。您可以指定 转换,因此无需编码。
注意:
Redis 数据库或 CRDB(主动主动复制)目标支持 RDI。特征
RDI 为企业级流数据管道提供以下功能:
- 近乎实时的管道 - CDC 系统在非常短的时间间隔内捕获更改, 然后以微批处理方式交付和处理它们,以便为 Redis 提供近乎实时的更新。
- 至少一次保证 - RDI 将至少对所选数据集进行任何更改 一次到目标 Redis 数据库。
- 数据完整性 - RDI 保留每个源表或唯一键的数据更改顺序。
- 高可用性 - 所有无状态组件都具有热故障转移或快速自动恢复功能。 使用 Redis Enterprise 复制时,RDI 状态始终具有高可用性。
- 易于安装和作 - 使用自文档命令行界面 (CLI) 适用于所有安装和第二天作。
- 无需编码 - 使用 Redis Insight 创建和测试您的管道。
- 传输中数据加密 - RDI 从不将数据保存到磁盘。所有动态数据均为 使用 TLS 或 mTLS 连接进行保护。
- 可观测性 - 指标 - RDI 以源表粒度收集数据处理计数器 以及数据处理性能指标。这些可通过 GUI、CLI 和 Prometheus 终端节点获得。
- 可观察性 - 日志 - RDI 将轮换日志保存到单个文件夹中。它们采用 JSON 格式, 因此,您可以使用自己喜欢的可观测性工具收集和处理它们。
- 背压机制 - RDI 旨在在缓存获取 disconnected,这可以防止级联故障。由于更改数据保存在源中 数据库和 Redis 的速度非常快,RDI 可以在短时间内轻松赶上错过的更改 断开。有关更多信息,请参阅背压机制。
- 从完全故障中恢复 - 如果缓存失败或长时间断开连接, RDI 可以使用已定义数据集的完整快照在 Redis 中重建缓存数据。
- 高吞吐量 – 由于 RDI 使用 Redis 进行暂存并写入 Redis 作为目标, 它具有非常高的吞吐量。具有单个处理器内核和大小约为 1KB 的记录, RDI 每秒处理大约 10000 条记录。在拍摄 源数据库,RDI 会自动扩展到可配置的处理单元数量, 以尽快填充缓存。
何时使用 RDI
RDI 旨在支持必须使用基于磁盘的数据库作为记录系统的应用程序 但也必须快速且可扩展。这是移动和 Web 的常见要求 用户数量快速增长的应用程序;主数据库的性能一开始很好 但是,如果没有缓存,它很快就会难以处理不断增长的需求。
在以下情况下,您应该使用 RDI:
- 您必须使用慢速数据库作为应用程序的记录系统 。
- 应用程序必须始终将其数据写入慢速数据库。
- 您已经打算将 Redis 用于应用程序缓存。
- 数据以较小的增量频繁更改。
- 您的应用程序可以容忍 Redis 缓存中数据的最终一致性。
在以下情况下,不应使用 RDI:
- 您只需将现有数据集迁移到 Redis 中一次。
- 数据不经常更新,并且会大批量更新。
- 您的应用需要即时缓存一致性,而不是最终一致性。
- 数据同时从 Active-Active 的两个副本中提取。
- 应用程序必须将数据写入 Redis 缓存,然后 Redis 缓存会更新源数据库。
- 您的数据集永远不会很小。
支持的源数据库
RDI 可以从以下任何来源捕获数据:
数据库 | 版本 | AWS RDS 版本 | GCP SQL 版本 |
---|---|---|---|
神谕 | 12c、19c、21c | 19c、21c | - |
MariaDB的 | 10.5, 11.4.3 | 10.4 到 10.11、11.4.3 | - |
MySQL (MySQL的 | 5.7、8.0.x、8.2 | 8.0.x 版本 | 8.0 |
PostgreSQL 数据库 | 10, 11, 12, 13, 14, 15, 16 | 11, 12, 13, 14, 15, 16 | 15 |
SQL 服务器 | 2017, 2019, 2022 | 2016, 2017, 2019, 2022 | 2019 |
AlloyDB PostgreSQL 版 | 14.2, 15.7 | - | 14.2, 15.7 |
AWS Aurora/PostgreSQL | 15 | 15 | - |
文档
从本节中的其他页面了解有关 RDI 的更多信息: