將谷歌云 SQL 實體(Postgres 9.6)從一個谷歌專案移動到另一個谷歌專案的最簡單方法是什么,停機時間最短或為零?實體大小約為 20 GB
有一項名為“遷移作業”的服務看起來非常相關 https://cloud.google.com/database-migration/docs/postgres/create-migration-job。但我不明白它是否可以用來將實體從一個谷歌專案移動到另一個。
從備份中進行簡單恢復并不是我的實際情況,因為我希望盡可能減少停機時間,所以我正在尋找類似 2 個運行實體以及同步的實時資料的東西。
PS。我還用 pgbouncer 配置了 VM
uj5u.com熱心網友回復:
是的,資料庫遷移服務可用于將一個 Cloud SQL 實體從一個 GCP 專案移動到另一個。這是比下一種方法更便宜的方法,雖然它需要更多的設定,但它也應該更快。可以為現有的 Cloud SQL 實體創建一個連接組態檔,并且必須在目標專案中創建一個 Cloud SQL 目標,但是一旦一切都設定好,大部分遷移將是自動的。這是一個有據可查的程式,您可以在我們的檔案中找到相關資訊。
開發人員有時希望以“零”停機時間遷移他們的(正常)關系資料庫。雖然可以減少停機時間,但無法在不對應用程式產生任何影響的情況下進行遷移(即零停機時間)。復制會導致復制滯后。
當決定將所有應用程式從一個副本“遷移”到另一個副本時,應用程式(以及因此開發人員)在使用新資料庫之前必須等待(即停機)至少與“復制延遲”一樣長。實際上,停機時間要高幾個數量級(幾分鐘到幾小時),因為:
- 資料庫查詢可能需要幾秒鐘才能完成,并且在遷移時必須完成或中止查詢。
- 如果資料庫具有大量緩沖記憶體,則必須對其進行“預熱”——這在大型資料庫中很常見。
- 如果資料庫分片有重復的表,則在遷移分片時可能需要暫停一些寫入。
- 應用程式必須在源頭停止并在 GCP 中重新啟動,并且必須建立與 GCP 資料庫實體的連接。
- 必須重新路由到應用程式的網路路由。根據 DNS 條目的設定方式,這可能需要一些時間。
所有這些都可以通過一些計劃和“成本”來減少(在遷移之前/之后的一段時間內不允許某些操作)。
在遷移完成之前減少源資料庫上的負載可能會有所幫助,并且停機時間可能會減少中斷。
其他注意事項:
- 增加機器型別以增加網路吞吐量。
- 增加 SSD 大小以獲得更高的 IOPS/MBps。
更多關于.
最直觀的方法是將 Cloud SQL 實體中的資料匯出到 GCS 存盤桶,然后將其匯入新專案中的新實體。這將意味著一些停機時間,您必須在目標專案中手動創建與原始配置相同的實體;它確實需要一些手動步驟,但它是一種簡單且可驗證的方法,可以在不同專案中的實體之間復制資料。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/497553.html
標籤:PostgreSQL 谷歌云平台 数据库迁移 谷歌云 sql
