DBA福音 | 如何无视数据量快速搭建测试数据库

Posted 沃趣技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DBA福音 | 如何无视数据量快速搭建测试数据库相关的知识,希望对你有一定的参考价值。


DBA福音 | 如何无视数据量快速搭建测试数据库

作者 | 孙朝阳

出品 | 沃趣科技


众所周知,出于产品的开发需求,搭建测试数据库是DBA一项日常工作,不同的行业频度可能差异很大。例如我接触到的保险行业客户,搭建测试数据库的繁重程度简直令人瞠目结舌,某DBA向我吐槽这项日常工作的血泪史:


DBA福音 | 如何无视数据量快速搭建测试数据库


上述场景有搞笑的成分在,觉得和自己工作场景不符的同学权且当段子看。不过这个段子来源于真实的场景,日复一日的搭建测试库给DBA同学带来极大的工作负荷,以及重复无意义的操作。


今天我们就来探讨如何降低这项工作的耗时,将原本一天的工作量降低为5分钟。


什么是快照和克隆


首先,在传统的数据库+硬盘之间,需要加入一层存储池,由存储池来统一管理所有的硬盘,并根据实际需要划分逻辑卷供数据库使用。 


数据库向逻辑卷写入的数据最终仍落到硬盘上,逻辑卷其实只是一些指针的集合,如图1。


DBA福音 | 如何无视数据量快速搭建测试数据库

图1


第二步,创建快照。快照仍然是指针的集合,指向当前逻辑卷同样的数据块,所以并没有额外消耗空间,如图2。


DBA福音 | 如何无视数据量快速搭建测试数据库

图2


随着时间推移,数据库在不断修改数据,例如将数据“5”修改为“6”,因数据“5”被快照占用,无法直接修改,因此使用新的数据块来存储“6”,并修改逻辑卷的指针,使其指向“6”,此时快照仅占用数据“5”一个数据块,因此空间消耗为“差异数据”,就是ROW(Redirect-On-Write),如图3。 


DBA福音 | 如何无视数据量快速搭建测试数据库

图3


第三步,创建克隆卷。为了保证数据完整性,快照一般是不建议写入的,因此我们需要创建一份“数据副本”,即克隆卷。在快照的基础上创建一份可写的卷,修改的数据以新数据块存储并修改克隆卷的指针,从而达到不影响逻辑卷,快照的内容的前提要求,如图4。


DBA福音 | 如何无视数据量快速搭建测试数据库

图4


此时克隆卷可以用于做测试用途,由于创建一份克隆卷本质上仅仅是根据快照创建了一份指针的集合,因此无需数据拷贝,且与数据总量无关,无论GB级还是TB级,均可以在秒级创建出克隆卷以供测试,极大降低搭建测试数据库的耗时。


引入合适的工具


沃趣科技QBackup容灾备份云平台,目前支持Oracle、MySQL、SQL sever等主流数据库的备份,可同时对多套数据库做集中式备份管理,并对备份进行持续校验以确保数据的可恢复性。产品集成存储池、快照、克隆等特性,并且引入虚拟化将数据库所依赖的OS、软件环境制作成为模板,可以基于模板快速生成多套数据库环境;测试库之间相互隔离,修改系统时间等操作完全不影响其他测试库,解决了传统方案需要多台物理机的问题,降低整体成本;基于快照+克隆可以省去数据拷贝环节,极大节省搭建时间,降低网络带宽及IO占用等。


使用QBackup来创建测试数据库,仅需要在页面上点选,即得到一个完整的测试数据库环境,将DBA原本一天的工作量缩短到几分钟,大大减轻DBA的工作负担。


尽量使用工具降低工作中的重复、无意义劳动,才能真正回归到业务的本质去推进更有价值的工作,毕竟人生苦短,省下这些时间多学点新技术才是正道!



相关链接



更多干货,欢迎来撩~

以上是关于DBA福音 | 如何无视数据量快速搭建测试数据库的主要内容,如果未能解决你的问题,请参考以下文章

解析:如何快速搭建快充电气性能测试框架?

直播预告如何快速搭建快充电气性能测试框架?

DBA运维福音:10分钟,Linux一行命令安装Oracle数据库

单台设备基于63G的数据量快速完成mysql主从搭建

快速教你如何搭建数据驱动自动化测试框架?

前端开发者的福音!通过拖拽就可生成Vue代码的平台来了!