我的编程空间,编程开发者的网络收藏夹
学习永远不晚

企业级云数据库最佳实践

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

企业级云数据库最佳实践

企业级云数据库最佳实践

云数据库 PostgreSQL 是京东智联云基于开源的 PostgreSQL构建的一款功能强大的企业级关系型数据库管理系统。加州大学计算机系开发的PostgreSQL,有“世界上可获得的最先进的开源数据库”之称,在DB-Engines关系型数据库中排名第四,以其稳定性、数据类型多样性(JSON、IP数据和几何数据等)、对地理信息引擎的完整支持等特性,逐渐成为企业级数据库首选。

云数据库PostgreSQL作为一款功能强大的企业级关系型数据库管理系统,能够提供丰富的产品相关生态,还可为用户提供数据订阅服务。用户能够根据自身业务需求自由消费增量数据,适用于缓存更新策略、业务异步解耦、异构数据源的数据实时同步和复杂ETL的数据实时同步等多个业务场景。

京东智联云“云数据库 PostgreSQL”基于Debezium服务,能够实现云数据库PostgreSQL-云Kafka增量消息订阅服务,用户无需部署服务,直接连接客户端即可自定义消费程序进行Kafka数据消费,并且可以随时停止消费。并且在重新启动客户端时,消费的数据会从中断的位置继续恢复。

看到这里,你可能会有所疑惑,云数据库PostgreSQL是京东智联云基于开源的 PostgreSQL构建的一款功能强大的企业级关系型数据库管理系统,但是Debezium服务是什么呢?Debezium服务和云数据库PostgreSQL准实时数据同步原理又是怎样的呢?本文将对如何以云数据库PostgreSQL作为数据源来实现其功能进行介绍。

Debezium服务介绍

Debezium是一组开源的分布式服务,主要用途是捕获数据库中的更改(change data capture,CDC),从而帮助应用程序对数据库的更改进行识别及响应。Debezium服务提供低延迟的针对CDC(change data capture)数据同步分布式平台,启动并指向数据库之后,可以准实时的获取数据库行级别的变更事件。同时,Debezium是构建在kafka之上的,与kafka深度耦合,可以基于kafka Connector来使用。因此能够通过Kafka和Kafka Connect来实现自己的持久性、可靠性和容错性。目前,Debezium服务支持的数据库有MySQL、PostgreSQL、SQL server、Oracle、Mongodb。

基于Debezium的CDC管道架构

众所周知,在业务系统中,会涉及到多个数据源的数据流转,例如在线系统的数据流转到分析系统、流计算系统、搜索引擎、缓存系统、事件处理系统等等。那么,实时的数据流转能力是至关重要的。为了实现这一目的,CDC系统由此出现。

CDC系统用于捕获上游数据的实时变化(已提交的数据),写入消息队列(例如Kafka)并持久化。对于下游系统,可以通过Spark Streaming消费消息队列的数据结合业务逻辑做一些ETL数据处理,或者基于HBase Connector将数据转储到HBase,从而实现实时的数据流转。

我们在物流的业务实践中,由于数据爆发性增长,从而进行了数据库拆分、分库分表。但是在拆分之后,我们又遇到了新的挑战:如何解决分库分表之后数据集中的检索问题呢?此时,Debezium服务应运而生。通过Debezium实时数据管道,将一千多张数据表准实时地同步到Kafka Topic下,再由业务端消费Topic消息摄取数据到ElasticSearch进行检索,便可以完成地址搜索应用场景的构建。

云数据库PostgreSQL增量消息同步原理

Logical Decoding

解析WAL成为逻辑数据的过程被称为Logical Decoding,是从PostgreSQL 9.4开始引入的特性。Logical Decoding是把WAL日志解析成逻辑日志的过程,将用户定阅的数据变化(即对某些表的insert/update/delete操作来带的数据变化)输出成特定的数据格式,Debezium支持Logical Decoding plugin有decoderbufs、wal2json、pgoutput(PostgreSQL 10以上版本)。

复制槽

复制槽(replication slots)是实现同步需求的重要部分,创建一个slot后,能够保存逻辑或物理流复制的基础信息,类似MySQL的位点信息。这样,Debezium通过PostgreSQL JDBC连接到PostgreSQL数据源,然后基于逻辑流复制协议,即可从replication slots获取状态信息,同步数据变更。

基于Debezium Connector摄入数据到其他数据源

Debezium Connector可以将数据库执行DML操作所产生的数据变更事件,以特定的数据格式(JSON/Avro)写入到Kafka对应的Topic下。那么对于同步的目的端来说,只要能够实现从Kafka消费的Connector,再加上一些和源数据对应的格式转换逻辑,就能够将数据同步,并持久化到不同的数据源,例如ElasticSearch、HBase等。

Kafka Connector部署模式分为两种,一种是Standalone模式,一种是Distribution模式。一般在生产模式下建议使用Distribution模式。在集群模式下,可以扩展、容错,一旦某个节点的task任务出现异常,其他正常的节点能够及时接管出现异常的task任务。

具体该如何将PostgreSQL同步数据到ElasticSearch并在Distribution模式下进行集中管理部署,请见下方的示意图。

Debezium功能特性:

  • 快照支持:可选不同的模式,一个初始数据库当前状态的快照可以支持全量数据的同步。这样能够避免由于已经运行了一段时间的数据库中有些事务日志已经被丢弃,导致这部分的数据无法同步到Kafka上的情况发生。
  • 过滤器:可以通过白名单/黑名单过滤器对捕获的模式、表和列集进行配置。
  • 屏蔽:能够屏蔽特定列中的值,例如敏感数据。
  • 监视:大多数Connector都可以使用JMX进行监视,通过Prometheus和Grafana可以有效监控Debezium Connector的运行。
  • 不同的即时消息转换:例如用于消息路由、提取新记录状态。
通过上述内容,想必大家能够对Debezium服务和云数据库PostgreSQL准实时数据同步原理有了进一步的理解。目前,京东智联云云数据库 PostgreSQL已上线,云数据库 PostgreSQL 是京东智联云数据库团队历时 1 年多精心研发的产品,该产品凝聚了京东智联云数据库团队多年来的 PostgreSQL 使用经验,能够提供一个稳定、可靠的数据存储服务。
云数据库 PostgreSQL 易于部署、管理和扩展,默认支持主从热备架构,提供数据备份、故障恢复、监控等全套解决方案,彻底解决数据库运维的烦恼。同时,京东智联云“云数据库 PostgreSQL”通过使用网络隔离、白名单限制外网访问等方式,为数据库服务提供了高级别的安全性需求,帮助用户省去绝大部分复杂而繁琐的管理工作,从而使用户能够更专注于业务流程的开发与建设。

点击阅读快来立即体验 [云数据库 PostgreSQL]吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

企业级云数据库最佳实践

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

企业级云数据库最佳实践

云数据库 PostgreSQL 是京东智联云基于开源的 PostgreSQL构建的一款功能强大的企业级关系型数据库管理系统。加州大学计算机系开发的PostgreSQL,有“世界上可获得的最先进的开源数据库”之称,在DB-Engines关系型数据库中排名第四,以
企业级云数据库最佳实践
2018-04-06

企业应遵循的 4 大云数据安全最佳实践

企业只有通过遵守一些云安全最佳实践来尽其所能时,云提供商才能保护企业的数据。

阿里云数据库设计最佳实践

阿里云数据库是阿里集团提供的一种分布式数据库解决方案,具有高可用、高性能、高安全性等特点。本文将详细介绍如何设计阿里云数据库,使其能够达到最佳性能和稳定性。一、设计原则弹性扩展:阿里云数据库应具有弹性扩展的能力,可以根据业务需求动态地增加或减少数据库实例,以满足业务的快速变化需求。数据一致性:阿里云数据库应具有良
阿里云数据库设计最佳实践
2023-10-31

阿里云ECS与云数据库企业级云基础设施的最佳选择

阿里云ECS(ElasticComputeService)和云数据库是阿里云的核心产品,为企业级用户提供高效、安全、可靠的云基础设施服务。ECS提供弹性计算服务,可以根据需要快速扩展或收缩计算资源;云数据库则提供数据库管理服务,帮助企业级用户轻松管理数据。正文:阿里云ECS(ElasticComputeServi
阿里云ECS与云数据库企业级云基础设施的最佳选择
2023-11-03

TiDB 异构数据库复制最佳实践

作者简介:秦天爽,PingCAP 解决方案事业部架构总监。纵观现有业务系统的分布式改造,其中一个难点在于数据库的迁移:迁移使用全量还是增量?在线还是离线?使用现成的工具还是开发作业?……用户往往面对多种选择。下面将为大家分享 PingCAP 团队在多年的实践中
TiDB 异构数据库复制最佳实践
2017-04-16

MySQL数据库日志管理最佳实践

MySQL数据库日志管理是确保数据库稳定性和可维护性的关键部分。以下是一些最佳实践,可以帮助你有效地管理MySQL数据库日志:选择合适的日志类型:错误日志:记录启动、运行或停止mysqld时出现的问题。查询日志:记录建立的客户端连接和执行
MySQL数据库日志管理最佳实践
2024-10-20

数据库设计的十个最佳实践

数据库是应用及计算机的核心元素,负责存储运行软件应用所需的一切重要数据。为了保障应用正常运行,总有一个甚至多个数据库在默默运作。我们可以把数据库视为信息仓库,以结构化的方式存储了大量的相关信息,并合理分类,方便搜索及使用(java项目 fhadmin.cn)。
数据库设计的十个最佳实践
2018-09-30

PHP 企业级应用架构与设计的最佳实践问答

最佳实践:分层架构:模块化、可复用、分离关注点、提高测试性。mvc 模式:清晰结构、松散耦合、易于维护。数据库连接管理:连接池、连接复用、连接池限制、超时设置。composer 管理依赖项(实战):安装 composer、创建 compos
PHP 企业级应用架构与设计的最佳实践问答
2024-05-07

数据库存版本迁移的最佳实践

数据库存版本迁移过程复杂且容易出错。本文分享了迁移过程中的最佳实践,以确保迁移的成功。
数据库存版本迁移的最佳实践
2024-02-27

阿里云数据库备份保障数据安全的最佳实践

随着数字化转型的加速,数据库已经成为企业业务运行的关键。然而,数据库故障或者数据丢失可能会对企业的业务运营造成严重影响。因此,有效的数据库备份策略至关重要。本文将介绍阿里云数据库备份的最佳实践,以帮助您保障数据的安全。阿里云数据库备份:保障数据安全的最佳实践随着大数据时代的到来,数据库已经成为企业数据管理的核心。
阿里云数据库备份保障数据安全的最佳实践
2023-10-30

提升企业级密码应用安全性的八个最佳实践

如果没有适当的密码管理工具,为每个帐户维护独特而复杂的密码是难以落地实现的。在企业中高效管理密码的最有效方法就是使用专用的密码管理器。可靠的密码管理工具可以自动化创建、更新和共享密码。

业务数据可视化的6个最佳实践

与任何技术一样,数据可视化工具的使用也有不尽人意之处。本文分享了一些可以从业务数据可视化中获得最大价值的专家提示。

MySQL数据恢复最佳实践

MySQL数据恢复的最佳实践包括定期备份、验证备份的完整性、使用异地备份、加密备份以及自动化备份等步骤。以下是详细的实践指南:MySQL数据恢复最佳实践定期备份:根据数据的重要性和变更频率,设定定期备份计划。一般建议每天进行增量备份,每周
MySQL数据恢复最佳实践
2024-10-20

Hadoop数据治理最佳实践

Hadoop数据治理是确保Hadoop集群中的数据质量、安全性和可用性的过程。以下是Hadoop数据治理的最佳实践:定义数据治理策略:制定明确的数据治理策略,包括数据质量标准、数据安全政策、数据备份和恢复策略等。数据分类和标记:对数据进行分
Hadoop数据治理最佳实践
2024-02-29

golang函数缓存与数据库交互最佳实践

在 go 中,函数缓存是一种优化数据库交互的有效方法,可将经常访问的数据存储在内存中以减少查询。为此,可以使用 sync.map,它是一种并发安全且快速的键值存储。在使用函数缓存时,需要考虑数据一致性、缓存大小和过期策略,以创建高效且可靠的
golang函数缓存与数据库交互最佳实践
2024-05-04

MySQL ORM框架的数据库迁移最佳实践

MySQL ORM框架的数据库迁移最佳实践包括以下几个方面:版本控制:使用版本控制系统(如Git)来管理数据库迁移脚本。这样可以追踪每个迁移的版本,方便回滚到之前的版本,以及在多个开发人员之间协作。结构化迁移:将数据库迁移分解为多个小的、可
MySQL ORM框架的数据库迁移最佳实践
2024-10-05

编程热搜

目录