1. 分布式系統(tǒng)
2. CAP理論
3. 數(shù)據(jù)庫系統(tǒng)
3.1 ACID與BASE
3.2 具體結(jié)構(gòu)設(shè)計
4. 異步通信
5. 一致性定義
第二周
1. 系統(tǒng)設(shè)計基本意識
2. Hadoop與MapReduce
2.1 Hadoop
2.2 MapReduce
2.3 BigTable
This is Google's scalable database.? It provides a way to create massive tables of information indexed by a primary key.? As of this writing, over 90% of Google's web services are built on top of Bigtable, including Search, Google Earth, Google Analytics, Google Maps, Gmail, Orkut, YouTube, and many more.? Hypertable is a high performance, open source implementation of Bigtable.
2.4 Hbase與GFS
作業(yè)一
網(wǎng)站的站點很慢 - 一個有多個webservers的網(wǎng)站與一個第三方關(guān)系型數(shù)據(jù)庫相連接.如果有一天老板跑過來問你:“這個網(wǎng)站好慢啊”,而你的工作就是調(diào)查為什么會這么慢?
先對比一下以往的相關(guān)基礎(chǔ)數(shù)據(jù)。通過幾個核心指標的對比,明確問題,即“這個網(wǎng)站好慢啊“是相比以前的確出現(xiàn)問題,且這個”慢“大概是怎樣一個量級。
當(dāng)前訪問量
本地連接速度
外部連接速度等
服務(wù)器存在宕機(硬件故障、軟件故障)
惡意訪問
當(dāng)前服務(wù)器的框架結(jié)構(gòu),不足以應(yīng)對某個數(shù)量級的訪問
URL解析算法不足以應(yīng)對達到一定量級的數(shù)據(jù)
讀寫策略不能應(yīng)對達到一定量級的數(shù)據(jù)
核心思路采用單一變量法,從服務(wù)器底層指頂層依次排查。
作業(yè)二
Webtrack - 我們需要在網(wǎng)站上跟著用戶的活動信息。例如當(dāng)跟蹤搜索時,我們可能需要知道哪些用戶進行了搜索,搜索時發(fā)生的時間,他們搜索了什么,顯示的結(jié)果和各種排名信息.
需要對注冊用戶和臨時訪客分別設(shè)計ID,來減少單純增加新用戶的開銷。
主要通過用戶的注冊ID或者登陸信息來判別
對于訪客,要檢測相同IP地址的訪問,為其建立臨時常客ID
上述工作應(yīng)當(dāng)可以用cookie來完成(不是很確定)
存儲所有“動作+時間戳”
將核心動作進行編碼,減少存儲開銷
存儲信息不要求實時性高,只要記錄下來,再按步驟存儲就好。
存儲所有搜索頁面的信息
考慮到搜索頁面的實時變化,因此需要建立本地有效的short URL解析方法
在更高的緩存中或者數(shù)據(jù)結(jié)構(gòu)中,存儲前幾頁(如2頁)的標題信息,因為一般人使用搜索,不會向后翻太多頁。
建立有效檢索結(jié)構(gòu)(查詢接口多樣,關(guān)聯(lián)性強,不要求強實時性)
查詢特定用戶行為
查詢特定IP段用戶行為
查詢用戶執(zhí)行某一個動作的數(shù)量