nosql廣播式的分散式資料庫思路

關於分庫策略,大多有三種:

  • 業務邏輯
  • 流水 id
  • hash

而三種策略各有利弊,一般都採用三種策略進行混合運用讓資料庫進行有效擴容。但不管怎樣,以上策略方式都無法實現一個統一讓資料庫邏輯化和統一化,需要一個單一主伺服器進行定位、分流、存放索引。 Google 有句名言,「The datacenter as a computer」。而這個「computer」,應該是眾多 Node 的做功的綜合體。但是,如果基于上面邏輯,主伺服器本身就是一個瓶頸,需要強大的頻寬與巨大的內存才能勝任。如果這樣的話,假設我有眾多小型伺服器,我希望它能勝任高性能的查詢,於是我還得購買一台終極伺服器作為主伺服器路由。這至少在經濟上說是劃不來,對於 datacenter 本身可能在一定程度上違反「The datacenter as a computer」精神。

獲得唯一信息場景: 我們設想這麼一個場景。有一個班級有 254 個人。我忽然有個比較棘手的問題需要解答,而這 254 個人只有一個人知道答案。我應該怎麼做呢? 那我當然不可能一個一個問,我只要站在講台上:誰知道現在一台筆電要多少錢? 現在我只要等待那個知道答案的人站起來告訴我答案就可以了。 存放信息場景: 設想這麼一個場景。有一個班級有 254 個人。這 254 個人每個人都有一個口袋可以裝10個東西。 現在我手上有一個東西(筆電),需要給他們其中一個人放著,日後我再跟他要回來。 我只要站在講台上:這東西我放這兒了,你們誰有空間就來拿走吧。 於是口袋有空間的人上來取得這個東西。當然只有一個人可以拿走。   存放場景2: 我有一個東西,但需要100個口袋才能裝得下。這時我放到了講台,讓有剩餘口袋的人上來取得。來了20個人。 於是我把東西從頭到腳,拆了20份,每一份上面貼個編號,分發給20個人。 當下一次我需要這東西的時候,我再次喊話:那玩意誰有? 20個人上來,我按照編號一一組裝起來變成大物件。  


You'll only receive email when Note by Jet publishes a new post

More from Note by Jet: