分布式数据库测试平台构建之路-探索篇(2)
在上一篇 分布式数据库测试平台构建之路-探索篇(1),笔者简单总结了在单机数据库测试工作中,“测什么”与“怎么测”这样两个关键问题。而在单机数据库中需要测试的内容,在分布式数据库上也一样需要测试,至于那些只有分布式数据库才需要进行的测试内容,笔者则将从本篇开始逐步总结。
轻轻扣响分布式数据库的大门
就像单机数据库到分布式数据库的过渡不是一蹴而就的那样,我们的脚步也不需要太快,不要一下子就跳进分布式事务、分布式一致性这些会令人头大的概念中。我们先从数据副本、备份恢复之类,在单机数据库场景下也同样存在的概念开始。
数据的备份与恢复
每年毕业季总会听闻这样的故事:某某的电脑硬盘坏了,导致辛辛苦苦写的毕业论文都打了水漂。好在现在各种网盘、云盘和在线协作类的服务发展起来了,稍微聪慧点的后辈们就吸取了诸多前辈们的教训,知道重要的资料和文件不能只存在自己的电脑里。
刻在石壁上的壁画会因为风化而模糊不清,写在纸张上的文字可能毁灭于火焰,而硬盘上的数据则可能由于一次震动、一次断电就再也无法完整读取。故而,对于承诺了数据持久性保证的数据库软件来说,除了在单个数据库程序实例的内部需要有专门的机制,在位于不同物理机器上的两个数据库程序之间,也需要一定的机制进行数据的备份。
备份的分类
在对备份这个话题进行展开之前,我们先对备份这个概念进行一些分类:
对于增量备份,如果强调实时性,就变成了数据同步。关于数据同步的内容,笔者会放到后续的文章中。
对于备份的测试
对于数据库的开发者和用户而言,数据备份的各种分类都有很重要的意义,但对于测试人员来说,如果只关心备份恢复过程中数据库实例的状态变化,将应该自动化完成的操作步骤放到一边,最后其实只有冷热备份之分——由于涉及到在线服务,热备要比冷备多出一些测试指标。
小结
从备份恢复开始,数据库中的数据就不再只存放在一台机器一个实例上了,相当于朝着分布式数据库迈出了最初的一小步,这一阶段的测试工作还是很简单的。在打开这扇大门之后,就会进入一个复杂性陡增的世界。
本文转载自公众号GreatSQL