一個系統走向分散式,一定有其不得不為的理由。Scalability是最常見的理由之一。 我先簡單的將Scalabilty的需求分成兩種: Data Scala...
昨天的重點歸納一句話就是:分散式系統都是特化的,而不是通用的。所以不同的設計決策就會衍生出不同用途的系統。 也如同昨天所說,我先大致將分散式系統分種兩種:資料系...
分散式資料系統的兩個問題根源:partition 和 replication。 先談partition。當資料放不進一台機器,或是對資料的運算太過耗時,單台機器...
昨天講到partition,事實上partition比較常用在write需求高的應用(平行寫),這是為什麼呢? 以前同事問過一個問題:既然有多台機器,那當然是把...
啊啊 今天要談什麼呢? 來談談資料切割的metadata好了。 現在有好幾台機器,都必須要follow同一套的資料切割方式,這個切割方式存在metadata中。...
今天來談談資料複製吧 資料複製是維持可用性的方法,因為資料複製好幾份到不同機器,所以只要有一台機器還在,資料就拿的到。 但只要有資料複製,就一定會有延遲的狀況,...
昨天講到多數系統不允許在副本寫入,因為如果有好幾個寫入同時發生在不同的節點上,資料會不一致。就算能忍受資料不一致,也缺乏一個跨節點且精確同步的時鐘來協調出這些寫...
昨天講到執行時序的問題。當需要解決資料時序的問題時,表示已經放棄強一致性 (Strong Consistency)了,轉而只追求最終一致性 (Eventuall...
CAP Theorem 的 CAP 分別是指: C (Strong Consistency): 在任何時候,從叢集中的任兩個節點得到的狀態都是一樣的。 A (...
本來今天應該要寫 Zookeeper 的,不過看到這是第10天,想說來點特別的。所以臨時插進來這個題目。 這個題目我不想講太多,只是想丟個問題給大家來討論一下。...