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