fbpx

為何 PostgreSQL 是 Mastercard 達到零停機的關鍵 ?

PostgreSQL 導入

多年來, Mastercard 使用一系列的資料庫技術,其中包括 Oracle,、MySQL、Microsoft SQL Server、Cassandra、Hadoop、DB2 和PostgreSQL。身為首席 BizOps 工程師,我贊成 Mastercard 在 2014 年收購支付網關 (payment gateway) ,而隨後便出現了 PostgreSQL,這算是 Mastercard 與 Postgres 的「美好際遇」。

Mastercard 早已使用 PostgreSQL,提升災害回復策略的響應能力。當時, PostgreSQL 的串流複寫(streaming replication)為其主要使用工具,雖然效果顯著,但 Mastercard 仍探究如何「更上一層樓」。 

如何達到零停機

當時 Mastercard 面臨 2 大難題:處理災害程序所花費的時間,以及執行資料庫維護作業的方法,例如:vacuum full, reindex 等等。99.999 % 的正常運作時間是 Mastercard 的最低要求,因此以上問題是不被容許的。
隨著 PostgreSQL 9.4 的出現,邏輯複寫(Logical Replication)便隨之而來,而隨著邏輯複寫的到來,又出現多源主複製(multi master replication)。

PostgreSQL : Mastercard  不可或缺的幫手

自從建立 xDB MMR 後,諸多優勢便被快速實現。尤其,當切換到 DR 網域時,它不只變的更快,也更加可靠。
xDB MMR 不僅改善 DR 的解決方案,它還提供了資料庫遷移的工具,當 Mastercard 在各大洲間傳送數據,以符合日新月異的個資相關法規時,該工具被證實非常有效。

邏輯複寫相較於串流複寫的優勢是其過濾數據的能力。另一項優勢是目標 PostgreSQL 資料庫能配置函數以及具有觸發功能,以便數據在寫入目標資料庫表格時能被進一步地操作。
Mastercard 發現,跨洲使用 xDB 轉移數據子集以符合日新月異的政府法規非常有效。

xDB 的過濾功能防止數據離開原本存放的資料庫。此外,PostgreSQL 的觸發功能,使數據寫入目標資料庫時,將其他業務邏輯無縫應用於數據上。xDB 作為遷移即時資料的工具,這樣的資料遷移策略也被證實非常成功。

Postgres 可以實現零停機

未來 Mastercard 將利用 xDR MMR 在多個數據中心同時處理支付的功能,使各個網站保持同步。部分應用程式需要微調,且會有大量數據衝突 (data conflicts)的檢測。

Mastercard 進行的更新及修正,證明將資料遷移到 PostgreSQL 上對其財務至關重要。每秒均有大量信用卡交易發生,因此 Mastercard 須減少故障轉移 (failover) 時間。使用 PostgreSQL,才能真正達到「零停機」。

本文翻譯自:Why Mastercard’s Secret to Zero Downtime is Postgres

相關文章