《解讀NoSQL》 2 8 實踐

2021-09-23 16:50:01 字數 549 閱讀 4568

sally被委託去幫助乙個團隊設計乙個管理貴賓禮品卡的系統。和銀行賬戶有些類似,持卡人可以為卡充值(存款)、購買(取款)和檢視卡的餘額。禮品卡的資料會被分割槽並複製到兩個資料中心,乙個在美國,乙個在歐洲。居住在美國的人們優先分割槽到美國的資料中心,而歐洲的人們優先分割槽到歐洲的資料中心。

已知兩個資料中心之間的資料傳輸線路會短時間的中斷,大概每年10~20分鐘。sally知道這是乙個切分分割槽的例項,它將考驗系統的分割槽容錯性。團隊需要決定當資料傳輸線路故障時全部3個操作(存款、取款和檢視餘額)是否需要能夠繼續。

團隊決定即使在資料傳輸線路故障時,存款操作也應該能夠繼續,這是因為當連線恢復後,存款記錄能夠更新兩個站點的資料。sally提到如果乙個站點不能及時更新另乙個站點的餘額資訊,切分分割槽可能會造成讀取結果不一致。但是團隊決定當發生連線故障時,如果請求銀行餘額,仍然從本地分割槽返回上次的餘額。

對於購買事務,團隊決定當發生連線故障時,一旦使用者連線到主分割槽,事務應當繼續執行完成。為了限制風險,對於複製分割槽的取款操作只會限制在乙個特定的數額,如100美元。一些報表將會用於檢視在網路中斷期間,所有分割槽上的各種取款操作導致了產生錯誤餘額的頻率。

《解讀NoSQL》 2 8 實踐

sally被委託去幫助乙個團隊設計乙個管理貴賓禮品卡的系統。和銀行賬戶有些類似,持卡人可以為卡充值 存款 購買 取款 和檢視卡的餘額。禮品卡的資料會被分割槽並複製到兩個資料中心,乙個在美國,乙個在歐洲。居住在美國的人們優先分割槽到美國的資料中心,而歐洲的人們優先分割槽到歐洲的資料中心。已知兩個資料中...

《解讀NoSQL》 2 9 小結

本章展示了一些nosql運動的關鍵概念和深刻洞見。下面這個列表包含了我們目前為止討論過的一些重要概念和架構上的指導原則。接下來的幾章將繼續討論這些概念。通過構建功能單一的部件來構建整個應用。通過使用分層的架構來增強模組性。使用一致性雜湊演算法將資料分布到整個集群。使用分布式快取 ram和固態硬碟來提...

NoSQL架構實踐(一) 以NoSQL為輔

前面 為什麼要使用nosql 和 關聯式資料庫還是nosql資料庫 兩篇從大體上介紹了為什麼要用nosql,何時該用nosql。經常有朋友遇到困惑,看到nosql的介紹,覺得很好,但是卻不知道如何正式用到自己的專案中。很大的原因就是思維固定在mysql中了,他們問得最多的問題就是用了nosql,我如...