1. 分布式系統(tǒng)
2. CAP理論
3. 數(shù)據(jù)庫(kù)系統(tǒng)
3.1 ACID與BASE
3.2 具體結(jié)構(gòu)設(shè)計(jì)
4. 異步通信
5. 一致性定義
第二周
1. 系統(tǒng)設(shè)計(jì)基本意識(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)站的站點(diǎn)很慢 - 一個(gè)有多個(gè)webservers的網(wǎng)站與一個(gè)第三方關(guān)系型數(shù)據(jù)庫(kù)相連接.如果有一天老板跑過(guò)來(lái)問(wèn)你:“這個(gè)網(wǎng)站好慢啊”,而你的工作就是調(diào)查為什么會(huì)這么慢?
先對(duì)比一下以往的相關(guān)基礎(chǔ)數(shù)據(jù)。通過(guò)幾個(gè)核心指標(biāo)的對(duì)比,明確問(wèn)題,即“這個(gè)網(wǎng)站好慢啊“是相比以前的確出現(xiàn)問(wèn)題,且這個(gè)”慢“大概是怎樣一個(gè)量級(jí)。
當(dāng)前訪問(wèn)量
本地連接速度
外部連接速度等
服務(wù)器存在宕機(jī)(硬件故障、軟件故障)
惡意訪問(wèn)
當(dāng)前服務(wù)器的框架結(jié)構(gòu),不足以應(yīng)對(duì)某個(gè)數(shù)量級(jí)的訪問(wèn)
URL解析算法不足以應(yīng)對(duì)達(dá)到一定量級(jí)的數(shù)據(jù)
讀寫策略不能應(yīng)對(duì)達(dá)到一定量級(jí)的數(shù)據(jù)
核心思路采用單一變量法,從服務(wù)器底層指頂層依次排查。
作業(yè)二
Webtrack - 我們需要在網(wǎng)站上跟著用戶的活動(dòng)信息。例如當(dāng)跟蹤搜索時(shí),我們可能需要知道哪些用戶進(jìn)行了搜索,搜索時(shí)發(fā)生的時(shí)間,他們搜索了什么,顯示的結(jié)果和各種排名信息.
需要對(duì)注冊(cè)用戶和臨時(shí)訪客分別設(shè)計(jì)ID,來(lái)減少單純?cè)黾有掠脩舻拈_(kāi)銷。
主要通過(guò)用戶的注冊(cè)ID或者登陸信息來(lái)判別
對(duì)于訪客,要檢測(cè)相同IP地址的訪問(wèn),為其建立臨時(shí)常客ID
上述工作應(yīng)當(dāng)可以用cookie來(lái)完成(不是很確定)
存儲(chǔ)所有“動(dòng)作+時(shí)間戳”
將核心動(dòng)作進(jìn)行編碼,減少存儲(chǔ)開(kāi)銷
存儲(chǔ)信息不要求實(shí)時(shí)性高,只要記錄下來(lái),再按步驟存儲(chǔ)就好。
存儲(chǔ)所有搜索頁(yè)面的信息
考慮到搜索頁(yè)面的實(shí)時(shí)變化,因此需要建立本地有效的short URL解析方法
在更高的緩存中或者數(shù)據(jù)結(jié)構(gòu)中,存儲(chǔ)前幾頁(yè)(如2頁(yè))的標(biāo)題信息,因?yàn)橐话闳耸褂盟阉鳎粫?huì)向后翻太多頁(yè)。
建立有效檢索結(jié)構(gòu)(查詢接口多樣,關(guān)聯(lián)性強(qiáng),不要求強(qiáng)實(shí)時(shí)性)
查詢特定用戶行為
查詢特定IP段用戶行為
查詢用戶執(zhí)行某一個(gè)動(dòng)作的數(shù)量