dot 快速发展的未来正在您所在的城市举行活动。

加入我们参加 Redis 发布会

介绍 Redis 数据集成

Redis 宣布公开预览版 Redis 数据集成 (RDI)。RDI 允许开发人员将数据库卸载到 Redis Enterprise,镜像应用程序数据,并以内存速度运行。而且您无需投入编码或集成工作。

根本问题:您现有的数据库太慢。

您拥有大量应用程序、不断增长的用户数量、不断增长的技术需求,以及对实时响应的不懈需求。 Redis Enterprise 提供对数据的实时访问,并且可以水平扩展,但如何使您的 Redis 缓存与您的数据库保持一致,以便所有查询都可以在缓存中执行?

一些组织决定自行承担——结果发现构建缓存预取(或有时称为提前刷新)是多么困难。要创建一个,您需要构建一个可靠的流管道。这从捕获源数据库中所有数据更改开始,然后将数据转换为 Redis 数据类型,以便应用程序可以获取它。此过程通常涉及数据转换和反规范化。

我们看到用户难以自行构建这些流管道。这需要集成多个组件(变更数据捕获 (CDC)、流和 Redis 连接器)、编码转换、错误处理以及许多其他企业基本要求。这些工具构建时间可以花在业务正在等待的更具生产力的工作上。

我们决定自己承担这个挑战。

推出 Redis 数据集成

Redis 数据集成 (RDI) 是一个在 Redis Enterprise 内部运行的工具。它可以帮助您将数据从现有的关系数据库实时同步到 Redis,从而使应用程序读取查询完全从关系数据库卸载到 Redis。

The data transformation process
数据转换过程

RDI 管道有两个阶段

  • 捕获数据库更改并将它们流式传输到 RDI 转换作业中
  • 使用声明性指令转换和反规范化数据,然后将其写入目标 Redis 缓存

数据转换过程

Debezium,一个开源 CDC 平台,捕获源数据库中数据的更改并将其流式传输到 RDI。在 Redis 中,可以进一步过滤、转换和映射数据到一个或多个 Redis 键。RDI 支持多种 Redis 数据类型(哈希、JSON、集合和流)。RDI 将数据写入目标 Redis 数据库。

Ingest with the Debezium server
使用 Debezium 服务器导入

它完成了繁重的工作,因此开发人员可以专注于应用程序代码,而不是集成工作和数据转换代码。

RDI 可以连接到其他 CDC 工具和流数据。我们已经开始构建我们的生态系统,很高兴与 Arcion 建立技术合作伙伴关系。

凭借这种集成解决方案,开发人员可以使用 RDI 作为支柱,以简单的方式将更改从各种数据库流式传输到 Redis Enterprise 和其他数据平台。

无代码数据过滤和转换

从源数据库捕获更改并将数据从一个地方移动到另一个地方已经足够困难。但是,在移动数据方面还有另一个挑战:转换部分,这意味着过滤数据并将数据映射到 Redis 数据模型。

RDI 提供了一个选项,可以指定每个源表所需的过滤和转换步骤。在 RDI 术语中,这称为“作业”;每个作业都是一个 YAML 文件。

Data transformation pipeline
数据转换管道

过滤很重要。CDC 产品提供复杂的过滤,但您必须编写自定义代码。RDI 无需编码即可执行相同操作。相反,使用 SQL 表达式Jmespath 函数 的声明性过滤器将应用。为了方便作业创建者,RDI 附带了额外的 自定义 Jmespath 函数

RDI 有几个数据转换级别

  • 基本转换:这是由 RDI 引擎自动完成的。
  • 结构化:RDI 引擎具有默认方式来结构化为哈希或 JSON,并具有无代码转换功能。您可以选择转换键和字段,甚至可以重新计算这些字段中的值。
  • 反规范化:RDI 将源转换为 JSON 文档,其中文档中的父级详细信息被转换为 JSON 对象的映射。

RDI 包括一个跟踪工具,可以帮助您创建和调试复杂的数据管道,而无需编写自定义代码。这可以加快流程,减少所需的努力和 技能集

故障排除后,可以通过简单的部署命令修改管道,而无需停机。

公开预览中的其他功能

  • 至少一次交付保证
  • Debezium 服务器和 RDI 的高可用性
  • 在死信队列 (DLQ) 中处理硬拒绝条目
  • 支持的源数据库:Oracle、Postgres、MySQL、MariaDB、Percona XtraDB、Microsoft SQL Server 和 Cassandra(包括 DataStax DSE)
  • 数据提取模式:初始快照和 CDC(流式传输更改)
  • 声明性转换:过滤条件、Redis 键模式、更改字段名称、添加字段、删除字段、嵌套
  • 支持的 Redis 数据类型:哈希、JSON、集合、流
  • 开发人员工具:RDI 命令行界面脚手架和跟踪命令
  • 运营商工具:RDI 命令行界面、Grafana 仪表盘(通过 Prometheus 导出器获取指标)

详细了解 我们的 Redis 数据集成文档

RDI 适合您吗?

RDI 非常适合满足以下标准的应用程序

  • 应用程序数据来自不能替换的关系数据库
  • 关系数据库可以适应数据写入的速度,但无法扩展和执行以服务读取查询的负载。必须从关系数据库中卸载读取查询。
  • 至关重要的是,缓存中的数据必须近乎实时地反映关系数据库中的数据。
  • 具有中等至高更改率的关系数据库,其中批量处理插入更改不能满足要求。
  • 源数据库和 Redis 之间的数据映射需要一些数据操作。

展望未来

这是一个公开预览版。我们看到 RDI 导入流到通用可用性,我们正在开发功能以将 Redis 集成到相反的方向:将更改应用于 Redis 数据到下游数据库。

  • 写后:CDC 源是您的 Redis 数据库,目标是下游关系数据库或 NoSQL 数据库。此流将允许您在保留应用程序生态系统和下游服务的同时,享受 Redis Enterprise 的实时读写速度。
  • 写直通:对 Redis 的每次写入也应用于数据库。
  • 读直通:如果发生缓存未命中,RDI 会自动从下游数据库获取丢失的数据,并将其写回 Redis 作为键,以便可以将其返回给请求的应用程序。

开始使用 RDI

RDI 目前仅适用于自管理的 Redis Enterprise 集群。

如果您是 Redis Enterprise 的现有客户,请 下载 RDI CLI 软件包,并按照快速入门指南中的步骤操作。安装指南将指导您完成安装和配置 Debezium 服务器。运行少量 RDI CLI 命令后,您的管道将开始将数据从源数据库移动到 Redis。

如果您不是 Redis Enterprise 的现有客户,则需要先 为 Kubernetes 安装 Redis Enterprise 软件。 然后下载 RDI CLI 软件包,并按照快速入门指南中的步骤操作。