《阿里云认证的解析与实战-关系型数据库ACP认证》——PolarDB云原生关系型数据库的解析与实践(上)—— 二、PolarDB的架构原理

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 《阿里云认证的解析与实战-关系型数据库ACP认证》——PolarDB云原生关系型数据库的解析与实践(上)—— 二、PolarDB的架构原理

1. PolarDB架构

 image.png

PolarDB架构图

 

PolarDB架构,从上往下分为几层:

 

ECS:部署应用机器,相当于是client层

Proxy:代理层,做读写分离

DB的计算层:因为PolarDB计算、存储分离,所以分为计算层和存储层,此层是DB的计算层,拥有很多实例,一个实例是一个主节点,最多支持15个只读节点

RDMA:高速互联网络,计算层和存储层通过RDMA连接

Data Chunk Server:最底层,分布式存储。

 

PolarDB读写请求都是通过主节点下发,读请求只通过读节点下发。PolarDB的计算节点都是无状态的主节点和只读节点,数据文件存在底层的分布式文件系统中,各个计算节点同步时,只需要同步源数据信息。

 

总的来说,PolarDB的主要特性是:一写多读、计算与存储分离、读写分离、高速链路互联、共享分布式存储、数据多副本Parallel-Raft协议。

 

2. PolarDB多主架构

image.png

 

1) 基础功能

 

支持不同数据库在不同计算节点并发写入

目前最多支持32个节点同时写入

支持数据库跨节点动态调度,秒级切换

计算节点故障秒级完成切换

 

2) 应用场景

 

SaaS应用:满足高并发性能需求,实现租户间负载均衡

游戏:更好的性能和扩展能力,支持世界服架构

电商:满足高并发读写需求

 

3. 可用性管理

 image.png

 

PolarDB同时支持多节点架构和多可用区架构。

 

多节点架构:可以挂多个主节点、只读节点和计算层到同一个分布式存储上。如果主节点出现故障,会自动选择一个只读节点升级为新的主节点。对用户而言,体验就是感受到了20-30s的故障。

多可用区架构:如果整个可用区都发生故障时,可以切换到备可用区,可实现跨区容灾。

 

4. GDN全球数据库网络

image.png

全球数据库GDN

 

GDN:分布在全球地域的多个PolarDB数据库集群组成的一张网络,所有集群数据可以保持同步,可以实现全球容灾

主集群:只有一个集群有读写权限,就是主集群

从集群:从GDN中主机群同步数据的从属集群,一类是读服务,一类是写转发服务。

 

优势特点

 

如果业务有海外部署的需求,从集群就可以提供就近服务

整个PolarDB的GDN通过proxy来管理,用户不用担心自己的client向那个集群写,内核会自动判断当前的集群属于主集群还是从集群;是主集群则直接写入,是从集群则内核帮助转发

主集群可做跨国业务迁移。

 

5. PolarDB的访问方式

 image.png

 

访问模式:可读可写、只读

访问地址:集群地址、主地址

访问点:

 数据库的访问入口,也可以称为接入点

 每个集群提供多个访问点,每个访问点可以连接一个或者多个实际的物理节点

 新购买的PolarDB会提供两个访问点,分别叫主地址和集群地址。

 

主地址:是主节点的访问点,如果发生故障切换后,系统会把访问点自动指向新的主节点

集群地址:是在集群地址上,会自动整合集群下的多个节点,对外提供一个统一的读写地址。集群地址是通过数据库代理去访问,具有自动弹性、读写分离、负载均衡、一致性协调能力等。

新购的只读节点,会自动加入到集群中,可以根据业务的需求去创建最多三个自定义的集群地址。

在自定义的集群地址上可以指定任意多个只读节点,可以选择子集去定义集群地址。

 

6. 数据库代理

 

PolarDB数据库代理是位于数据库和应用程序之间的网络代理服务,用于代理应用程序访问数据库时的所有请求,具有高可用、高性能、可运维、简单易用等特点,支持自动读写分离、负载均衡、一致性级别、连接池等高级功能。用户可以连接PolarDB集群地址使用数据库代理的各项功能。

 image.png

 image.png

连接池是较为常见的一个需求,大多数用户想要解决连接数过多或者短连接业务频繁建立新连接类的业务,有可能导致实例连接负载过高的问题,连接池可以很好的隔离解决。

 

一致性是访问点的属性,主要是用户在主节点和只读节点上数据的一致性。三个选项分别是:最终一致性、会话一致性、强一致性。默认为最终一致性,在创建时或者控制台中都可以进行配置。

 

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
10天前
|
运维 Cloud Native 持续交付
云原生架构的演进与实践####
【10月更文挑战第16天】 云原生,这一概念自提出以来,便以其独特的魅力和无限的可能性,引领着现代软件开发与部署的新浪潮。本文旨在探讨云原生架构的核心理念、关键技术及其在实际项目中的应用实践,揭示其如何帮助企业实现更高效、更灵活、更可靠的IT系统构建与管理。通过深入剖析容器化、微服务、持续集成/持续部署(CI/CD)等核心技术,结合具体案例,本文将展现云原生架构如何赋能企业数字化转型,推动业务创新与发展。 ####
109 47
|
10天前
|
Kubernetes Cloud Native 持续交付
云计算的转型之路:云原生技术的崛起与实践####
【10月更文挑战第16天】 本文深入探讨了云原生技术在现代IT架构变革中的核心作用,不同于传统概述,本摘要将聚焦于云原生如何促进企业实现敏捷开发、弹性伸缩及高效运维,通过具体案例分析展现其在实际业务场景中的创新应用,揭示这一技术趋势对企业数字化转型的深远影响。 ####
29 2
|
3天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
4天前
|
监控 Cloud Native Java
云原生架构下微服务治理策略与实践####
【10月更文挑战第20天】 本文深入探讨了云原生环境下微服务架构的治理策略,通过分析当前技术趋势与挑战,提出了一系列高效、可扩展的微服务治理最佳实践方案。不同于传统摘要概述内容要点,本部分直接聚焦于治理核心——如何在动态多变的分布式系统中实现服务的自动发现、配置管理、流量控制及故障恢复,旨在为开发者提供一套系统性的方法论,助力企业在云端构建更加健壮、灵活的应用程序。 ####
44 10
|
4天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
3天前
|
Prometheus 监控 Cloud Native
实战经验:成功的DevOps实施案例解析
实战经验:成功的DevOps实施案例解析
14 6
|
17小时前
|
UED
<大厂实战经验> Flutter&鸿蒙next 中使用 initState 和 mounted 处理异步请求的详细解析
在 Flutter 开发中,处理异步请求是常见需求。本文详细介绍了如何在 `initState` 中触发异步请求,并使用 `mounted` 属性确保在适当时机更新 UI。通过示例代码,展示了如何安全地进行异步操作和处理异常,避免在组件卸载后更新 UI 的问题。希望本文能帮助你更好地理解和应用 Flutter 中的异步处理。
57 3
|
4天前
|
运维 Cloud Native 持续交付
云原生架构下的微服务设计原则与实践####
【10月更文挑战第20天】 本文深入探讨了云原生环境中微服务设计的几大核心原则,包括服务的细粒度划分、无状态性、独立部署、自动化管理及容错机制。通过分析这些原则背后的技术逻辑与业务价值,结合具体案例,展示了如何在现代云平台上实现高效、灵活且可扩展的微服务架构,以应对快速变化的市场需求和技术挑战。 ####
23 7
|
17小时前
|
JavaScript API 开发工具
<大厂实战场景> ~ Flutter&鸿蒙next 解析后端返回的 HTML 数据详解
本文介绍了如何在 Flutter 中解析后端返回的 HTML 数据。首先解释了 HTML 解析的概念,然后详细介绍了使用 `http` 和 `html` 库的步骤,包括添加依赖、获取 HTML 数据、解析 HTML 内容和在 Flutter UI 中显示解析结果。通过具体的代码示例,展示了如何从 URL 获取 HTML 并提取特定信息,如链接列表。希望本文能帮助你在 Flutter 应用中更好地处理 HTML 数据。
70 1
|
2天前
|
敏捷开发 Cloud Native 持续交付
云原生技术在现代企业中的应用与实践
【10月更文挑战第23天】本文将深入探讨云原生技术在现代企业中的广泛应用,并结合具体案例分析其对企业数字化转型的推动作用。我们将从云原生技术的基本原理出发,逐步揭示其在提高业务敏捷性、降低成本和增强系统可靠性方面的优势。同时,文章还将分享一系列成功实施云原生技术的企业案例,为读者提供实践中的参考和启示。最后,我们将讨论云原生技术面临的挑战及未来的发展趋势,为企业在这一领域的进一步探索提供指导。

推荐镜像

更多