上海专业网站推广公司,建筑型专业网站有哪些,女装关键词排名,学会建网站如何做网络营销PostgreSQL可以说是目前比较抢手的关系型数据库了#xff0c;除了兼具多样功能和强大性能之外#xff0c;还具备非常优秀的可扩展性#xff0c;更重要的是它还开源#xff0c;能火不是没有理由的。
虽然PostgreSQL很强大#xff0c;但是它也有短板#xff0c;相对于专业…PostgreSQL可以说是目前比较抢手的关系型数据库了除了兼具多样功能和强大性能之外还具备非常优秀的可扩展性更重要的是它还开源能火不是没有理由的。
虽然PostgreSQL很强大但是它也有短板相对于专业的数据分析产品大致上有下面几点不足
PostgreSQL本身不太适合用于实时数据分析尽管PostgreSQL具备扩展能力以支持相应能力但是在处理大量实时数据时性能可能不会非常理想。作为一个业务系统PostgreSQL中历史数据的堆积会严重影响数据库的性能同时大幅增加存储成本也是一个不得不解决的问题。
而 Doris 就是一个专业的数据分析产品它是一个实时数仓海量数据下以亚秒级的速度返回查询结果同时支持高并发点查询以及高吞吐复杂分析场景非常适用于实时数据的分析与查询。
因此我们可以选择Doris搭配PostgreSQL使用这样就可以相对完美地弥补PostgreSQL的短板。
太棒了~ 目标定下了那么问题来了...
如何将PostgreSQL的数据实时同步到Doris
众所周知在两个毫不相干的数据管理系统之间进行数据同步特别是实时同步其复杂程度足以让高级DBA脑瓜疼。因为有几个不得不解决的问题
表的初始化在同步数据之前需要手动在Doris端创建和源端一致的表结构然后才能从源端接收数据。当源端有大量表且表结构很复杂的情况下是不是想亖的心都有
数据结构的映射两者数据结构不同怎么确保数据从源端同步过来后的完整性除非你对两者的数据模型的理解非常极致且保证绝对不出错才能达到理想的结果。
实时同步的速率通过Doris进行数据实时分析的大前提是当前Doris中的数据必须是最新的即和源端的PostgreSQL完全一致分析结果才有意义。要保证这一点可不是一个轻松的工作。
源端DDL语句的联动最痛的一个点如何保证源端的数据结构发生变化时同步链路不中断那就需要实时捕获源端PostgreSQL的DDL变更并及时在目标端的Doris中同步执行。
这些问题如果可以顺利解决那实时同步工作将会相当丝滑。那么如何解决呢方法自然是有的而且丝毫不费力。对于上述 4 个问题NineData有绝对的发言权我们先来看看它的特性
结构复制基于目标端数据源的特性自动高效地完成表的创建、数据结构的映射等工作。
复制性能基于动态攒批、并行复制、Stream Load等技术复制性能轻松达到200MB/S。
DDL捕获与执行实时检测源端中的DDL操作并同步在目标端中执行保证其他业务变更能够稳定地进行。
轻松解决且非常愉快下面来看看怎么操作。
步骤一录入源和目标数据源
登录 NineData 控制台单击数据源管理数据源然后在页面中单击创建数据源选择需要录入的数据源。 根据页面提示进行配置然后单击创建数据源完成创建。 步骤二配置同步链路
登录NineData控制台单击数据复制数据复制然后单击创建复制。 根据页面提示配置复制任务由于我们想要实现长期的实时数据同步需要在复制类型处额外勾选增量复制。 配置完成后启动任务针对您配置的所有同步对象NineData会先对所有的存量数据进行全量迁移接下来就是实时同步PostgreSQL中新增的增量数据所有新写入的数据都将一条不漏地同步到Doris每当目标端的增量数据追平源端时任务面板中会显示延迟 0 秒如下图所示。 步骤三可选校验目标端同步数据的完整性
除了同步功能以外NineData 还提供了同步后源端和目标端同步数据的对比功能以确保目标端数据的完整性。
登录NineData控制台单击数据复制数据复制然后单击步骤二中创建的复制任务 ID。 单击数据对比页签并单击开启数据对比如果步骤二的任务配置中已勾选开启数据一致性对比则此处直接展示对比结果。 提示
开启后系统将自动对比源端和目标端的同步对象并给出对比结果。 您可以在一段时间后单击页面中的重新对比校验最新增量数据的同步结果。 步骤四可选配置任务异常告警
由于是长期任务您可能需要系统实时监控任务状态在任务有异常时即刻通知您。
登录NineData控制台单击数据复制数据复制然后单击步骤二中创建的复制任务 ID。 单击右上角的配置告警。 输入策略名称单击保存配置即可。您可以直接使用内置的默认规则在任务运行失败或复制延迟大于等于 10 分钟的时候发送短信提醒您。您也可以自定义创建规则根据您的需求来进行通知。 总结
至此您已经得到了一条长期稳定的 PostgreSQL 到 Doris 的实时同步链路对于需要使用 Doris 实时分析业务数据的用户来说这样的链路不可或缺。同时在把存量的旧数据同步至 Doris 后就可以在 PostgreSQL 端进行旧数据清理空出存储空间特别是对于使用云上资源的企业来说云资源是较为昂贵的这样做可以极大程度上降低存储成本转而投入到更为重要的业务中。