虹科干货 | 什么是Redis数据集成(RDI)?

大量的应用程序、日益增长的用户规模、不断扩展的技术需求,以及对即时响应的持续追求。想想这些是否正是你在经历的。也许你尝试过自己构建工具来应对这些需求,但是大量的编码和集成工作使你焦头烂额。那你是否知道,有这样一个工具可以帮助你实现从缓存中执行所有查询?

一、推出Redis数据集成(RDI)的背景

企业面临着大量的应用程序、日益增长的用户规模、不断扩展的技术需求,以及对即时响应的持续追求。Redis Enterprise提供对数据的实时访问,并且可以水平扩展,但是如何使Redis 缓存与数据库保持一致,以便所有查询都可以从缓存执行?

有些组织决定自己承担只是发现构建缓存预取(或有时称为提前刷新)非常困难。他们需要自己构建一个可靠的流传输管道。首先捕获源数据库中发生的所有数据更改,然后将数据转换为Redis 数据类型以允许应用程序获取它。此过程通常涉及数据转换和去规范化。他们需要集成多个组件(变更数据捕获(Change Data Capture, CDC)、流式传输和 Redis 连接器)、编码转换、错误处理和许多其他企业基本要求,而这些用于工具构建的时间可以去做更有成效的工作。

在用户面临着种种问题的情况下, Redis 数据集成 (RDI) 的公开预览版在万众期待下诞生了。RDI 允许开发人员将数据库转移到Redis Enterprise、镜像应用程序数据并以内存中的速度运行而且不需要投入编码或集成工作。

二、进入Redis数据集成

Redis 数据集成(RDI)是在Redis Enterprise 内部运行的工具。它可以帮助用户近乎实时地将数据从现有关系数据库同步到Redis,以便应用程序读取查询完全从关系数据库转移到Redis。 


数据转换过程

RDI 管道有两个阶段:

· 捕获数据库更改并将其流式传输到RDI 转换任务中

· 使用声明性指令对数据进行转换和去规范化,然后将其写入目标Redis 缓存

数据转换过程

· Debezium是一个开源 CDC 平台,捕获源数据库中数据的更改并将其流式传输到 RDI。在 Redis 内,数据可以被进一步过滤、转换并映射到一个或多个Redis 键。RDI 支持多种Redis 数据类型(Hash、JSON、Set 和 Stream)。RDI 将数据写入目标 Redis 数据库。它承担了繁重的工作,因此开发人员可以专注于应用程序代码,而不是集成琐事和数据转换代码。

· RDI可以与其他CDC工具和数据流连接,借助这样的集成解决方案,开发人员可以使用RDI 作为核心,以简单的方式将各种数据库的更改流式传输到Redis Enterprise 和其他数据平台。


使用Debezium 服务器提取

三、无代码数据过滤和转换

从源数据库捕获更改并将数据从一个地方传输到另一个地方已经很困难了。然而,流动数据还存在另一个挑战:转换部分,这意味着过滤数据并将数据映射到Redis 数据模型。

1)RDI 提供了一个选项来指定每个源表所需的所有过滤和转换步骤。用 RDI 术语来说这称为作业;每个作业都是一个YAML 文件。


数据转换管道

过滤

RDI 无需编码即可完成过滤,而不需要开发人员编写自定义代码。开发人员可以使用SQL 表达式或Jmespath 函数的声明式过滤器。RDI 附带了额外的自定义 Jmespath 函数,以方便作业创建者使用。

RDI 有几个级别的数据转换:

· 基本转换:这是由RDI 引擎自动完成的。

· 结构化:RDI 引擎有一种默认的结构方式,可以通过无代码转换的功能将其构造为哈希或JSON 。您可以选择转换键和字段,甚至重新计算这些字段中的值。

· 规范化:RDI 将源数据转换为JSON 文档,其中文档中的父级详细信息被转换为 JSON 对象的映射。

故障排除:

RDI 包含一个跟踪工具,可帮助开发人员无需编写自定义代码,就可以创建复杂的数据管道并对其进行故障排除。这加快了流程并减少了所需的工作量和技能。故障排除后,通过简单的部署命令即可修改管道,无需停机。

四、预览版中的附加功能:

· 至少保证一次交付

·  Debezium 服务器和 RDI 的高可用性

· 死信队列(Dead Letter Queue, DLQ) 中的硬拒绝条目处理

· 支持的源数据库:Oracle、Postgres、MySQL、MariaDB、Percona XtraDB、Microsoft SQL Server 和 Cassandra(包括 DataStax DSE)

· 数据提取模式:初始快照和CDC(流更改)

· 声明式转换:过滤条件、Redis 键模式、更改字段名称、添加字段、删除字段、嵌套

· 支持的Redis 数据类型:Hash、JSON、Set、Stream

· 开发人员工具:RDI 命令行界面脚手架和跟踪命令

· 操作员工具:RDI 命令行界面、Grafana 仪表板(通过 Prometheus 导出器进行指标)

五、什么情况下可以使用RDI?

· 应用数据来自关系型数据库,不可替换。

· 关系数据库可以适应数据写入的速度,但无法扩展和执行以满足读取查询的负载。从关系数据库中转移读取查询是必要的。

· 缓存中的数据必须近乎实时地反映关系数据库中的数据,这一点至关重要。

· 关系数据库的更改率为中高水平,批量插入更改不能满足要求。

· 源数据库和Redis之间的数据映射需要一些数据操作。

六、Redis数据集成(RDI)的发展

RDI的目前版本是公开预览,以相反方向集成Redis 的功能正在研究中:将对Redis 数据的更改应用到下游数据库。

· Write-behind:CDC 源是用户的Redis 数据库,用户的目标是下游关系数据库或NoSQL 数据库。此流程将让用户享受Redis Enterprise 的实时写入和读取速度,同时保留应用程序生态系统和下游服务。

· Write-through:对Redis 的每次写入也会应用于关系数据库。

· 通读:如果发生缓存未命中,RDI 会自动从下游数据库获取丢失的数据,并将其作为键写回 Redis,以便将其返回给请求的应用程序。

七、如何开始使用RDI

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354

推荐阅读更多精彩内容