日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【分布式计算】DFS BigTable

發布時間:2025/4/5 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【分布式计算】DFS BigTable 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


1.背景



分布式計算的發跡應該是google在2003年發表的三篇paper,分別是GFS、MapReduce、BigTable。其中MapReduce大家都很熟悉了,不懂的同學也可以看看我之前寫的文章【分布式計算】MapReduce的替代者-Parameter Server
為什么google會搞分布式計算這件事兒呢,因為在那個年代每天會產生幾個T的日志,但是當時的磁盤只允許存儲幾百G的文件,07年之前淘寶的所有數據都是用完就刪除的,因為沒地方存。后來,人們認識到數據是值錢的,所以需要一種存儲策略來存儲大數據,于是google就用了分布式存儲系統。
這里主要介紹下GFS和BigTable。

2.DFS(對應hadoop的HDFS)



DFS是一種分布式文件存儲系統。常規的文件系統是樹狀結構存儲的,每個文件有一個指針指到磁盤上的某個區域。 早期的DFS是單點結構的,有一個master節點負責管理每個文件的namespace(文件存儲在哪個機器的哪個磁盤上,如s3/dick2)。要存儲一個很大的數據,比方說一個10P的數據,首先是切片,比如說按照64M切片,每個block存在某一個機器的某個磁盤上。整體的結構如下:

這里面就會衍生出三個問題, 第一個是master節點如果掛了,整個文件系統就不能work了,這個是單點的一個缺陷。 第二個問題是,一但slave中的某個磁盤破損了,磁盤破損率在2%左右,也就是每天都有破損的。這里有一個冗余機制,就是每個block會分配到多個磁盤上備份~ 第三個問題是,磁盤是不停的被讀寫的,master是如何獲得每個磁盤的信息的,這個功能依賴于一種叫做heart-beat的機制,每隔幾秒鐘,master就要遍歷每個slave得到它們的最新狀況。


3.BigTable(對應Hadoop的HBase)



如果說DFS是磁盤級別的分布式存儲,那么BigTable就是內存級別的分布式存儲。BigTable的存儲結構是HashTable,以key-value的形式存儲。應用場景是一些在線的service。比方說GoogleEarth,每個地名(key)會對應一系列的meta(value),世界上有無數個地名,這是一個很大的文件。如果從磁盤中拿,比方說輸入一個巷子的名字,過10分鐘用戶才能拿到結果,這是不能接受的,我們需要將這些key-value做成cache緩存在內存中。顯然單機內存的極限,比方說300G也是無法緩存這么大的文件的。這就需要多個機器一起緩存,這個策略就是BigTable。
但是,一但一個機器出現failover的情況,整個緩存就出現了gap,BigTable有一個機制就是,不斷地將文件underfile到DFS中,防止文件丟失。



/********************************

* 本文來自博客 ?“李博Garvin“

* 轉載請標明出處:http://blog.csdn.net/buptgshengod

******************************************/





總結

以上是生活随笔為你收集整理的【分布式计算】DFS BigTable的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。