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

分享
Scan me 分享到微信

云計(jì)算背后的秘密——BigTable

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

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

  技術(shù)概覽

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

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

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

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

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

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

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

  實(shí)際用例

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

  下一代BigTable

  隨著Google內(nèi)部服務(wù)對(duì)需求的不斷提高和技術(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ù)中心的強(qiáng)一致性和弱一致性控制。

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

  5. 提供許多自動(dòng)化操作。

  6. 強(qiáng)大的擴(kuò)展能力,能支持百萬臺(tái)服務(wù)器級(jí)別的集群。

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

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

參與評(píng)論

【登錄后才能評(píng)論哦!點(diǎn)擊

  • {{item.username}}

    {{item.content}}

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

更多精選文章推薦