分布式数据库Polardb-X架构及特点

PolarDB-X架构
在这里插入图片描述
计算节点(Compute Node,CN)是系统的入口,采用无状态设计的sql引擎提供分布式路由和计算,包括SQL解析器、优化器、执行器等模块。负责数据分布式路由、计算及动态调度,负责分布式事务2PC协调、全局二级索引维护等,同时提供SQL限流、三权分立等企业级特性。扮演协调者的角色

存储节点 (Data Node,DN)基于多数派Paxos协议提供数据高可靠、强一致保障,每一个DN至少有3个副本,一个leader,2个flower,同时通过MVCC维护分布式事务的可见性判断,扮演参与着的角色

元数据服务(Global Meta Service,GMS)负责维护全局强一致的Table/Schema、Statistics等系统Meta信息,维护账号、权限等安全信息,同时提供全局授时服务(TSO)。

日志节点(Change Data Capture,CDC)从DN上拉取物理的binlog,解析生成出完全兼容MySQL Binlog格式和协议的增量订阅能力,提供兼容MySQL Replication协议的主从复制能力。

1、分布式事务
2PC即两阶段提交、是一种分布式是事务的处理协议、将事物的处理分为Prepare和Commit两阶段,XA事务是2PC一种具体实现范围,Polardb-X基于XA实现分布式事务的处理,CN为TM。DN为RM

分布式事务:https://help.aliyun.com/zh/polardb/polardb-for-xscale/distributed-transactions?spm=a2c4g.11186623.0.0.11c2b85c7FYxAl

2、分库分表策略选择
水平拆分:将数据按照拆分规则分拆到多个库表中,实现数据库的横向扩展,
在这里插入图片描述
如何选择分片数
参考:https://help.aliyun.com/zh/polardb/polardb-for-xscale/select-the-number-of-shards?spm=a2c6h.12873639.article-detail.8.2f734453ttx3CE#concept-1825056

垂直拆分:

3、分区健选择

PolarDB-X 的分区表全面兼容并扩展MySQL分区表的语法,将MySQL的多个分区扩展到了分布式节点中,基于分布式的多节点进一步提高了并发能力。 PolarDB-X 分区表支持常见的分区方式:

范围分区(Range、Range Columns):根据列的范围将表的数据进行分区。可以根据某个列的数值范围(如日期、价格等)将数据分布到不同的分区中。
列表分区(List、List Columns):根据列的值列表将表的数据进行分区。可以将特定列的值匹配到预定义的分区列表中,每个分区可以包含多个值。
哈希分区(Hash、Key):根据列值的哈希结果将表的数据进行分区。哈希分区将表的数据按照哈希算法将数据均匀地分布到不同的分区中。

PolarDB-X 除了可以对表进行一级分区外,还可以对分区进行二级分区。二级分区是在一级分区的基础上再次将数据进行细分,一级分区与二级分区是完全正交的关系,支持使用任意两种分区策略进行组合,组合分区的数目支持达 36 种。 同时在PolarDB-X中,二级分区可以分为模板化分区和非模板化分区两种方式。

Polardb-X 1.0使用
1、完成polardb-x 1.0的创建
2、购买私有RDS
在这里插入图片描述
3、创建数据库
水平拆分
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
单个RDS实例的默认分库数目是8个,不可更改。每个分库里的分表数目理论上是没有限制的,受限于PolarDB-X服务器本身的硬件资源。分表数目的选择需要依据对业务数据量的评估
在这里插入图片描述
在这里插入图片描述
垂直拆分
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Polardb-X 2.0 使用
在这里插入图片描述
参考:https://help.aliyun.com/zh/polardb/polardb-for-xscale/databases-in-auto-mode-and-drds-mode?spm=5176.25930904.help.dexternal.1a0e2b69CJKVzd

4、创建表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/820259.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于java+springboot+vue实现的学生信息管理系统(文末源码+Lw+ppt)23-54

摘 要 人类现已进入21世纪,科技日新月异,经济、信息等方面都取得了长足的进步,特别是信息网络技术的飞速发展,对政治、经济、军事、文化等方面都产生了很大的影响。 利用计算机网络的便利,开发一套基于java的大学生…

文献学习-37-动态场景中任意形状针的单目 3D 位姿估计:一种高效的视觉学习和几何建模方法

On the Monocular 3D Pose Estimation for Arbitrary Shaped Needle in Dynamic Scenes: An Efficient Visual Learning and Geometry Modeling Approach Authors: Bin Li,† , Student Member, IEEE, Bo Lu,† , Member, IEEE, Hongbin Lin, Yaxiang Wang, Fangxun Zhong, Me…

PHP01——php快速入门 之 在Mac上使用phpstudy快速搭建PHP环境

PHP01——php快速入门 之 在Mac上使用phpstudy快速搭建PHP环境 0. 前言1. 下载小皮面板1.1 下载phpstudy(小皮面板)1.2 启动、简单访问1.2.1 启动Apache1.2.2 访问1.2.3 访问自定义文件或页面 2. 创建网站2.1 创建网站2.2 可能遇到的问题2.2.1 hosts权限…

Prompt提示工程上手指南:基础原理及实践-思维树 (ToT)策略下的Prompt

前言 此篇文章已经是本系列的第五篇文章,之前我们已经将检索增强生成(RAG)策略,逐渐我们掌握的知识和技术都在不断提高,对于Prompt的技巧策略也不能只局限于局部运用而要适应LLM大模型的整体框架去进行改进休整。较为主流的LLM模型框架设计基…

提升数据质量的三大要素:清洗prompt、数据溯源、数据增强(含Reviewer2和PeerRead)​

前言 我带队的整个大模型项目团队超过40人了,分六个项目组,每个项目组都是全职带兼职,且都会每周确定任务/目标/计划,然后各项目组各自做任务拆解,有时同组内任务多时 则2-4人一组 方便并行和讨论,每周文档…

Vue3实现pdf本地预览功能

一、先直接看看效果吧 放大后 缩小后 也可以分页显示 二、选用vue-pdf-embed和vue3-pdfjs的原因 选用这两个的插件是因为如果实现pdf预览其实使用iframe标签就可以的,但是使用iframe标签实现的比较臭,vue-pdf-embed是能够自定义样式的,更…

AcWing 793. 高精度乘法——算法基础课题解

AcWing 793. 高精度乘法 题目描述 给定两个非负整数(不含前导 00) A 和 B,请你计算 AB 的值。 输入格式 共两行,第一行包含整数 A,第二行包含整数 B。 输出格式 共一行,包含 AB 的值。 数据范围 1≤…

如何使用hugging face的模型库?

Hugging Face 是一个流行的自然语言处理 (NLP) 模型库和社区,提供了大量预训练模型、工具和资源,使得 NLP 的开发者和研究人员能够快速高效地构建和应用各种文本相关应用。在这里,我将向您介绍如何在 1 天内快速熟悉 Hugging Face 的基本功能…

dotenv的使用:一、基本功能的介绍和说明

在现代软件开发中,项目配置管理是一个重要的环节。配置信息可能包括数据库连接字符串、API密钥、环境特定的设置等。这些信息通常需要在开发、测试和生产等不同的环境中进行切换。dotenv是一个流行的工具,可以帮助开发者更好地管理这些配置信息。 doten…

分析系统性能问题从哪里入手?

本人十年大厂经验,整理技术资料不易, 完整详细文章关注公众号,后续还会有免费学习资料 1. 高性能架构的三个核心优化手段 负载均衡:通过分发用户请求到多个服务器,降低单一服务器的负载压力。 应用层负载均衡&#xf…

2.命中率问题

1.提炼创新点 想方设法突出论文创新点 创新点是一篇论文的灵魂,也是定位论文层次的决定性因素。有的时候,真的不是导师强迫你要创新,而是现在的科研大环境要求你一定要创新。面对日益扩张的研究生群体,而期刊的数量却没怎么增长…

Python零基础从小白打怪升级中~~~~~~~TCP网络编程

TCP网络编程 一、什么是TCP协议 TCP( Transmission control protocol )即传输控制协议,是一种面向连接、可靠的数据传输协议,它是为了在不可靠的互联网上提供可靠的端到端字节流而专门设计的一个传输协议。 面向连接 :数据传输之前客户端和…

Stable Diffusion AI绘画宝典:从新手到高手,一图胜千言!

在这个数字化时代的浪潮中,人工智能技术以其惊人的创造力和创新性席卷全球。党的二十大报告把“实施科教兴国战略,强化现代化建设人才支撑”作为战略举措进行系统阐述,彰显我国不断发展新动能、新优势的决心和气魄。 Stable Diffusion是一款…

Vue3 + Element-Plus 使用 Table 预览图片发生元素遮挡

Vue3 Element-Plus 使用 Table 预览图片发生元素遮挡 问题代码问题重现解决方法最终效果 问题代码 <el-table-column label"视频" align"center"><template #default"scope" style"display: flex;"><div style"…

碾压LoRA!Meta CMU | 提出高效大模型微调方法:GaLore,内存可减少63.3%

引言 大模型训练通常会遇到内存资源的限制。目前常用的内存减少方法低秩适应&#xff08;LoRA&#xff09;&#xff0c;通过引入低秩&#xff08;low-rank&#xff09;适配器来更新模型的权重&#xff0c;而不是直接更新整个权重矩阵。然而&#xff0c;这种方法在预训练和微调…

消息队列和分布式消息队列

文章目录 分析系统现状不足中间件消息队列什么是消息队列&#xff1f;应用场景消息队列的模型为什么不直接传输&#xff0c;而要用消息队列&#xff1f;为什么要用消息队列&#xff1f;消息队列的缺点&#xff1f; 分布式消息队列分布式消息队列的优势&#xff1f;消息队列应用…

linux的一些基本操作和命令

1.如何创建文件和文件夹 &#xff08;1&#xff09;创建文件&#xff0c;touch加文件名。 &#xff08;2&#xff09;用ls命令可查看我们创建出的文件。 &#xff08;3&#xff09;创建文件夹&#xff0c;mkdir 加文件夹名。 &#xff08;4&#xff09;用ls -l命令可以查看…

安装kafka需优先安装 zookeeper ,scala

安装kafka需优先安装 zookeeper ,scala scala安装&#xff08;如安装略过&#xff09; 现在 wget https://downloads.lightbend.com/scala/2.12.11/scala-2.12.11.tgz解压 tar -zxvf scala-2.12.11.tgz编辑环境变量 vim /etc/profile添加环境变量 &#xff08;export SCALA_H…

如何利用R语言获取worldclim30s的气候数据

要使用R语言获取WorldClim30s的气候数据&#xff0c;你可以使用raster包来处理栅格数据&#xff0c;而且getData()函数可以方便地从WorldClim网站下载数据。以下是一个获取WorldClim30s数据的基本步骤&#xff1a; 安装和加载必要的包&#xff1a; 在R中&#xff0c;首先要确保…

LeetCode55题:跳跃游戏(原创)

【题目描述】 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&am…