广东省路桥建设发展有限公司网站,国外网站服务器地址,注册城乡规划师准考证打印时间,长春火车站位置PostgreSQL 作为一个开源且功能强大的关系型数据库管理系统#xff0c;在 OLTP 系统中得到了广泛应用。很多企业利用其卓越的性能和灵活的架构#xff0c;应对高并发事务、快速响应等需求。
然而对于 OLAP 场景#xff0c;PostgreSQL 可能并不是最佳选择。
为了实现庞大规…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 支持数十种不同数据源的数据实时同步、周期性数据集成场景。全量是免费的还赠送一条增量链路。