DBA福音 | 如何無視資料量快速搭建測試資料庫
眾所周知,出於產品的開發需求,搭建測試資料庫是DBA一項日常工作,不同的行業頻度可能差異很大。例如我接觸到的保險行業客戶,搭建測試資料庫的繁重程度簡直令人瞠目結舌,某DBA向我吐槽這項日常工作的血淚史:
上述場景有搞笑的成分在,覺得和自己工作場景不符的同學權且當段子看。不過這個段子來源於真實的場景,日復一日的搭建測試庫給DBA同學帶來極大的工作負荷,以及重複無意義的操作。
今天我們就來探討如何降低這項工作的耗時,將原本一天的工作量降低為5分鐘。
什麼是快照和克隆
首先,在傳統的資料庫+硬碟之間,需要加入一層儲存池,由儲存池來統一管理所有的硬碟,並根據實際需要劃分邏輯卷供資料庫使用。
資料庫向邏輯卷寫入的資料最終仍落到硬碟上,邏輯卷其實只是一些指標的集合,如圖1。
第二步,建立快照。快照仍然是指標的集合,指向當前邏輯卷同樣的資料塊,所以並沒有額外消耗空間,如圖2。
隨著時間推移,資料庫在不斷修改資料,例如將資料“5”修改為“6”,因資料“5”被快照佔用,無法直接修改,因此使用新的資料塊來儲存“6”,並修改邏輯卷的指標,使其指向“6”,此時快照僅佔用資料“5”一個資料塊,因此空間消耗為“差異資料”,就是ROW(Redirect-On-Write),如圖3。
第三步,建立克隆卷。為了保證資料完整性,快照一般是不建議寫入的,因此我們需要建立一份“資料副本”,即克隆卷。在快照的基礎上建立一份可寫的卷,修改的資料以新資料塊儲存並修改克隆卷的指標,從而達到不影響邏輯卷,快照的內容的前提要求,如圖4。
此時克隆卷可以用於做測試用途,由於建立一份克隆卷本質上僅僅是根據快照建立了一份指標的集合,因此無需資料拷貝,且與資料總量無關,無論GB級還是TB級,均可以在秒級建立出克隆卷以供測試,極大降低搭建測試資料庫的耗時。
引入合適的工具
沃趣科技QBackup容災備份雲平臺,目前支援Oracle、MySQL、SQL sever等主流資料庫的備份,可同時對多套資料庫做集中式備份管理,並對備份進行持續校驗以確保資料的可恢復性。 產品整合儲存池、快照、克隆等特性,並且引入虛擬化將資料庫所依賴的OS、軟體環境製作成為模板,可以基於模板快速生成多套資料庫環境;測試庫之間相互隔離,修改系統時間等操作完全不影響其他測試庫,解決了傳統方案需要多臺物理機的問題,降低整體成本;基於快照+克隆可以省去資料拷貝環節,極大節省搭建時間,降低網路頻寬及IO佔用等。
使用QBackup來建立測試資料庫,僅需要在頁面上點選,即得到一個完整的測試資料庫環境,將DBA原本一天的工作量縮短到幾分鐘,大大減輕DBA的工作負擔。
儘量使用工具降低工作中的重複、無意義勞動,才能真正迴歸到業務的本質去推進更有價值的工作,畢竟人生苦短,省下這些時間多學點新技術才是正道!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28218939/viewspace-2638029/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料量與資料庫選型資料庫
- 【SQLServer】如何檢視某個資料庫中,每個table的資料量大小SQLServer資料庫
- 如何成為資料庫管理員(DBA)?資料庫
- 大資料測試與 傳統資料庫測試大資料資料庫
- 查詢資料庫的資料量的大小資料庫
- 小景的Dba之路--壓力測試和Oracle資料庫快取Oracle資料庫快取
- 資料庫測試指南資料庫
- 【SQL】Oracle資料庫資料量及效能資訊收集SQLOracle資料庫
- 資料庫管理-第142期 DBA?DBA!(20240131)資料庫
- 2.4. 測試資料庫資料庫
- [資料庫]000 - ?Sysbench 資料庫壓力測試工具資料庫
- 資料清洗如何測試?
- MySQL 資料庫生成 10000 條測試資料MySql資料庫
- 100萬資料,如何快速的匯入資料庫?資料庫
- PHP 單元測試與資料庫測試PHP資料庫
- 如何遍歷資料量億級別Mongo庫Go
- C#快速搭建模型資料庫SQLite操作C#模型資料庫SQLite
- 生產資料庫、開發資料庫、測試資料庫中的資料的區分資料庫
- 大資料量的報表如何快速分頁呈現?大資料
- 【Mysql】資料庫索引,百萬資料測試索引效果MySql資料庫索引
- Oracle 閃回資料庫測試Oracle資料庫
- PostgreSQL:資料庫連結測試SQL資料庫
- oracle測試資料庫啟用Oracle資料庫
- 測試面試(三)--資料庫與linux面試資料庫Linux
- 建立一個SQL測試資料庫 - 消費者資料庫SQL資料庫
- 組態王與Access資料庫通訊--④資料庫測試資料庫
- 讓測試更方便系列:快速建立資料
- 自動化測試如何管理測試資料
- 如何快速最佳化幾千萬資料量的訂單表
- 為什麼DBA需要資料庫廠商的資料庫概念文件資料庫
- Android除錯資料庫的福音:Android-Debug-DatabaseAndroid除錯資料庫Database
- 物化檢視如何快速完成資料聚合操作?
- Go 單元測試之Mysql資料庫整合測試GoMySql資料庫
- Eolink Apikit 快速發起 API 測試,一鍵生成測試資料API
- 資料庫基準測試工具 sysbench資料庫
- 達夢資料庫之初步測試資料庫
- Oracle 如何快速的 duplicate 一個資料庫Oracle資料庫
- 如何快速使用摩杜雲資料庫RDSMySQL?資料庫MySql