现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上?
问题
现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上?
分析
你看看,你现在已经明白为啥要分库分表了,你也知道常用的分库分表中间件了,你也设计好你们如何分库分表的方案了(水平拆分、垂直拆分、分表),那问题来了,你接下来该怎么把你那个单库单表的系统给迁移到分库分表上去?
所以这都是一环扣一环的,就是看你有没有全流程经历过这个过程。
这个其实从 low 到高大上有好几种方案,我们都玩儿过,我都给你说一下。
停机迁移方案
我先给你说一个最 low 的方案,就是很简单,大家伙儿凌晨 12 点开始运维,网站或者 app 挂个公告,说 0 点到早上 6 点进行运维,无法访问。
接着到 0 点停机,系统停掉,没有流量写入了,此时老的单库单表数据库静止了。然后你之前得写好一个导数的一次性工具,此时直接跑起来,然后将单库单表的数据哗哗哗读出来,写到分库分表里面去。
导数完了之后,就 ok 了,修改系统的数据库连接配置啥的,包括可能代码和 SQL 也许有修改,那你就用最新的代码,然后直接启动连到新的分库分表上去。
验证一下,ok 了,完美,大家伸个懒腰,看看看凌晨 4 点钟的夜景,打个车回家吧。
现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上?相关推荐
- 数据库面试 - 如何设计才可以让系统从未分库分表动态切换到分库分表上?
数据库面试 - 如何设计才可以让系统从未分库分表动态切换到分库分表上? 面试题 现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上? 面试官心理分析 你看 ...
- 【双写迁移方案】实现动态切换实现分库分表
面试题 现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上? 面试官心理分析 你看看,你现在已经明白为啥要分库分表了,你也知道常用的分库分表中间件了,你也 ...
- Mycat 读写分离、主从切换、分库分表的操作记录
Mycat 读写分离.主从切换.分库分表的操作记录 系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从.热备.分表分库等 ...
- Mycat读写分离、主从切换、分库分表的操作记录 https://www.cnblogs.com/kevingrace/p/9365840.html
[此篇文章写得不错] 系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从.热备.分表分库等都是系统发展迟早会遇到的技术问 ...
- mysql 分表后排序_MySQL优化分库分表,为什么要分表,分表以后如何进行排序查询,业务如何设计?...
昨天面试新人的时候,遇到了这么一个问题,按照自己的想法大体聊了一些,但大多是感性的,并没有完整的了解why and how. 今天查了一些相关的资料,包括<MySQL性能调优与架构设计>. ...
- Excel将单表复制追加到另一个未打开的工作簿
大家都知道我们再复制一个表格内容到另一个表的时候,有的会直接全选复制粘贴,有的呢可能会右键单击表名然后选择复制或移动,但是这个操作的前提都是要打开另一格工作簿,那今天小编分享的是,Excel将单表复制 ...
- 发生一个未处理的异常 脚本调试 错误号2912
我已经找到问题的 答案了, 是删除注册表里的两个键值就行了. 在msdn中 是这样解释的: 关键词"实时调试" 实时调试 是这样一种功能,当在 Visual Studio 外运行的 ...
- 电脑中毒软件都变成java图标_当前数据表有10条记录,若用函数EOF()测试结果为.T.,此时函数RECNO()值是________。 (2.0分)_学小易找答案...
[单选题]洁净室的内表面应 [单选题]当前数据表有10条记录,若用函数EOF()测试结果为.T.,此时函数RECNO()值是________. (2.0分) [单选题]LD50与毒性评价的关系是 [单 ...
- 有一个顺序表L,其元素为整形数据,设计一个算法,将L中的所有小于表头元素的整数放在前半部分,大于表头元素的整数放在后半部分
题目 有一个顺序表L,其元素为整形数据,设计一个算法,将L中的所有小于表头元素的整数放在前半部分,大于表头元素的整数放在后半部分 解答(天勤) /*************************** ...
最新文章
- SSIS--FOR循环容器
- dede php可以传多个参数,织梦分页标签dede:pagelist传参数
- JavaI/O:使用InputStreamReader和BufferedReade实现控制器输入输出
- 加工中心刻字宏程序_加工中心通用铣螺纹宏程序实例,千万别说你学不会!
- linux命令scp
- oracle v$system_event,45.Oracle杂记——Oracle常用动态视图v$system_event
- 常对象成员和常成员函数
- Android 智能指针 视频,Android系统智能指针中轻量级指针
- vue ---- 插槽
- h5外卖源码php_从零搭建外卖CPS平台小程序开发
- XenDesktop 学习笔记1之DDC
- PID算法(C语言)
- photoshop 证件照动作_国考报名确认及缴费进行中!证件照上传注意事项!
- 微信小程序官方示例文档免费下载文档
- 常用adb命令学习:查看和修改设备的输入法
- [乱七八糟]Google搜索秘籍
- 王者荣耀官网全皮肤超超超清原皮爬取!!!
- Zuul网关的快速使用
- 专升本——非谓语动词
- 英菲尼迪tlme是什么意思_英菲尼迪车标含义是什么
热门文章
- 横向打印二叉树 java_按树状横向打印二叉树
- 【小概念】格拉姆矩阵(gram matrix)
- 100-days: twenty-four
- LeetCode 6. Z 字形变换 (N字形变换)
- ubuntu20.04启动时黑屏
- 使用node读取文件内容并且替换文件中的内容
- confluence 删除_知识管理平台Confluence教程:如何删除或还原页面?
- Why we need activation function?
- 【RDMA】RDMA网卡通讯
- 启发式算法,元启发式算法,超启发式算法