【虹科分享】什么是Redis数据集成(RDI)?

news2024/10/5 13:01:04

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

一、推出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服务器提取

                  使用 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 集群。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1066600.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构-图-最小生成树问题

最小生成树 并查集定义举例说明查找某个元素属于哪个集合代码实现路径压缩 Kruskal算法原理代码实现 Prim算法原理代码实现 并查集 定义 🚀在一些应用问题中,需要将n个不同的元素分成一些不相交的集合。开始时,每个元素自成一个单元素集合&…

小商品公众号微信店铺搭建的作用是什么

小商品顾名思义就是价格低、需求广且数量多的日用产品,覆盖人群非常广,无论线上还是线下总能找到目标客户,铅笔、削皮刀、晾衣架等各式产品琳琅满目,不少商家也是热衷于小商品的售卖。 从整体来看,小商品商家也可线上…

tomcat整体架构

Tomcat介绍 Tomcat是Apache Software Foundation(Apache软件基金会)开发的一款开源的Java Servlet 容器。它是一种Web服务器,用于在服务器端运行Java Servlet和JavaServer Pages (JSP)技术。它可 以为Java Web应用程序提供运行环境&#x…

刚入职字节外包一个月,我却离职了...

有一种打工人的羡慕,叫做“大厂”。 真是年少不知大厂香,错把青春插稻秧。 但是,在深圳有一群比大厂员工更庞大的群体,他们顶着大厂的“名”,做着大厂的工作,还可以享受大厂的伙食,却没有大厂…

新手选MT4还是MT5,anzo capital昂首资本建议选择MT4,一个原因

在交易中就订单执行策略而言,MT4和MT5哪个更好,相信很多交易者和,anzo capital昂首资本一样很难做出判断。在MT5中,虽然开发人员对发送订单的流程进行了额外的复杂化,同时MT5在订单执行政策方面的优势在于其能够调整全…

告警繁杂迷人眼,多源分析见月明

随着数字化浪潮的蓬勃兴起,网络安全问题日趋凸显,面对指数级增长的威胁和告警,传统的安全防御往往力不从心。网内业务逻辑不规范、安全设备技术不成熟都会导致安全设备触发告警。如何在海量众多安全告警中识别出真正的网络安全攻击事件成为安…

Vue3项目使用Stimulsoft.Reports.js【项目实战】

Vue3项目使用Stimulsoft.Reports.js【项目实战】 相关阅读:vue-cli使用stimulsoft.reports.js(保姆级教程)_stimulsoft vue-CSDN博客 前言 在BS的项目中我们时常会用到报表打印、标签打印、单据打印,可是BS的通用打印解决方案又…

【JavaEE初阶】 多线程(初阶)——壹

文章目录 🌲线程的概念🚩线程是什么🚩为啥要有线程🚩进程和线程的区别🚩Java 的线程 和 操作系统线程 的关系 😎第一个多线程程序🚩使用 jconsole 命令观察线程 🎍创建线程&#x1f…

字段位置顺序对值的影响

Unity中验证AB加载场景时报错: Cannot load scene: Invalid scene name (empty string) and invalid build index -1 报错原因是因为把字段放在了Start函数后面(图一)改成(图二)就好了。图一中协程使用的sceneBName字段值为null。 图一: 图二&#xff1a…

【C++】List -- 详解

一、list的介绍及使用 https://cplusplus.com/reference/list/list/?kwlist list 是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 list 的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中&…

Windows10点击开始菜单没反应的四种解决方法

在Windows10电脑中,用户点击开始菜单却出现了没反映的情况,这样用户就无法通过开始菜单来展开操作哦,会给用户的正常操作带来一定程序的影响,下面小编给大家带来四种简单的解决方法,帮助大家轻松恢复Windows10电脑开始…

Selenium 高级定位 CSS

一、CSS选择器概念 CSS拥有自己的语法规则和表达式 CSS通常分为相对定位和绝对定位 CSS常和XPATH一起用于UI自动化测试 二、CSS相对定位使用场景 支持web场景支持app端的webview 三、CSS语法实战 3.1、CSS相对定位的优点 可维护性强语法简洁可以解决各种复杂的定位场景 # …

ARMv7-A 那些事 - 6.常用汇编指令

By: Ailson Jack Date: 2023.10.07 个人博客:http://www.only2fire.com/ 本文在我博客的地址是:http://www.only2fire.com/archives/158.html,排版更好,便于学习,也可以去我博客逛逛,兴许有你想要的内容呢。…

【二叉树练习题】

欢迎来到我的:世界 希望作者的文章对你有所帮助,有不足的地方还请指正,大家一起学习交流 ! 目录 前言初阶题二叉树的节点个数二叉树的叶子节点个数二叉树第k层节点个数二叉树查找值为x的节点 进阶题完全二叉树的节点个数翻转二叉树检验两个树…

修炼k8s+flink+hdfs+dlink(一:安装dlink)

一:mysql初始化。 mysql -uroot -p123456 create database dinky; grant all privileges on dinky.* to dinky% identified by dinky with grant option; flush privileges;二:上传dinky。 上传至目录/opt/app/dlink tar -zxvf dlink-release-0.7.4.t…

医学访问学者面试技巧

医学访问学者面试是一个非常重要的环节,它决定了你是否能够获得这个宝贵的机会去国外的大学或研究机构学习和研究。在这篇文章中,知识人网小编将分享一些关于医学访问学者面试的技巧,帮助你在面试中表现出色。 1. 准备充分 在参加医学访问学…

Multisim:JFET混频器设计(含完整程序)

目录 前言实验内容一、先看作业题目要求二、作业正文IntroductionPre-lab work3.13.2 Experiment Work4.1(2)circuit setup4.1(3)add 12V DC4.1(4)set input x1 and x24.1(5)4.1(6)4.1(7)4.2(1)(2)4.2(3)4.2(4)4.3(1)(2)4.3(3) Conclusion 三、资源包内容 前言 花了好大心血完成…

【线性代数及其应用 —— 第一章 线性代数中的线性方程组】-1.线性方程组

所有笔记请看: 博客学习目录_Howe_xixi的博客-CSDN博客https://blog.csdn.net/weixin_44362628/article/details/126020573?spm1001.2014.3001.5502思维导图如下: 内容笔记如下:

中国高清行政、地形、旅游、人文地图全集(地理干货,覆盖34个省市自治区)

中国高清行政、地形、旅游、人文地图全集(地理干货,覆盖34个省市自治区): 中国的高原、平原、盆地和丘陵 四大高原:青藏高原位于中国西南部,平均海拔在4000米以上,是中国最大、世界最高的大高原…

安卓手机如何下载谷歌应用商店(play.google.com)里的app,无需下载google play

不需要梯子! 不需要下载google play! 不需要考虑机型! 1、首先使用电脑打开网站 https://apps.evozi.com/ 点击 apk downloader 进入一个新的界面 2、电脑打开谷歌商店 https://play.google.com/store/apps 搜索任意软件,比如 …