《云原生一站式数据库技术与实践》——一、云原生分布式数据库PolarDB-X技术架构(1)

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 《云原生一站式数据库技术与实践》——一、云原生分布式数据库PolarDB-X技术架构(1)

一、云原生分布式数据库PolarDB-X技术架构


作者:黄贵,阿里云PolarDB-X 数据库研发负责人


image.png



PolarDB-X 是一款云原生分布式数据库,为存储计算分离的分布式数据库架构,由以下几个组件构成:


元数据服务(GMS)。GMS 是一个高可用集群,利用Paxos 协议实现数据的高可用,负责存储全局的元数据,包括数据的分片、数据节点计算节点的拓扑信息以及日志节点拓扑信息,还负责提供全局授时的服务,用于判断数据的全局可见性,提供外部一致性事务保证。



计算节点。计算节点无状态,负责接收应用发来的SQL,任意计算节点都可以完成SQL 的解析、重写、优化、转化为物理执行计划并执行,支持MPP 的执行框架,负责整个计划的调度与执行,并最终返回结果。



数据节点。是数据存储的载体,同时也负责单机执行计划的执行。数据节点会组成复制组,每个组由Paxos 一致性协议保证数据的强一致的高可用,为了横向的扩展能力会将其切分为很多分片。数据片会根据一定的规则分布在各个DN复制组上。



日志节点。提供全局一致的Binlog 能力,兼容MySQL 生态。日志节点输出的全局一致Binlog 完全兼容单机MySQL 提供的Binlog ,因此可以将整个PolarDB-X 看作单机的MySQL 来使用,包括原来的生态、对接的下游数仓、大数据类的生态,都可以通过CDC 消费日志。



PolarDB-X 架构在阿里云平台上,包括生命周期的管理、备份、容灾、数据迁移、数据的DevOps、SQL 的全流程诊断、DAS 等都依托于云平台提供的一整套数据库服务。


image.png




PolarDB-X 作为分布式数据库,具有以下三个特点:


• 原生MySQL 生态。提供完全兼容MySQL 的能力,包括语法、语义、功能、协议以及生态的兼容。原生的MySQL JDBC 的connector 或Java、Go 等版本的客户端connector 都可以直接连接PolarDB-X,享受完全一致的体验。


生态的兼容方面,利用CDC,PolarDB-X 既可以作为MySQL 的备机,通过Binlog同步数据,使用MySQL 的replication 功能,实现主备高可用的模式,也可以作为一个大的MySQL 数据库,通过CDC 同步给下游的数据生态系统。


• 一体化透明分布式。PolarDB-X 希望用户不再需要关注数据分布的细节,也无需为此做太多优化,我们希望尽可能地为用户提供与单机数据库一致性的体验,不管是建表还是应用均无需做任何改变即可享受到分布式数据库的扩展能力。降低用户的使用门槛。另外,PolarDB-X 支持手工分区模式,按实际业务需求进行调优。分布式主要体现在自动扩展、分布式事务以及Online DDL。



• 企业级数据库的能力,包括强一致数据的高可用、支持HTAP 以及对于数据安全的保障。



分布式数据库并不是新技术,只是早期的分布式数据库更多地存在于学术界,作为研究对象。2000 年左右,互联网开始蓬勃发展,业内意识到了单机数据库以及集中式数据库的局限性,无法应对互联网业务增长带来的海量数据以及对于大规模数据的高并发、高吞吐的写入需求。



为了增强数据库的扩展性,逐渐发展出了NoSQL。而NoSQL 数据库为了扩展性,放弃了很多关系型数据库的实用特性,包括ACID 等,使得应用不得不编写复杂的逻辑来尽可能保证数据一致性,变得更复杂。后来,关系型数据库和分布式技术相结合发展出了NewSQL,这也是分布式数据库从理论走向应用的发展阶段,彼时的分布式数据库更多地被大型互联网公司使用。




《云原生一站式数据库技术与实践》——一、云原生分布式数据库PolarDB-X技术架构(2) https://developer.aliyun.com/article/1231704?groupCode=aliyundb

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
目录
相关文章
|
5天前
|
运维 Kubernetes Cloud Native
云原生技术:容器化与微服务架构的完美结合
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其灵活性和高效性成为企业的新宠。本文将深入探讨云原生的核心概念,包括容器化技术和微服务架构,以及它们如何共同推动现代应用的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务,揭示云原生技术的强大能力和未来潜力。
|
4天前
|
运维 Kubernetes Cloud Native
云原生技术入门及实践
【10月更文挑战第39天】在数字化浪潮的推动下,云原生技术应运而生,它不仅仅是一种技术趋势,更是企业数字化转型的关键。本文将带你走进云原生的世界,从基础概念到实际操作,一步步揭示云原生的魅力和价值。通过实例分析,我们将深入探讨如何利用云原生技术提升业务灵活性、降低成本并加速创新。无论你是云原生技术的初学者还是希望深化理解的开发者,这篇文章都将为你提供宝贵的知识和启示。
|
5天前
|
运维 Cloud Native 安全
云原生技术在现代软件开发中的实践与挑战####
【10月更文挑战第21天】 本文将深入探讨云原生技术在现代软件开发中的应用,分析其带来的优势及面临的挑战。通过案例分析和数据支持,揭示云原生化转型的关键因素,并展望未来发展趋势。 ####
21 7
|
5天前
|
Cloud Native 持续交付 云计算
云原生技术入门与实践
【10月更文挑战第37天】本文旨在为初学者提供云原生技术的基础知识和实践指南。我们将从云原生的概念出发,探讨其在现代软件开发中的重要性,并介绍相关的核心技术。通过实际的代码示例,我们展示了如何在云平台上部署和管理应用,以及如何利用云原生架构提高系统的可伸缩性、弹性和可靠性。无论你是云原生领域的新手,还是希望深化理解的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
|
3天前
|
弹性计算 Kubernetes Cloud Native
云原生技术的实践与思考
云原生技术的实践与思考
17 2
|
5天前
|
Kubernetes Cloud Native 持续交付
云原生技术在现代应用架构中的实践与思考
【10月更文挑战第38天】随着云计算的不断成熟和演进,云原生(Cloud-Native)已成为推动企业数字化转型的重要力量。本文从云原生的基本概念出发,深入探讨了其在现代应用架构中的实际应用,并结合代码示例,展示了云原生技术如何优化资源管理、提升系统弹性和加速开发流程。通过分析云原生的优势与面临的挑战,本文旨在为读者提供一份云原生转型的指南和启示。
19 3
|
3天前
|
边缘计算 Cloud Native 安全
云原生技术的未来发展趋势
云原生技术的未来发展趋势
14 1
|
4天前
|
运维 Kubernetes Cloud Native
云原生技术在现代应用架构中的实践与挑战####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在实际项目中的应用案例,分析了企业在向云原生转型过程中面临的主要挑战及应对策略。不同于传统摘要的概述性质,本摘要强调通过具体实例揭示云原生技术如何促进应用的灵活性、可扩展性和高效运维,同时指出实践中需注意的技术债务、安全合规等问题,为读者提供一幅云原生技术实践的全景视图。 ####
|
5天前
|
Kubernetes Cloud Native 持续交付
云原生技术在现代软件开发中的应用与挑战
【10月更文挑战第37天】随着云计算技术的不断演进,云原生技术已经成为推动软件开发现代化的重要力量。本文将深入探讨云原生技术的核心概念、优势以及面临的挑战,并通过一个实际的代码示例,展示如何在云原生环境中部署一个简单的应用。我们将从云原生的基础架构出发,逐步引导读者理解其在现代软件开发中的关键作用。
17 1
|
6天前
|
Kubernetes Cloud Native Docker
云原生技术探索:容器化与微服务的实践之道
【10月更文挑战第36天】在云计算的浪潮中,云原生技术以其高效、灵活和可靠的特性成为企业数字化转型的重要推手。本文将深入探讨云原生的两大核心概念——容器化与微服务架构,并通过实际代码示例,揭示如何通过Docker和Kubernetes实现服务的快速部署和管理。我们将从基础概念入手,逐步引导读者理解并实践云原生技术,最终掌握如何构建和维护一个高效、可扩展的云原生应用。

相关产品

  • 云原生分布式数据库 PolarDB-X
  • 云原生数据库 PolarDB