当前位置: 首页 > news >正文

分布式数据库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、创建表

相关文章:

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

PolarDB-X架构 计算节点(Compute Node,CN)是系统的入口,采用无状态设计的sql引擎提供分布式路由和计算,包括SQL解析器、优化器、执行器等模块。负责数据分布式路由、计算及动态调度,负责分布式事务2PC协调…...

【spring】@Resource注解学习

Resource介绍 在Spring框架中,Resource 注解是一个JSR-250标准注解,用于自动装配(autowiring)Spring容器中的bean。Resource 注解可以用于字段、方法和方法参数上,以声明依赖注入。 Resource源码 Target({TYPE, FIE…...

【leetcode面试经典150题】43. 字母异位词分组(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致&…...

计算机网络 Cisco路由器基本配置

一、实验内容 1、按照下表配置好PC机IP地址和路由器端口IP地址 2、配置好路由器特权密文密码“abcd+两位班内序号”和远程登录密码“star” 3、验证测试 a.验证各个接口的IP地址是否正确配置和开启 b.PC1 和 PC2 互ping c.验证PC1通过远程登陆到路由器上&#…...

Windows Edge 兼容性问题修复:提升用户体验的关键步骤

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…...

Vue 3 性能飞跃:解析其性能提升的关键方面

文章目录 响应式系统优化静态树提升diff算法优化Tree Shaking优化Composition API事件缓存机制 响应式系统优化 Vue双向绑定原理 Proxy 相较于 Object.defineProperty 在性能上的优势主要体现在以下几个方面: 属性检测的全面覆盖: Object.defineProper…...

MySQL 存储过程中,参数的传递主要通过以下两种方式:IN、OUT 和 INOUT

在 MySQL 存储过程中,参数的传递主要通过以下两种方式:IN、OUT 和 INOUT。这些参数类型决定了参数在存储过程中的使用方式以及存储过程执行完毕后参数值的变化。 1. IN 参数 IN 参数是输入参数,它的值在存储过程被调用时传入,并…...

修改当前Git仓库的地址、用户名、密码

1.修改仓库地址 git remote set-url origin 新的仓库地址2.修改用户名和密码 2.1 修改用户名和密码1 分两步操作: 修改用户名: git config --global user.name "Your New Name"修改密码: 如果是 HTTPS 访问方式,并…...

尚鼎环境科技诚邀您参观2024第13届生物发酵展

参展企业介绍 尚鼎环境科技(江苏)有限公司设立于2010年,公司坐落于江南平原南端素有『苏北门户』之称的古城扬州,办公室位在江苏省扬州市邗江区高新技术创业服务中心。 尚鼎环境科技长年致力于食品精炼/环境工程领域全程技术服务,工程实绩遍…...

UE5 C++ 创建3DWidgete 血条 再造成伤害

一.创建 二.UI里声明变量 创建类 public:UPROPERTY(EditAnywhere,BlueprintReadWrite,Category "MyWidget")float CurrentHealth 100.0f;UPROPERTY(EditAnywhere,BlueprintReadWrite,Category "MyWidget"…...

Android 14 vold 分析(1)启动

1.启动 它是从rc文件中启动的,rc文件是second stage init才会解析的,也就是说vold主要作用做second stage mount,那first stage mount是怎么做的呢,第一阶段实际上直接调用的是fs_mgr进行的mount,fs_mgr_do_mount_one…...

【云计算】混合云组成、应用场景、风险挑战

混合云组成及应用场景 1.混合云组成1.1 基础网络1.2 统一的技术平台 2.混合云应用场景2.1 灾备2.2 弹性算力调度2.3 法律合规2.4 成本控制 3.风险与挑战3.1 标准缺乏3.2 网速有限3.3 技术绑定3.4 法律合规 1.混合云组成 根据混合云应用场景的不同,混合云的组件差别…...

spring bean的继承和依赖

bean的继承和依赖 spring除了提供了一般的配置bean的方式之外,还实现了java中继承的特性,设置bean的父子关系,这样对于一些重复的配置就可以进行省略 bean的继承 配置bean的父子关系,父bean有的东西,子bean全部继承过来…...

Swift中的字符串

Swift中的字符串是一个有序的字符集合,用于存储和操作文本数据。字符串由一系列的Unicode字符组成,可以包含任意的字符,包括字母、数字、符号和空格等。 在Swift中,字符串的类型是String,可以使用双引号或者三引号来表…...

MySQL基础-----约束详解

目录 一. 概述: 二.约束演示: 三.外键约束: 3.1介绍: 3.2外键约束语法: 3.3删除,更新行为: 一. 概述: 🧐🧐概念:约束是作用于表中字段上的规则,用于限制…...

【Unity】游戏场景添加后处理特效PostProcessing

添加后处理特效PostProcessing 添加雾效果后处理何为后处理?添加后处理特效 添加雾效果 依次点击Window -> Rendering -> Lighting添加Lighting面板。 点击Lighting里面的Environment,找到Other Setting 将Fog选项勾选 更改下方的颜色 调整雾的浓…...

STM32芯片软复位导致SRAM2的值被擦除话题

1. 问题描述 客户在使用 STM32L433CCY6 开发过程中,出现软件复位后 SRAM2 里的值被擦除问题。 2. 问题确认 客户用同一版软件在两块板子上的表现还不一样,一块软件复位后 SRAM2 的值不会被擦除,另一块则会被擦除,并且确认被擦除…...

【C++航海王:追寻罗杰的编程之路】异常——错误处理方式之一

目录 引言 1 -> C语言传统的处理错误的方式 2 -> C异常概念 3 -> 异常的使用 3.1 -> 异常的抛出和捕获 3.2 -> 异常的重新抛出 3.3 -> 异常规范 4 -> 自定义异常体系 5 -> C标准库的异常体系 6 -> 异常的优缺点 引言 在C编程中&#xff…...

5.2 mybatis之autoMappingBehavior作用

文章目录 1. NONE关闭自动映射2. PARTIAL非嵌套结果映射3. FULL全自动映射 众所周知mybatis中标签< resultMap >是用来处理数据库库字段与java对象属性映射的。通常java对象属性&#xff08;驼峰格式&#xff09;与数据库表字段&#xff08;下划线形式&#xff09;是一 一…...

【算法一则】做算法学数据结构 - 简化路径 - 【栈】

目录 题目栈代码题解 题目 给你一个字符串 path &#xff0c;表示指向某一文件或目录的 Unix 风格 绝对路径 &#xff08;以 ‘/’ 开头&#xff09;&#xff0c;请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中&#xff0c;一个点&#xff08;.&#xff09;表…...

16-bit像素艺术AI终端效果展示:实时HUD状态栏+物理位移反馈动效演示

16-bit像素艺术AI终端效果展示&#xff1a;实时HUD状态栏物理位移反馈动效演示 1. 像素幻梦创意工坊概览 Pixel Dream Workshop&#xff08;像素幻梦创意工坊&#xff09;是一款革命性的像素艺术生成工具&#xff0c;基于先进的FLUX.1-dev扩散模型构建。与传统AI绘图工具不同…...

开源压枪系统:基于像素识别技术的后坐力补偿解决方案

开源压枪系统&#xff1a;基于像素识别技术的后坐力补偿解决方案 【免费下载链接】Apex-NoRecoil-2021 Scripts to reduce recoil for Apex Legends. (auto weapon detection, support multiple resolutions) 项目地址: https://gitcode.com/gh_mirrors/ap/Apex-NoRecoil-202…...

实战指南:如何用FAISS和GPT-4o-mini构建高效RAG系统(附开源代码)

实战指南&#xff1a;如何用FAISS和GPT-4o-mini构建高效RAG系统&#xff08;附开源代码&#xff09; 在人工智能领域&#xff0c;检索增强生成&#xff08;RAG&#xff09;技术正迅速成为连接大型语言模型与专业知识的桥梁。不同于传统LLM仅依赖预训练知识&#xff0c;RAG系统通…...

AI编程助手太烧钱?试试这个‘外挂’:心灵宝石MCP服务在Cursor中的安装与长期使用心得

深度解析Cursor IDE中的MCP服务&#xff1a;心灵宝石的高效部署与实战技巧 作为一名全栈开发者&#xff0c;我几乎每天都要与代码编辑器打交道。从早期的Sublime Text到VS Code&#xff0c;再到如今集成了AI能力的Cursor&#xff0c;工具链的进化让开发效率不断提升。但随之而来…...

深入解析DW_I2C驱动中的中断处理机制:从FIFO到数据传输实战

深入解析DW_I2C驱动中的中断处理机制&#xff1a;从FIFO到数据传输实战 在嵌入式Linux开发中&#xff0c;I2C总线作为连接各类传感器的关键通道&#xff0c;其驱动性能直接影响系统响应速度和稳定性。DW_I2C&#xff08;DesignWare I2C&#xff09;作为业界广泛采用的IP核&…...

手把手教你用PasteMD:本地AI一键整理笔记和代码片段

手把手教你用PasteMD&#xff1a;本地AI一键整理笔记和代码片段 你是不是也经常被这些场景困扰&#xff1f;开会时用手机快速记下的要点&#xff0c;事后整理时发现全是碎片化的短句&#xff0c;毫无结构可言&#xff1b;从网页复制下来的技术文档&#xff0c;格式混乱&#x…...

C#搞CV别再跪了!OpenCVSharp的SIFT/SURF实现:我熬3夜踩5个坑,吐血整理保姆级代码

&#x1f32a;️ 一、先泼冰水&#xff1a;SIFT/SURF的“专利坟场”&#xff0c;别往里跳&#xff01;&#xff08;血泪预警&#xff09; ⚠️ 重点敲黑板&#xff1a; SURF已凉透&#xff1a;OpenCV 4.5.0 彻底移除&#xff01;别再搜“怎么用SURF”&#xff0c;纯属浪费生命&…...

Vue项目实战:集成Cesium加载天地图与高德地图的完整指南

1. 环境准备与项目初始化 在开始集成Cesium之前&#xff0c;我们需要先搭建好Vue的开发环境。这里我推荐使用Vue 3的组合式API&#xff0c;因为它的模块化特性与Cesium的集成更加契合。不过Vue 2的用户也不用担心&#xff0c;大部分代码都是兼容的。 首先创建一个新的Vue项目…...

手把手教你用Matlab/Simulink搭建VSG虚拟阻抗模型,搞定新能源并网振荡难题

新能源并网VSG虚拟阻抗控制实战&#xff1a;从Simulink建模到振荡抑制 电力电子工程师们正面临一个棘手难题——新能源并网系统中的宽频振荡。当构网型变流器&#xff08;GFM&#xff09;在强电网环境下运行时&#xff0c;次同步和超同步频段的负阻尼特性可能导致系统失稳。虚拟…...

新手入门实战:基于 Spring Boot 的计算机毕设题目推荐管理系统设计与实现

对于计算机专业的同学来说&#xff0c;毕业设计&#xff08;毕设&#xff09;是大学学习成果的一次重要检验。然而&#xff0c;选题环节往往令人头疼&#xff1a;题目来源分散、重复率高、与个人兴趣或能力不匹配&#xff0c;缺乏一个集中的平台进行管理和推荐。今天&#xff0…...