怎样将PostgreSQL的数据及时迁徙到SelectDB?

打印 上一主题 下一主题

主题 969|帖子 969|积分 2909

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
PostgreSQL 作为一个开源且功能强大的关系型数据库管理体系,在 OLTP 体系中得到了广泛应用。许多企业利用其卓越的性能和灵活的架构,应对高并发事件、快速相应等需求。
然而对于 OLAP 场景,PostgreSQL 可能并不是最佳选择。
为了实现庞大规模数据的数据分析场景,企业会选择利用专业数据堆栈产品。比方:ClickHouse、Doris、SelectDB、Greenplum、Redshift 等。选择数仓不得不考虑查询性能和存储服从,而 SelectDB 在这两个方面表现优秀,在查询性能方面,SelectDB 接纳先进的列存储和向量化执行引擎,可以或许高效处理复杂查询,提供卓越的查询性能;在存储服从方面,SelectDB 的列存储布局和高效压缩算法,大大减少了磁盘占用和 I/O 开销。


PostgreSQL
本文以 SelectDB 为例,先容怎样把 PostgreSQL 的数据迁徙到 SelectDB 中。
数据迁徙难在哪?

想象一下,如果你如今要做 PostgreSQL 到 SelectDB 的数据迁徙,你需要做哪些事情?


  • 表的初始化:SelectDB 端是不是要先创建一个和源端划一的表布局?然后才华从源端吸收数据。手动举行初始化的情况下,如果 PostgreSQL 端有成百上千个表,你又该怎样应对?
  • 数据布局的映射:PostgreSQL 和 SelectDB 两者数据布局差别,这点很紧张,需要确保数据从源端同步过去后还是完备的。很负责任地说一句,除非你对两者的数据模子的理解非常极致,且保证绝对不出错,才可能达到理想的结果。
  • 及时同步的速率:让 SelectDB 端的数据时候与源端的 PostgreSQL 保持划一。通过 SelectDB 举行数据及时分析的大条件是,当前 SelectDB 中的数据必须是最新的,分析结果才有意义。
  • 源端 DDL 语句的联动:及时捕获源端 PostgreSQL 的 DDL 变更,并及时在目的端的 SelectDB 中同步执行。这绝对不能算是一个轻松的工作,大多数情况下,源端的数据布局发生变化时,同步链路会停止,导致迁徙失败。
  • 同步任务的稳定性:试想如果需要长期在线同步 PostgreSQL 和 SelectDB,什么最紧张?固然是同步任务的稳定性。你得考虑在网络、服务器出现异常的情况下,应该怎么保证任务可用。
这些问题很关键,依赖手动或者简单的脚本,迁徙结果肯定是不太好的 ,那么选择一个对的工具就至关紧张了。
其实对于上述问题,NineData 有绝对的发言权,我们先来看看它的特性:


  • 布局复制:基于目的端数据源的特性,自动高效地完成表的创建、数据布局的映射等工作。
  • 复制性能:基于动态攒批、并行复制、Stream Load 等技术,复制性能轻松达到 200 MB/S。
  • DDL 捕获与执行:及时检测源端中的 DDL 操作,并同步在目的端中执行,保证其他业务变更可以或许稳定地举行。
任务高可用机制:针对 PostgreSQL 主从切换、数据源异常、网络抖动、服务器异常等各种故障场景下,可以或许自动发现异常,并举行自诊断及自修复;同时,针对无法自愈的场景,在任务中提供了丰富的修复手段。
我们来实际演示一下。
步骤一:录入源和目的数据源

1. 登录 NineData 控制台,单击数据源管理>数据源,然后在页面中单击创建数据源,选择需要录入的数据源。



2. 根据页面提示举行配置,然后单击创建数据源完成创建。



步骤二:配置同步链路

1. 登录 NineData 控制台,单击数据复制>数据复制,然后单击创建复制。



2. 根据页面提示配置复制任务,由于我们想要实现长期的及时数据同步,需要在复制类型处额外勾选增量复制。



3. 配置完成后启动任务,针对您配置的所有同步对象,NineData 会先对所有的存量数据举行全量迁徙,接下来就是及时同步 PostgreSQL 中新增的增量数据,所有新写入的数据都将一条不漏地同步到 SelectDB,每当目的端的增量数据追平源端时,任务面板中会表现延迟 0 秒,如下图所示。



步骤三(可选):校验目的端同步数据的完备性

除了同步功能以外,NineData 还提供了同步后源端和目的端同步数据的对比功能,以确保目的端数据的完备性。
1. 登录 NineData 控制台,单击数据复制>数据复制,然后单击步骤二中创建的复制任务 ID。



2. 单击数据对比页签,并单击开启数据对比(如果步骤二的任务配置中已勾选开启数据划一性对比,则此处直接展示对比结果)。



提示:开启后,体系将自动对比源端和目的端的同步对象,并给出对比结果。
3. 您可以在一段时间后,单击页面中的重新对比,校验最新增量数据的同步结果。



步骤四(可选):配置任务异常告警

由于是长期任务,您可能需要体系及时监控任务状态,在任务有异常时即刻通知您。
1. 登录 NineData 控制台,单击数据复制>数据复制,然后单击步骤二中创建的复制任务 ID。



2. 单击右上角的配置告警。



3. 输入计谋名称,选择告警规则,单击生存配置即可。您可以直接利用内置的默认规则,在任务运行失败,或复制延迟大于 10 分钟的时候,发送短信提醒您。您也可以自界说创建规则,根据您的需求来举行通知。



总结

其实像异构数据迁徙这样的事,只要选对了工具,真的没那么难,属于有手就行。就好像本文的 PostgreSQL 迁徙到 SelectDB 的场景,一顿操作下来,任务立刻就起来了,数据也立刻就过去了,新的增量数据一眨眼功夫就可以在 SelectDB 端查询到了,追念一下好像自己什么也没干,但却发现数据分析的前置工作都已经完成了。
实际的配置过程,远没有你看完这篇文章的时间长,也远没有你想象的复杂。看我说产品怎样怎样不如直接上手来得直观。所以如果企业有这块的需求,不妨直接尝试,NineData 支持数十种差别数据源的数据及时同步、周期性数据集成场景。全量是免费的,还赠送一条增量链路。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

拉不拉稀肚拉稀

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表