nosql的讀寫效能為何會優於sql?

時間 2021-05-29 22:43:36

1樓:朱涵俊

舉個例子,你去銀行存錢,存完之後查下餘額,餘額必須符合,否則問題很大。這叫強一致性。

但是你在知乎發了乙個回答,有人回覆之後,你並沒有看到,而是過了一段時間才看到,這時候問題不大。但是如果是你回覆了別人的答案,但是回覆完了發現看不見你剛剛發的這個回覆,這個問題不算很大,但體驗相當糟糕。這叫最終一致性。

總結一下,銀行存款寫入之後所有讀者讀取到的必須是最新的。而社交類回覆,寫入的人要看到最新的,而其他讀者讀取可以存在一定延時。

那這個不同,對軟體的要求相差很大。寫入的時候,只在乙個點寫入即可,其他點可以非同步方式複製過去。只要保證寫入者讀取的是更新過的點就行。

另外更新sql是更新的記錄,而nosql更新的相當於sql的字段。sql更新的時候,要把這條記錄上鎖,而nosql更新不需要鎖。

讀取來說,速度快慢就看快取效率。sql也有快取,但是基於查詢的。select * from article where pubid = 123跟select * from article where id=222;不同的查詢,222這條記錄的內容可能是一樣的,但是沒法共用快取。

而nosql是字段級別的,粒度細很多,快取效率更高。

2樓:桂能

nosql一般有主鍵,所以他本質上就是乙個帶主鍵索引的兩列,一列是主鍵索引,一列是剩下的所有資料,至於你怎麼用,你要自己寫。

如果你在MySQL裡面只存兩列,然後一列主鍵,一列其他的,剩下的邏輯你都自己來,他們速度其實差不了多少。

3樓:張良

軟體在設計層面,一般有得必有失,衡量得失的價值得看實際使用場景。

比如如果要實現多表複雜關聯,nosql就力不從心了。但如果查詢簡單,可以使用nosql提高效率。但如果只是對比讀寫效率,鍵值資料庫比兩者更快,但也只能支援比兩者更簡單的查詢。

再強調一遍,使用什麼工具,得看具體的場景,單獨拿兩個工具出來比較其中一兩項效能,沒有意義。

如何評價一直以發燒級效能為主打賣點的小公尺,現在主推的功能是拍照。?

效能已經給你它能拿到的最高效能了,還能怎麼宣傳,你也不想自己的手機就是高通QRD那個糙的不行的東西吧。宣傳拍照補齊短板,正常操作。而且從mi5時代那個拍月亮的誇張宣傳,小公尺一直也挺重視,只是之前沒什麼實力做好罷了。現在索尼cmos保證下限,虹軟有演算法,小公尺的工程師不用從零開始,可以把50變90...

胖子的性能力會差嗎?

害,之前有個男朋友,183.200斤,是真的小,完全沒有啥感覺,坐在他上面都沒啥感覺,以至於後面都不想做,他就以為我性冷淡,他還總是問我大不大,為了顧及他的自尊,我只能說大 時間長,次數多,但就是小,太小了 那是我的第一次,居然沒什麼感覺,我一度懷疑是自己鬆弛。但我是第一次啊而且我這麼年輕!還要一直...

為何阿斯頓馬丁的設計效能都很好,但是知名度不如賓利?

沈簫 你沒開過馬丁你並不知道這其中的差距近幾年雖然馬丁的變速箱有微小的提公升但是當你在高速上要和別人飆的時候同時暴踩其他車系車瞬間飛出你的馬丁經過2s的等待才出去的一瞬間你對這個車的認同感瞬間蕩然無存 別問我開沒開過Vanquish 馬丁除了one77我都玩膩了最後補充一句v12的魅力 你nm響 和...