我說的大數(shù)據(jù)量處理是指同時(shí)需要對(duì)數(shù)據(jù)進(jìn)行檢索查詢,同時(shí)有高并發(fā)的增刪改操作。記得以前在XX做電力時(shí),幾百萬條數(shù)據(jù),那時(shí)一個(gè)檢索查詢可以讓你等你分鐘。現(xiàn)在我是想探討下對(duì)大數(shù)據(jù)量的處理,那時(shí)我就在想例如騰訊,盛大,動(dòng)輒數(shù)以億計(jì)的帳號(hào),怎么能這么
我說的大數(shù)據(jù)量處理是指同時(shí)需要對(duì)數(shù)據(jù)進(jìn)行檢索查詢,同時(shí)有高并發(fā)的增刪改操作。記得以前在XX做電力時(shí),幾百萬條數(shù)據(jù),那時(shí)一個(gè)檢索查詢可以讓你等你分鐘。現(xiàn)在我是想探討下對(duì)大數(shù)據(jù)量的處理,那時(shí)我就在想例如騰訊,盛大,動(dòng)輒數(shù)以億計(jì)的帳號(hào),怎么能這么快呢, 于是找到了互聯(lián)網(wǎng)現(xiàn)在對(duì)數(shù)據(jù)處理的發(fā)展。
對(duì)于大數(shù)據(jù)量處理,如果是互聯(lián)網(wǎng)處理的話,一般分為下面階段:
其實(shí)本文主要目的也是想探討nosql對(duì)大數(shù)據(jù)量的處理:
NOSQL就是將寫操作在內(nèi)存中進(jìn)行,定時(shí)或按某一條件將內(nèi)存中的數(shù)據(jù)直接寫到磁盤上,一定基礎(chǔ)上是解決了一些問題:
CAP理論來說,nosql是犧牲了一致性,做到了AP,一致性只是保證了最終一致性。
缺點(diǎn)也很明顯:
1. 當(dāng)機(jī)器掛了數(shù)據(jù)將會(huì)丟失,可以考慮共享內(nèi)存解決。
補(bǔ)充:其實(shí)這里可以展開了講,一種是通過共享內(nèi)存來實(shí)現(xiàn)。
集群內(nèi)存:根據(jù)的是Quorum NRW理論,比如你有N臺(tái)機(jī)子用來集群,每次你進(jìn)行讀寫數(shù)據(jù)時(shí)可以至少要同步到X個(gè)節(jié)點(diǎn)才算成功,所以你每次讀數(shù)據(jù)時(shí)只需要讀大于N-X個(gè)節(jié)點(diǎn)就能保持你的正確率,其實(shí)就是對(duì)數(shù)據(jù)進(jìn)行的冗余備份,不過我們存的是內(nèi)存,相對(duì)于直接的磁盤操作,跨網(wǎng)絡(luò)進(jìn)行內(nèi)存操作可以更快。
其實(shí)還一種保證數(shù)據(jù)一致性,就是記錄日志,當(dāng)數(shù)據(jù)每次寫操作內(nèi)存時(shí)都進(jìn)行日志記錄,然后再在內(nèi)存中進(jìn)行寫操作,至少很多數(shù)據(jù)庫就是這樣做的,如redis。
2. 內(nèi)存的限制,內(nèi)存有限當(dāng)寫數(shù)據(jù)操作太大的時(shí)候內(nèi)存也會(huì)爆。
解決:Bigtable的做法是通過bloom-filter算法合并掉相同的操作,比如UPDATE A='A' ,update A='B'時(shí)可以直接合并了。
nosql理論基礎(chǔ):內(nèi)存是新的硬盤,硬盤是新的磁盤
關(guān)系型數(shù)據(jù)庫都要實(shí)現(xiàn)事務(wù)ACID,即:原子性(Atomicity),一致性(Consistency),隔離性(Isolation), 持久性(Durability)。
CAP理論:
?大多數(shù)NoSQL數(shù)據(jù)庫都不支持事務(wù),不支持SQL等,所以還是得保留關(guān)系型數(shù)據(jù)庫。現(xiàn)在有人提到用內(nèi)存數(shù)據(jù)庫, 總體如果是簡單業(yè)務(wù)來說,NOSQL的速度比內(nèi)存數(shù)據(jù)庫更快,但NOSQL最大缺點(diǎn),不支持事務(wù),不支持SQL查詢等。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com