777精品久无码人妻蜜桃,国产日本精品视频在线观看 ,国产亚洲99久久精品熟女av,brazzersvideosex欧美最新版,人人爽人人人爽人人爽

分享
Scan me 分享到微信

云計算背后的秘密——BigTable

由于在Google的數(shù)據(jù)中心存儲PB級以上的非關(guān)系型數(shù)據(jù)時候,比如網(wǎng)頁和地理數(shù)據(jù)等,為了更好地存儲和利用這些數(shù)據(jù),Google開發(fā)了一套數(shù)據(jù)庫系統(tǒng),名為“BigTable”。

  由于在Google的數(shù)據(jù)中心存儲PB級以上的非關(guān)系型數(shù)據(jù)時候,比如網(wǎng)頁和地理數(shù)據(jù)等,為了更好地存儲和利用這些數(shù)據(jù),Google開發(fā)了一套數(shù)據(jù)庫系統(tǒng),名為“BigTable”。

  技術(shù)概覽

  從技術(shù)來講,BigTable不是一個傳統(tǒng)的關(guān)系型的數(shù)據(jù)庫,也不支持類似關(guān)聯(lián)(join)這樣高級的SQL操作,取而代之的是多級映射的數(shù)據(jù)結(jié)構(gòu),并支持大規(guī)模數(shù)據(jù)處理、高容錯性和自我管理等特性,提供PB級的存儲能力,使用結(jié)構(gòu)化的文件來存儲數(shù)據(jù),并整個集群每秒可處理數(shù)百萬的讀寫操作。

  什么是多級映射的數(shù)據(jù)結(jié)構(gòu)呢?就是一個稀疏的、多維的和排序的Map,每個Cell(單元格)由行關(guān)鍵字、列關(guān)鍵字和時間戳來進(jìn)行三維定位.Cell的內(nèi)容本身就是一個字符串,比如,存儲每個網(wǎng)頁的內(nèi)容。在下圖中, 反向的URL “com.cnn.www”是這行的關(guān)鍵字,“contents”這列存儲了多個版本的網(wǎng)頁內(nèi)容,每個版本都有一個時間戳。BigTable還提供一個用于將多個相似的列整合至一起的Column Family(列組)機制,比如,下面“anchor”這個Column Family就有“anchor: cnnsi.com”和“anchhor:my.look.ca”這個兩個列。通過Column Family這個概念,使得表可以輕松地橫向擴展。

  圖1. BigTable數(shù)據(jù)模型圖(3sNews 配圖)

  在結(jié)構(gòu)上,BigTable基于GFS分布式文件系統(tǒng)和Chubby分布式鎖服務(wù)。BigTable主要分為兩部分:其一是Master節(jié)點,用來處理元數(shù)據(jù)相關(guān)的操作并支持負(fù)載均衡。其二是Tablet節(jié)點,主要用于存儲數(shù)據(jù)庫的分片tablet,并提供相應(yīng)的數(shù)據(jù)訪問,同時tablet是基于名為SSTable的格式,對壓縮有很好的支持。下圖為其具體的架構(gòu)圖:

  圖2. BigTable架構(gòu)圖(3sNews 配圖)

  相關(guān)產(chǎn)品

  和之前介紹的MapReduce和GFS一樣,BigTable在開源界也有很多類似的產(chǎn)品,最著名的兩個莫過于屬于Hadoop系列的Hbase和來自于Facebook的Cassandra。Hbase的特色在于其完全繼承了BigTable的設(shè)計,所以它在MapReduce和海量數(shù)據(jù)存儲這兩方面支持地非常好,而Cassandra的則更傾向于成為全功能型數(shù)據(jù)庫。除了這兩個產(chǎn)品之外,我個人也設(shè)計一款類BigTable的數(shù)據(jù)庫,名為YunTable,意為“云時代的BigTable”,它的目標(biāo)是做一個BigTable的精簡版,并使其更適合云環(huán)境,現(xiàn)在已經(jīng)發(fā)布其0.8版,本已基本實現(xiàn)BigTable的基本功能,官方站點是http://code.google.com/p/yuntable/,希望大家能多多關(guān)注。

  實際用例

  BigTable正在為Google六十多種產(chǎn)品和項目提供存儲和獲取結(jié)構(gòu)化數(shù)據(jù)的支撐平臺,其中包括有Google Print, Orkut,Google Maps,Google Earth和Blogger等,而且在Google內(nèi)部至少運行著500個BigTable集群。

  下一代BigTable

  隨著Google內(nèi)部服務(wù)對需求的不斷提高和技術(shù)的不斷地發(fā)展,導(dǎo)致原先的BigTable已經(jīng)無法滿足用戶的需求,而Google也正在開發(fā)下一代BigTable,名為“Spanner(扳手)”,它主要有下面這些BigTable所無法支持的特性:

  1. 支持多種數(shù)據(jù)結(jié)構(gòu),比如table,familie,group和coprocessor等。

  2. 基于分層目錄和行的細(xì)粒度的復(fù)制和權(quán)限管理。

  3. 支持跨數(shù)據(jù)中心的強一致性和弱一致性控制。

  4. 基于Paxos算法的強一致性副本同步,并支持分布式事務(wù)。

  5. 提供許多自動化操作。

  6. 強大的擴展能力,能支持百萬臺服務(wù)器級別的集群。

  7. 用戶可以自定義諸如延遲和復(fù)制次數(shù)等重要參數(shù)以適應(yīng)不同的需求。

喜歡您正在閱讀的內(nèi)容嗎?歡迎免費訂閱泰伯每周精選電郵。 立即訂閱

參與評論

【登錄后才能評論哦!點擊

  • {{item.username}}

    {{item.content}}

    {{item.created_at}}
    {{item.support}}
    回復(fù){{item.replynum}}
    {{child.username}} 回復(fù) {{child.to_username}}:{{child.content}}

更多精選文章推薦