首頁(yè) 行業(yè) 活動(dòng) 項(xiàng)目 快訊 文娛 時(shí)尚 娛樂 科技 汽車 綜合 生活

如何比較分析TimesTen?

2021-01-27 11:36:48 來(lái)源:百度知道

TimesTen的名字,就是Ten Times(10倍),意思就是

比傳統(tǒng)的數(shù)據(jù)庫(kù)要快一個(gè)數(shù)量級(jí)

TimesTen要快這么多?如果把傳統(tǒng)的數(shù)據(jù)庫(kù)中的數(shù)據(jù)全部先load到內(nèi)存中是否能達(dá)到相同的效果?下面我們對(duì)它們做一個(gè)比較分析。

第一,傳統(tǒng)的數(shù)據(jù)庫(kù)和應(yīng)用程序是兩個(gè)不同的應(yīng)用系統(tǒng),它們之間的通訊是通過(guò)IPC連接來(lái)實(shí)現(xiàn)的。而TimesTen則是直接把數(shù)據(jù)庫(kù)的內(nèi)存映射到應(yīng)用程序的地址空間中

,簡(jiǎn)單來(lái)說(shuō),這時(shí)候TimesTen訪問數(shù)據(jù)庫(kù)中的數(shù)據(jù),就象訪問應(yīng)用程序自己的數(shù)組、字符串變量一樣

,只不過(guò)TimesTen有一套完善的機(jī)制來(lái)實(shí)現(xiàn)數(shù)據(jù)的一致性和完整性。這種直接嵌入到應(yīng)用程序的運(yùn)行地址空間機(jī)制比IPC要高效很多。

第二,傳統(tǒng)的數(shù)據(jù)庫(kù)都是Disk-based的,即預(yù)先假定數(shù)據(jù)主要是放在磁盤中的,所以它的所有優(yōu)化、查詢算法都是以磁盤存儲(chǔ)為主的。舉個(gè)簡(jiǎn)單的例子,比如說(shuō)要查找一行記錄,傳統(tǒng)的數(shù)據(jù)庫(kù)要先查找索引

,通過(guò)索引查找該記錄所在的頁(yè)面

,然后通過(guò)查找該頁(yè)是已經(jīng)在內(nèi)存中,還是要從磁盤的數(shù)據(jù)文件中讀取出來(lái)。而TimesTen是預(yù)先就把所有的數(shù)據(jù)Load到內(nèi)存中,它知道所有的數(shù)據(jù)一定在內(nèi)存里面,不會(huì)再通過(guò)其它的調(diào)用去決定數(shù)據(jù)在哪兒,這其中就少走了很多的彎路,

基本沒有磁盤的IO

,而且都在內(nèi)存中,效率也就高了很多。所以即使傳統(tǒng)的數(shù)據(jù)庫(kù)把數(shù)據(jù)都預(yù)先Load的內(nèi)存中,也是達(dá)不到TimesTen的效果的。因?yàn)閭鹘y(tǒng)數(shù)據(jù)庫(kù)的

索引機(jī)制、優(yōu)化算法、復(fù)雜的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)的獲取機(jī)制

等等因素限制了它的性能。

關(guān)鍵詞: TimesTen

上一篇:u盤開機(jī)鎖如何加載到啟動(dòng)項(xiàng)中?

下一篇:ipad代理服務(wù)器需要修復(fù)嗎?

責(zé)任編輯:

最近更新

點(diǎn)擊排行
推薦閱讀