免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
BigTable原理
題記:google 的成功除了一個(gè)個(gè)出色的創(chuàng)意外,還因?yàn)橛?nbsp;Jeff Dean 這樣的軟件架構(gòu)天才。

                                                  ------ 編者

官方的 Google Reader blog 中有對BigTable 的解釋。這是Google 內(nèi)部開發(fā)的一個(gè)用來處理大數(shù)據(jù)量的系統(tǒng)。這種系統(tǒng)適合處理半結(jié)構(gòu)化的數(shù)據(jù)比如 RSS 數(shù)據(jù)源。 以下發(fā)言  是 Andrew Hitchcock  在 2005 年10月18號 基于: Google 的工程師 Jeff Dean 在華盛頓大學(xué)的一次談話 (Creative Commons License).

 


首先,BigTable 從 2004 年初就開始研發(fā)了,到現(xiàn)在為止已經(jīng)用了將近8個(gè)月。(2005年2月)目前大概有100個(gè)左右的服務(wù)使用BigTable,比如: Print,Search History,Maps和 Orkut。根據(jù)Google的一貫做法,內(nèi)部開發(fā)的BigTable是為跑在廉價(jià)的PC機(jī)上設(shè)計(jì)的。BigTable 讓Google在提供新服務(wù)時(shí)的運(yùn)行成本降低,最大限度地利用了計(jì)算能力。BigTable 是建立在 GFS ,Scheduler ,Lock Service 和 MapReduce 之上的。

每個(gè)Table都是一個(gè)多維的稀疏圖 sparse map。Table 由行和列組成,并且每個(gè)存儲(chǔ)單元 cell 都有一個(gè)時(shí)間戳。在不同的時(shí)間對同一個(gè)存儲(chǔ)單元cell有多份拷貝,這樣就可以記錄數(shù)據(jù)的變動(dòng)情況。在他的例子中,行是URLs ,列可以定義一個(gè)名字,比如:contents。Contents 字段就可以存儲(chǔ)文件的數(shù)據(jù)。或者列名是:”language”,可以存儲(chǔ)一個(gè)“EN”的語言代碼字符串。

為了管理巨大的Table,把Table根據(jù)行分割,這些分割后的數(shù)據(jù)統(tǒng)稱為:Tablets。每個(gè)Tablets大概有 100-200 MB,每個(gè)機(jī)器存儲(chǔ)100個(gè)左右的 Tablets。底層的架構(gòu)是:GFS。由于GFS是一種分布式的文件系統(tǒng),采用Tablets的機(jī)制后,可以獲得很好的負(fù)載均衡。比如:可以把經(jīng)常響應(yīng)的表移動(dòng)到其他空閑機(jī)器上,然后快速重建。

Tablets在系統(tǒng)中的存儲(chǔ)方式是不可修改的 immutable 的SSTables,一臺機(jī)器一個(gè)日志文件。當(dāng)系統(tǒng)的內(nèi)存滿后,系統(tǒng)會(huì)壓縮一些Tablets。由于Jeff在論述這點(diǎn)的時(shí)候說的很快,所以我沒有時(shí)間把聽到的都記錄下來,因此下面是一個(gè)大概的說明:

壓縮分為:主要和次要的兩部分。次要的壓縮僅僅包括幾個(gè)Tablets,而主要的壓縮時(shí)關(guān)于整個(gè)系統(tǒng)的壓縮。主壓縮有回收硬盤空間的功能。Tablets的位置實(shí)際上是存儲(chǔ)在幾個(gè)特殊的BigTable的存儲(chǔ)單元cell中??雌饋磉@是一個(gè)三層的系統(tǒng)。

客戶端有一個(gè)指向METAO的Tablets的指針。如果METAO的Tablets被頻繁使用,那個(gè)這臺機(jī)器就會(huì)放棄其他的tablets專門支持METAO這個(gè) Tablets。METAO tablets 保持著所有的META1的tablets的記錄。這些tablets中包含著查找tablets的實(shí)際位置。(老實(shí)說翻譯到這里,我也不太明白。)在這個(gè)系統(tǒng)中不存在大的瓶頸,因?yàn)楸活l繁調(diào)用的數(shù)據(jù)已經(jīng)被提前獲得并進(jìn)行了緩存。

    現(xiàn)在我們返回到對 列的說明:列是類似下面的形式: family:optional_qualifier。在他的例子中,行:www.search-analysis.com  也許有列:”contents:其中包含html頁面的代碼。 “ anchor:cnn.com/news” 中包含著 相對應(yīng)的url,”anchor:www.search-analysis.com/” 包含著鏈接的文字部分。列中包含著類型信息。

    (翻譯到這里我要插一句,以前我看過一個(gè)關(guān)于萬能數(shù)據(jù)庫的文章,當(dāng)時(shí)很激動(dòng),就聯(lián)系了作者,現(xiàn)在回想起來,或許google的 bigtable 才是更好的方案,切不說分布式的特性,就是這種建華的表結(jié)構(gòu)就很有用處。)

    注意這里說的是列信息,而不是列類型。列的信息是如下信息,一般是:屬性/規(guī)則。 比如:保存n份數(shù)據(jù)的拷貝 或者 保存數(shù)據(jù)n天長等等。當(dāng) tablets 重新建立的時(shí)候,就運(yùn)用上面的規(guī)則,剔出不符合條件的記錄。由于設(shè)計(jì)上的原因,列本身的創(chuàng)建是很容易的,但是跟列相關(guān)的功能確實(shí)非常復(fù)雜的,比如上文提到的 類型和規(guī)則信息等。為了優(yōu)化讀取速度,列的功能被分割然后以組的方式存儲(chǔ)在所建索引的機(jī)器上。這些被分割后的組作用于 列 ,然后被分割成不同的 SSTables。這種方式可以提高系統(tǒng)的性能,因?yàn)樾〉?,頻繁讀取的列可以被單獨(dú)存儲(chǔ),和那些大的不經(jīng)常訪問的列隔離開來。

在一臺機(jī)器上的所有的 tablets 共享一個(gè)log,在一個(gè)包含1億的tablets的集群中,這將會(huì)導(dǎo)致非常多的文件被打開和寫操作。新的log塊經(jīng)常被創(chuàng)建,一般是64M大小,這個(gè) GFS的塊大小相等。當(dāng)一個(gè)機(jī)器down掉后,控制機(jī)器就會(huì)重新發(fā)布他的log塊到其他機(jī)器上繼續(xù)進(jìn)行處理。這臺機(jī)器重建tablets然后詢問控制機(jī)器處理結(jié)構(gòu)的存儲(chǔ)位置,然后直接對重建后的數(shù)據(jù)進(jìn)行處理。

這個(gè)系統(tǒng)中有很多冗余數(shù)據(jù),因此在系統(tǒng)中大量使用了壓縮技術(shù)。

    Dean 對壓縮的部分說的很快,我沒有完全記下來,所以我還是說個(gè)大概吧:壓縮前先尋找相似的 行,列,和時(shí)間 數(shù)據(jù)。

    他們使用不同版本的: BMDiff 和 Zippy 技術(shù)。

   BMDiff 提供給他們非??斓膶懰俣龋?nbsp;100MB/s – 1000MB/s 。Zippy 是和 LZW 類似的。Zippy 并不像 LZW 或者 gzip 那樣壓縮比高,但是他處理速度非??臁?

    Dean 還給了一個(gè)關(guān)于壓縮 web 蜘蛛數(shù)據(jù)的例子。這個(gè)例子的蜘蛛 包含 2.1B 的頁面,行按照以下的方式命名:“com.cnn.www/index.html:http”.在未壓縮前的web page 頁面大小是:45.1 TB ,壓縮后的大小是:4.2 TB , 只是原來的 9.2%。Links 數(shù)據(jù)壓縮到原來的 13.9% , 鏈接文本數(shù)據(jù)壓縮到原來的 12.7%。

Google 還有很多沒有添加但是已經(jīng)考慮的功能。

    1.  數(shù)據(jù)操作表達(dá)式,這樣可以把腳本發(fā)送到客戶端來提供修改數(shù)據(jù)的功能。
    2. 多行數(shù)據(jù)的事物支持。
    3.  提高大數(shù)據(jù)存儲(chǔ)單元的效率。
    4. BigTable 作為服務(wù)運(yùn)行。
    好像:每個(gè)服務(wù)比如: maps 和 search history 歷史搜索記錄都有他們自己的集群運(yùn)行 BigTable。
    他們還考慮運(yùn)行一個(gè)全局的 BigTable 系統(tǒng),但這需要比較公平的分割資源和計(jì)算時(shí)間。
原文地址:
http://blog.csdn.net/accesine960/archive/2006/02/09/595628.aspx

http://blog.outer-court.com/archive/2005-10-23-n61.html

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Google架構(gòu)學(xué)習(xí)
免費(fèi)的晚餐
Google服務(wù)器架構(gòu)圖解簡析(轉(zhuǎn)載)
Google Bigtable (中文版)
探索Google App Engine背后的奧秘(1)--Google的核心技術(shù)
淘寶Oceanbase云存儲(chǔ)系統(tǒng)實(shí)踐
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服