分布式資料庫資料

2021-07-11 03:49:34 字數 1464 閱讀 1692

hadoop是很多元件的集合,主要包括但不限於mapreduce,hdfs,hbase,zookeeper。mapreduce模仿了google mapreduce,hdfs模仿了google file system,hbase模仿了google bigtable,zookeeper或多或少模仿了google chubby(沒有前3個出名),所以下文就只提mapreduce、hdfs、hbase、zookeeper吧。

簡單來講,

gfs是分布式檔案系統,bigtable 是建立在gfs之上的。就像檔案系統需要資料庫來儲存結構化資料一樣,gfs也需要bigtable來儲存結構化資料,每個table都是乙個多維的稀疏圖,為了管理巨大的table,把table根據行分割,這些分割後的資料統稱為:tablets。每個tablets大概有 100-200 mb,每個機器儲存100個左右的 tablets。底層的架構是:gfs。由於gfs是一種分布式的檔案系統,採用tablets的機制後,可以獲得很好的負載均衡。比如:可以把經常響應的表移動到其他空閒機器上,然後快速重建。

既然如此,那在gfs之上,還可以有其他的類似bigtable的資料庫了?

不談原理,從性質上來說,gfs是不是相當與ntfs,bigtable就是sqlsever?

相比較而言,

所以,hadoop和storm都是分布式環境下的計算平台,不過前者依賴外存,適應批處理情形,後者依賴記憶體,適應實時處理、超低延遲、無需大量儲存資料情形。前類出現的時間較早(03年gfs的**),後類出現的時間較晚(10年yahoo! s4的**)。我不大贊同「storm改進了hadoop的缺點」的說法——這種說法有點像「輪船改進了汽車的哪些缺點」——因為它們本身即不太同類。storm和hadoop有很多相似也有很多區別,適用的場景是不一樣的,主要取決於使用者自己的需求。

*上面很多敘述方法是為了讀者的更好理解,不盡完全準確,比如hbase是有記憶體緩衝機制的,並非只依賴外存,再比如nimbus實質上是某個節點上的守護程序,而非節點本身。

最終,關於這幾者各自具體是什麼,我的建議是讀下列**:

和storm的主頁:

nathanmarz/storm · github

中wiki的rational頁。

1、針對標題問題。bigtable是有部分關係模型支援的,更像是表,底層儲存是gfs。與mapreduce的關係就跟gfs與mapreduce的關係沒啥區別吧。 2、針對內容問題,沒有仔細看storm,但是從大致個人了解來說,storm是乙個為支援實時計算的框架。而hadoop是更適用於…

顯示全部

1、針對標題問題。bigtable是有部分關係模型支援的,更像是表,底層儲存是gfs。與mapreduce的關係就跟gfs與mapreduce的關係沒啥區別吧。

2、針對內容問題,沒有仔細看storm,但是從大致個人了解來說,storm是乙個為支援實時計算的框架。而hadoop是更適用於批量計算。不太同類,沒啥好比較的吧。

至於 mapreduce,則是 google 提出的一種分布式開發模型,可以簡單理解為演算法

分布式資料庫

網路選課系統中分布式資料庫設計 何翠雙王巧雲張麗麗 摘要 關鍵字 選課 分布式 資料庫 distributed system of on line course choosing abstract key words course choosing distributed database 隨著學校...

分布式資料庫

1 背景 我們知道資料是乙個公司的命脈,隨著業務越做越大,資料量也會越來越大,計算也會越來越複雜,效能,可靠性,可擴充套件性的需求就會越來越強烈,這個時候乙個集中式的資料庫顯然已經滿足不了需求了。對於技術決策者來說有兩條路可以走,第一 按照現有的大型資料庫的解決方案,比如sql server clu...

分布式資料庫

一 分布式資料庫的出現的場景 網際網路 軟體國產化 o2o 五新 新零售 新製造,新金融 新資源 新技術 等主題接連提出來,並且在各個行業落地,給資料庫帶來了巨大機會,具體包含3個方向 1.遠超單機資料庫容量的資料儲存和訪問峰值 2.實時資料分析檢索 oltp兼顧olap 3.更高階別的容災需求。這...