不要逼死DBA!如何快速搭建测试数据库

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

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

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

什么是快照和克隆

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

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

图1

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

图2

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

图3

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

图4

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

引入合适的工具

沃趣科技QFusion数据库私有云平台,是一款基于Docker和Kubernetes等技术,为企业用户提供数据库即服务(DBaaS)的产品。产品已覆盖MySQL、Oracle、SQL Server、Redis、MongoDB、PostgreSQL、TiDB等数十款全球主流数据库,用户可以在平台上选择所需的数据库版本、实例规格、存储空间、集群架构,系统会在后台自动完成对整个数据库的部署,给用户提供一个可申请即用的数据库环境。并且平台还支持数据库资源的动态调整和实例销毁等操作。

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值