AntDB存储技术——水平动态扩展技术

news2025/2/7 12:19:20

数据库集群安装完成后,其数据存储容量是预先规划并确定的。随着时间的推移以及业务量的增加,数据库集群中的可用存储空间不断减少,面临数据存储容量扩充的需求。

通过增加数据节点,扩充集群数据容量,必然需要对已有数据重新分布, 即将已有数据迁移到其他数据节点。传统的分布式集群存储扩容方案中,数 据迁移时,禁止对数据进行访问,而数据迁移时间较长,从而影响了可用性。AntDB 提供的 hot expasion 扩容方案中,将原有的数据迁移分成数据同步和路由切换两个阶段。

在数据同步阶段,通过热备和流复制技术,保证新增节点增量追加源节点数据,不对表加锁,不影响数据库集群对外提供服务。当新增节点与源节点数据同步时间在秒级时,进入路由切换阶段。锁住集群,暂停集群对外服务,等到并确认源节点与新增节点数据一致后,修改访问路由,最后解锁集群,恢复集群对外服务。

通过将数据迁移划分为两个阶段,hot expasion 扩容方案将扩容对集群可用性的影响时间,从整个数据迁移阶段缩小到路由切换阶段,由于路由切换正常在 10 秒内可以完成,从而极大地减少扩容对集群可用性的影响。

hot expasion 的扩容是针对单个数据节点的扩容。假设集群中现有 DN 节点A,当节点 A 不足以容纳数据时,添加节点 B,将节点 A 中原有数据,重新分布到A 与B 两个节点,从而达到增加集群容量的目的。节点 A 成为被扩容节点, 节点 B 成为扩容节点。
如图 3-5 所示为 AntDB 水平动态扩容流程,具体为:
(1)数据同步阶段:将节点 A 数据同步到节点 B。不对节点 A 加锁,不影响对节点 A 的访问。当节点 A 与节点 B 数据同步时间在秒级时,进入路由切换阶段。
(2)路由切换阶段:锁定集群,等待并确定节点A 和节点B 数据一致后,将节点 B 加入路由表,解除集群锁。新的访问使用更新后的路由。
(3)数据清除阶段:将 A 与B 两个节点中不属于本节点的冗余数据删除。

图 3-5 AntDB 水平动态扩容流程

hot expasion 扩容方案的核心是:通过增量数据复制,减少数据迁移对集群可用性的影响。该方案需要对原有的表定义、数据路由和数据可见性的处理进行修改,并支持合理高效的冗余数据删除。

 

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

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

相关文章

云服务器是什么? 云服务器有哪些选择?

欢迎前往我的个人博客云服务器查看更多关于云服务器和建站等相关文章。 随着互联网技术的发展和云计算技术的应用,越来越多的企业倾向于使用云服务器来满足其不断增长的计算需求。云服务器是一种基于云计算技术的虚拟服务器,它能够为企业提供高性能、可…

创业很长时间以后

创业过很长时间以后…综合能力是有滴 创业和打工后的思维习惯 为了效率,一般情况是这样滴 趣讲大白话:区别还是有滴 【趣讲信息科技195期】 **************************** 创业还是很难滴 每年成立很多新公司 有很多公司关门 公司平均生存时间&#xff1…

AntDB 企业增强特性介绍——AntDB在线数据扩容关键技术

数据库集群安装完成后,其数据存储容量是预先规划并确定的。随着时间的推移以及业务量的增加,数据库集群中的可用存储空间不断减少,面临数据存储容量扩充的需求。 传统的在线扩容的流程大致如下。 (1)在集群中加入新的 …

Golang | Web开发之Gin路由访问日志自定义输出实践

欢迎关注「全栈工程师修炼指南」公众号 点击 👇 下方卡片 即可关注我哟! 设为「星标⭐」每天带你 基础入门 到 进阶实践 再到 放弃学习! 专注 企业运维实践、网络安全、系统运维、应用开发、物联网实战、全栈文章 等知识分享 “ 花开堪折直须折&#xf…

2022届本科毕业生10大高薪专业:大数据专业进入top3

对于普通人来讲,报考一个高薪的职业还是重中之重。那么什么专业高薪呢,很多人觉得是程序员,但这是职业而不是大学专业,专业千千万,选什么好呢,接下来看一看。 最近国家统计局发布了2022年城镇单位就业人员…

MMU翻译的时候以哪种level去执行是什么意思

【问题】 以哪个el去执行是什么意思&#xff1f;执行这条指令就会切到切换指令里指定的el吗&#xff1f; 【回答】 在一个core中&#xff0c;至少有一下Translation regime&#xff0c;AT S12E2R, <Xt> 就是使用EL2 Translation regime完成地址翻译。 Secure EL1&…

Cadence Allegro PCB设计88问解析(二十八) 之 Allegro中dimension environment命令使用(添加及删除尺寸标注)

一个学习信号完整性仿真的layout工程师 最近看到关于Anti Etch的设置&#xff0c;因为本人之前在layout设计是使用过这个命令。后来去到别的公司就不用了&#xff0c;从网上看到说这个命令是用来负片设计的。在这里在说下正片和负片的概念&#xff1a; 正片&#xff1a;是指在a…

机器学习|监督学习|无监督学习|8:20~9:20

目录 一、监督学习(Supervised learning) ​​​​​​​2.1分类(classification) 2.2回归(regression) 泛化能力 Generalization Ability 欠拟合 过拟合 不收敛 2.3 K近邻算法 k近邻分类​ k近邻回归 KNN变种 二、无监督学习(Unsupervised learning) 2.1 聚类(c…

[迁移学习]域自适应代码解析

一、概述 代码来自&#xff1a;https://github.com/jindongwang/transferlearning&#xff0c;可以前往github下载代码&#xff0c;本文涉及的代码的位置为&#xff1a;Code->DeepDA。理论基础可以参见&#xff1a;[迁移学习]域自适应 整体网络结构如下&#xff1a;可以视为…

Win7下静态变量析构导致进程卡死无法退出问题解决

项目中在用户机器Win7系统上好几次出现进程卡死&#xff0c;无法退出&#xff0c;在用户机器上抓取了dump&#xff0c;发现是在DllMain函数中执行了静态变量的析构&#xff0c;这个静态变量析构的时候会使用std::condition_variable 类型的成员变量通知其他线程退出。同时本地在…

PDF怎样转换成长图?这个方法,超级简单!

在当今社会&#xff0c;PDF文档广泛应用于各个领域。然而&#xff0c;在某些情况下&#xff0c;我们可能需要将多个PDF页面合并成一个单独的长图&#xff0c;以便更方便地浏览、共享或嵌入到其他文件中。为了满足这一需求&#xff0c;记灵在线工具应运而生&#xff0c;它为我们…

一种全新的图像变换理论的实验(六)——研究目的替代DCT和小波

一、变换算法在图像视频中的核心作用 我们国产的变换算法是比较少的&#xff0c;基本上都是在小波、DCT和FFT上发展优化升级的应用。我之前的文章给出了一种基于加权概率模型的变换算法&#xff0c;该算法在一定的程度上能有效的保存低频数据。而且我基于该算法给出了一些新的…

微信小程序快速开发— TDesign模版初始化

最近有个商城类的小程序业务需要快速上线&#xff0c;看了一下微信官方的模版库&#xff0c;相中了TDesign&#xff0c;调研了半天&#xff0c;决定就从这个开始干。 调研的两个重点&#xff1a; 1、网络请求&#xff0c;即数据获取 2、模板本身存在些bug&#xff0c;如&…

从Kotlin中return@forEach了个寂寞

点击上方蓝字关注我&#xff0c;知识会给你力量 今天在Review&#xff08;copy&#xff09;同事代码的时候&#xff0c;发现了一个问题&#xff0c;想到很久之前&#xff0c;自己也遇到过这个问题&#xff0c;那么就来看下吧。首先&#xff0c;我们抽取最小复现代码。 (1..7).f…

Python 基于人脸识别的实验室智能门禁系统的设计与实现,附源码

1 简介 本基于人脸识别的实验室智能门禁系统通过大数据和信息化的技术实现了门禁管理流程的信息化的管理操作。平台的前台页面通过简洁的平台页面设计和功能结构的分区更好的提高用户的使用体验&#xff0c;没有过多的多余的功能&#xff0c;把所有的功能操作都整合在功能操作…

聚观早报|微软Xbox2023发布会汇总;苹果VisionPro头显低配版曝光

今日要闻&#xff1a;微软Xbox 2023发布会汇总&#xff1b;苹果Vision Pro头显低配版曝光&#xff1b;台积电在熊本县建设半导体工厂&#xff1b;苹果今年或能出货2.4亿台&#xff1b;中国含氯废塑料高效无害升级回收 微软Xbox 2023发布会汇总 6 月 12 日凌晨&#xff0c;微软…

Java 实战介绍 Cookie 和 Session 的区别

HTTP 是一种不保存状态的协议&#xff0c;即无状态协议&#xff0c;HTTP 协议不会保存请求和响应之间的通信状态&#xff0c;协议对于发送过的请求和响应都不会做持久化处理。 无状态协议减少了对服务压力&#xff0c;如果一个服务器需要处理百万级用户的请求状态&#xff0c;对…

Linux教程——Linux绝对路径和相对路径详解

在 Linux 中&#xff0c;简单的理解一个文件的路径&#xff0c;指的就是该文件存放的位置&#xff0c;只要我们告诉 Linux 系统某个文件存放的准确位置&#xff0c;那么它就可以找到这个文件。 指明一个文件存放的位置&#xff0c;有 2 种方法&#xff0c;分别是使用绝对路径和…

深度解读 KaiwuDB 的排序操作

一、单节点执行 在单节点环境执行一条简单的 SQL 语句 SELECT * FROM NATION ORDER BY N_NAME。NATION 是一张小表&#xff0c;只有 25 条记录&#xff1b;对第 2 列 N_NAME 进行升序排列。 1. 抽象语法树 上述示例中的 SQL 语句经过分析器解析后得到 AST&#xff0c;如下图…

(文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码

参考文献&#xff1a; [1]王月汉,刘文霞,姚齐,万海洋,何剑,熊雪君.面向配电网韧性提升的移动储能预布局与动态调度策略[J].电力系统自动化,2022,46(15):37-45. 1.基本原理 1. 1 目标函数 在灾害发生后&#xff0c;配电网失去主网供电&#xff0c;设故障的持续时间可根据灾害…