大型互联网系统数据库切换方案

人工智能2025-11-05 10:52:537
前言

互联网公司中,大型有不少大型系统,互联如商城的网系价格系统,优惠券系统,统数等等。据库这些系统在一年又一年的切换运营之后,数据存储量将相当庞大,大型我们最终会做一些数据库方面的互联升级,简单粗暴的网系方法就是切库,以满足更多的统数数据库存储空间、更好的据库数据读取性能

然而切库的切换操作,对于系统而言,大型无异于换血操作,互联是网系一件相当危险的操作,那么如何平稳,或者说损失最小的情况下,将系统的数据库进行切换呢?这就是本文要分享的内容了。

需求

很多情况下,我们可以通过对系统进行优化就能满足系统的源码库性能要求的情况下,我们是不会选择切库这个方案的。笔者经历的切库情况,有以下两种:

数据库中间件

原先的数据库使用的是通过Docker安装的MySQL,切换为公司内部的数据库中间件(也称分布式数据库,类似阿里云的RDS),项目中的代码程序不用做过多的分库分表改造,由数据库中间件帮我们做了这个事情,我们的数据存储很自然地变为多分片存储了;原先的数据库为公司内部的数据库中间件,由于分片过少,需要扩容分片。而数据库中间件不能很好地扩缩容分片,进行少分片数据库中间件切多分片数据库中间件切换;方案

有了以上的共识,最后还是选择切库方案的话,通常我们会选择在夜深人静时分,IT技术网即系统访问量最少的情况下,像电商一般是半夜3点半左右,进行切库操作,避免切库过程造成过多的脏数据。

当然,我们的系统,需要提前开发好切库相关的代码,如新库SQL适配、切库过程的开关引入,等等。

至于具体的将数据库从A切换到B的步骤,有以下几点:

切库流程

1.将A库中的数据,全量同步到B库中,同时保持增量同步。

这样我们如果将数据库连接从A改为B时,读取的数据,是一样的,当然期间的数据库同步延迟是不可避免的。b2b供应网而数据的同步,可以使用阿里巴巴开源的中间件canal。

2.将A库进行停写。

一旦A库进行停写了,那么B库在很短的时间延迟之后,将获得同A一样的全量数据了,然后我们就可以把数据库同步断开。

3.将系统的数据库链接切换到B库。

我们的系统需要事先链接两套数据库,通过开关控制数据库链接,如此我们就可以通过极短的时间内,将系统的数据库链接进行切换。

本文地址:http://www.bhae.cn/news/110d6599824.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

热门文章

全站热门

探秘卡西欧海神系列(领略海神系列的魅力,发现卓越表款中的无限可能)

PE系统教程(一步步教你轻松掌握PE系统操作技巧)

选择最好用的电脑PDF阅读器,提高阅读效率(探寻高效阅读利器,让PDF文档阅读更加轻松顺畅)

苹果5s升级至10.2(探索5s升级到最新版本iOS10.2的亮点与优势)

电脑硬盘系统安装详细教程(从头到尾,手把手教你安装电脑硬盘系统)

X230U盘装机教程(以X230U盘装机教程为主题,教你如何使用U盘安装个人电脑系统)

雨林木风装机教程(零基础装机,从入门到精通,让你的电脑飞起来!)

如何使用U盘格式化电脑?(一步步教你快速、安全地进行U盘格式化)

友情链接

滇ICP备2023000592号-9