● 應(yīng)用程序讀得多,讀對(duì)寫(xiě)的比率范圍從讀五次寫(xiě)一次到讀十次寫(xiě)一次不等,甚至一路飆升到讀幾百次オ寫(xiě)一次。
● 一次讀一行和一次讀多行是混合出現(xiàn)的。
● 一般來(lái)說(shuō),寫(xiě)每次只影響一行。

這就是很多人稱(chēng)之為的“事務(wù)型”負(fù)荷。這看起來(lái)很正常,但不要假設(shè)每個(gè)人的負(fù)荷都這樣。例如,分析負(fù)荷通常都是批量插入,很少或沒(méi)有更新,以及每次都涉及到整個(gè)表的大量讀。很多數(shù)據(jù)庫(kù)都設(shè)計(jì)為能很好地處理這種負(fù)荷,因?yàn)樾枰治鰯?shù)據(jù)的業(yè)務(wù)往往都有海量的數(shù)據(jù),而且在特別為數(shù)據(jù)分析做過(guò)優(yōu)化的專(zhuān)有數(shù)據(jù)庫(kù)上花了大筆的錢(qián)。
事務(wù)型負(fù)荷意味著,除非應(yīng)用程序設(shè)計(jì)得很精巧,否則無(wú)法只做讀取操作(這樣設(shè)計(jì)是個(gè)好主意,但這是一個(gè)不同的話(huà)題)。從運(yùn)維的角度來(lái)說(shuō),與一直在線(xiàn)的特點(diǎn)一樣,這種事務(wù)型負(fù)荷也縮小了你的選擇空間。
一個(gè)相關(guān)的方面是數(shù)據(jù)與查詢(xún)的簡(jiǎn)單性。因?yàn)榛A(chǔ)的數(shù)據(jù)模型通常都不復(fù)雜,所以多數(shù)Web應(yīng)用都生成前述的事務(wù)型負(fù)荷。如果將典型Web應(yīng)用的數(shù)據(jù)模型做上
一些處于中心位置的表通常少于10個(gè)。很多這種表都會(huì)存儲(chǔ)類(lèi)的數(shù)據(jù),如用戶(hù),這些數(shù)據(jù)通常都是以一次一行的方式存取的。
網(wǎng)站的流量很大程度上決定了數(shù)據(jù)庫(kù)的流量。用戶(hù)瀏覽網(wǎng)站,就會(huì)在用戶(hù)表中對(duì)該用戶(hù)的那行記錄進(jìn)行讀寫(xiě)。瀏覽網(wǎng)站一般都會(huì)導(dǎo)致應(yīng)用程序讀取數(shù)據(jù)集或數(shù)據(jù)區(qū)域來(lái)填充頁(yè)面瀏覽也會(huì)潛在地顯示一些統(tǒng)計(jì)數(shù)據(jù),如你社會(huì)網(wǎng)絡(luò)中的好友數(shù),而要生成這些統(tǒng)計(jì)數(shù)據(jù),就要做匯總或聚集查詢(xún)。所以,查詢(xún)通常會(huì)滿(mǎn)足下面的模式:
● 讀寫(xiě)用戶(hù)表,一次一行。
● 以區(qū)域或集合方式讀取用戶(hù)自己的數(shù)據(jù)。以區(qū)域或集合方式讀取其他用戶(hù)的數(shù)據(jù)。
● 從該用戶(hù)與其他用戶(hù)的關(guān)聯(lián)表中讀取區(qū)域行(ranges of rows)。對(duì)該用戶(hù)和其他用戶(hù)的數(shù)據(jù)進(jìn)行匯總與計(jì)數(shù)。
行的區(qū)域與集合通常是由某些條件將結(jié)果限制為前N個(gè)(topN)的SQL查詢(xún),如最新記錄。這些結(jié)果常常是分頁(yè)的,所以查詢(xún)條件會(huì)是一個(gè)偏移量和一個(gè)記錄條數(shù)的組合。不同的網(wǎng)站建設(shè)數(shù)據(jù)庫(kù)會(huì)用不同的方式來(lái)做這樣的查詢(xún),所以我就不展示具體的查詢(xún)例子了。
本文地址:http://m.hbbqcd.cn//article/3315.html