Google釋出開源PostgreSQL頁面驗證(PostgreSQL Page Verification)工具,能幫助企業偵測PostgreSQL資料庫變更程序中,所發生的資料丟失或是損壞的情形。採用Cloud SQL的PostgreSQL用戶,其資料庫服務已經自動啟用了這項功能,Google提到,由於該工具會影響資料庫服務效能,因此建議其他使用者最好在獨立的伺服器中執行該工具。

Google指出,資料丟失是資料庫變更中可能遭遇的最大風險,驗證資料庫備份是解決這個風險常見的作法,但是實際上在多數企業上並非如此。平時或許沒問題,不過一旦資料庫發生嚴重錯誤,可能導致無法挽回的結果。PostgreSQL頁面驗證工具的價值,在於盡早發現出資料損壞,並最大程度的減少資料丟失,確保資料庫災難發生時,企業還有完整的資料庫備份可以使用。

Google在4月時宣布其雲端資料庫服務Cloud SQL開始提供PostgreSQL,而與此同時,也在PostgreSQL社群中貢獻耕耘,GCP釋出的這個開源PostgreSQL頁面驗證工具,是一個針對PostgreSQL資料庫的命令列工具,只要PostgreSQL版本9.3以上,都能使用資料頁面上的總和檢查碼(Checksum)來驗證資料完整性。

用戶想要使用這個工具,必須在初始化新PostgreSQL資料庫叢集時,就啟用總和檢查碼,這個動作無法在事後才進行。啟用總和檢查碼功能後,頁面驗證工具會自動計算自己的總和檢查碼,並且與Postgres的總和檢查碼相比對,以確保兩者是相同的。當驗證失敗時,工具也會告知使用者,發生問題的資料頁面所在。

無論資料庫是線上或是離線狀態,都能使用頁面驗證工具進行驗證,該工具僅對資料頁面上的總和檢查碼進行校驗,並不需要把每個頁面都載入到共享緩衝快取中。另外,也支援驗證大於1GB的表格的連續資料段(Subsequent segment),該工具還會自動跳過Free Space Map、Visibility Map以及pg_internal.init檔案,因為這些資料都能夠重新產生。

Google提醒,這個資料驗證工具會影響效能,因此建議企業可以將該工具合併至資料庫備份程序中,並在獨立的伺服器上執行。而PostgreSQL頁面驗證工具已經整合在Cloud SQL的PostgreSQL服務中,因此在資料庫運作的過程便會自動執行,Google大規模的使用這個工具,驗證用戶在雲端上的資料備份,而且為避免影響用戶資料庫效能,另外啟用了內部執行個體來執行。非GCP用戶則可以在Google Open Source或是GitHub下載該工具。


Advertisement

更多 iThome相關內容