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