【正文】
SSTable來保持其中的最新數(shù)據(jù) ? 舊的 SSTable刪除 ? 如果合并壓縮操作完成后, tablet只包含一個(gè) SSTable,那么該操作也稱為主壓縮 S S T a b l eS S T a b l e內(nèi) 存 表S S T a b l e內(nèi) 存 表內(nèi) 存 表次 壓 縮次 壓 縮........S S T a b l eS S T a b l e合 并 壓 縮....S S T a b l e主 壓 縮38 內(nèi) 存 表寫 操 作讀 操 作子 表 日 志內(nèi) 存G F SS S T a b l e 文 件39 ? 新的故障 ? 子表服務(wù)器內(nèi)存中的 memtable丟失 ? 恢復(fù)方法 ? 按照 tablet將該服務(wù)器對應(yīng)的日志分片 ? 為每個(gè)失效 tablet分配新的子表服務(wù)器 ? 新子表服務(wù)器讀取對應(yīng)的分段 mit log,并按照日志修改 tablet ? 刪除 mit log中已實(shí)施的內(nèi)容 ? 重新對外提供服務(wù) 40 ? 局部性群組 (Locality Group) ? 根據(jù)需要,將原本不存儲(chǔ)在一起的數(shù)據(jù),以列族為單位存儲(chǔ)至單獨(dú)的子表 ? 如用戶對網(wǎng)站排名、語言等分析信息感興趣,那么可以將這些列族放至單獨(dú)的子表,減少無用信息讀取,改善存取效率 ? 布隆過濾器 (Bloom Filter) ? 什么是布隆過濾器?判斷某個(gè)元素是否隸屬于集合 ? 優(yōu)點(diǎn):誤判概率低,其存儲(chǔ)空間僅為 Hash表的 1/8至 1/4 ? 用于判斷列鍵是否位于 SSTable中,快速確定某個(gè)列鍵的位置 41 B i g t a b l e 主 服 務(wù) 器B i g t a b l e 客 戶 端B i g t a b l e 客 戶 端程 序 庫B i g t a b l e 子 表 服 務(wù) 器 B i g t a b l e 子 表 服 務(wù) 器 B i g t a b l e 子 表 服 務(wù) 器處 理 數(shù) 據(jù) 處 理 數(shù) 據(jù)處 理 數(shù) 據(jù)G o o g l e W o r k Q u e u e G F S C h u b b y執(zhí) 行 O p e n ( )操 作負(fù) 責(zé) 故 障 處 理 及 監(jiān) 控 保 存 子 表 數(shù) 據(jù) 及 日 志負(fù) 責(zé) 元 數(shù) 據(jù) 存 儲(chǔ) 及主 服 務(wù) 器 的 選 擇執(zhí) 行 元 數(shù) 據(jù) 操 作 及負(fù) 載 平 衡42 ? Google云計(jì)算架構(gòu)中 GFS、 MapReduce和BigTable中是否存在集群節(jié)點(diǎn)復(fù)用的情況? ? 如何復(fù)用? ? 節(jié)點(diǎn)復(fù)用的好處有哪些? ? Google云計(jì)算架構(gòu)的設(shè)計(jì)對你有哪些啟發(fā)?有哪些收獲? Google App Engine 44 ? Google App Engine是隸屬于 PaaS類型的云服務(wù) ? 一個(gè)計(jì)算環(huán)境,支持 Python和 Java語言 ? 可使用 Google的基礎(chǔ)服務(wù),如 BigTable和 GFS等 ? 用戶僅需提供應(yīng)用代碼,無需服務(wù)器維護(hù) ? 應(yīng)用程序可根據(jù)訪問量和數(shù)據(jù)存儲(chǔ)需要的增長輕松進(jìn)行擴(kuò)展 請 求應(yīng) 用 服務(wù) 器應(yīng) 用 服務(wù) 器應(yīng) 用 服務(wù) 器應(yīng) 用 管 理節(jié) 點(diǎn)靜 態(tài) 文 件前 端前 端前 端45 ? 特性 ? 動(dòng)態(tài)網(wǎng)絡(luò)服務(wù)功能,能夠完全支持常用的網(wǎng)絡(luò)技術(shù) ? 具有持久存儲(chǔ)的空間,可支持查詢、分類等基本操作 ? 具有自主平衡網(wǎng)絡(luò)和系統(tǒng)的負(fù)載、自動(dòng)進(jìn)行擴(kuò)展的功能 ? 可對用戶的身份進(jìn)行驗(yàn)證,并且支持使用 Google賬戶發(fā)送郵件 ? 具有一個(gè)功能完整的本地開發(fā)環(huán)境,開發(fā)人員可以在自身的計(jì)算機(jī)上模擬 Google App Engine環(huán)境 46 ? 沙盒 ? 一個(gè)虛擬環(huán)境 ? 將開發(fā)者開發(fā)的應(yīng)用程序隔離在自身的安全可靠的環(huán)境中,該環(huán)境和網(wǎng)絡(luò)服務(wù)器的硬件、系統(tǒng)以及物理位置完全無關(guān) ? 僅提供開發(fā)人員對基礎(chǔ)操作系統(tǒng)的有限訪問權(quán)限 ? 可以對開