Redis 数据集成
这是Redis数据集成(RDI)的第一个正式发布版本。
RDI 的目的是帮助 Redis 客户将 Redis Enterprise 与来自其基于慢速磁盘的数据库的实时数据同步,以便:
- 满足读取查询所需的速度和规模,并提供卓越且可预测的用户体验。
- 在构建管道和编码数据转换时节省资源和时间。
- 通过节省昂贵的数据库读取副本的费用来降低总拥有成本。
如果您使用关系数据库作为应用程序的记录系统,随着用户群的增长,您可能会发现其性能无法很好地扩展。对于几千用户来说可能是可以接受的,但对于几百万用户来说,这可能成为一个重大问题。如果您无法放弃关系数据库,您应该考虑使用快速数据库,如Redis,来缓存读取查询的数据。由于读取查询通常比写入查询多得多,缓存将大大提高性能,并使您的应用程序无需重大重新设计即可扩展。
RDI 使用 变更数据捕获 (CDC) 机制,使 Redis 缓存与主数据库中的更改保持同步。它还允许您将关系表中的数据转换为符合应用程序需求的便捷且快速的数据结构。您可以通过配置系统指定转换规则,因此无需编写代码。
注意:
RDI 支持 Redis 数据库或 CRDB(主动主动复制)目标。功能
RDI 提供企业级流数据管道,具有以下特点:
- 近实时管道 - CDC系统在非常短的时间间隔内捕获变化,然后以微批次的形式传输和处理它们,以提供近实时的Redis更新。
- 至少一次保证 - RDI 将至少一次将选定数据集的任何更改传递到目标 Redis 数据库。
- 数据完整性 - RDI 保持每个源表或唯一键的数据更改顺序。
- 高可用性 - 所有无状态组件都具有热故障转移或快速自动恢复功能。 使用Redis Enterprise复制,RDI状态始终保持高可用性。
- 易于安装和操作 - 使用自文档化的命令行界面(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 旨在支持那些必须使用基于磁盘的数据库作为记录系统,但同时也必须快速且可扩展的应用程序。这是对于用户数量迅速增长的移动和网络应用程序的常见需求;主数据库的性能最初是良好的,但如果没有缓存,它很快将难以应对不断增长的需求。
你应该在以下情况下使用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的信息,请参阅本节中的其他页面: