鍍金池/ 問答/Linux  數(shù)據(jù)庫/ 影響 NoSQL 數(shù)據(jù)庫的性能的因素問題?

影響 NoSQL 數(shù)據(jù)庫的性能的因素問題?

圖片描述

從亞馬遜的網(wǎng)站,地址如下,看到關(guān)于 關(guān)系數(shù)據(jù)庫NoSQL數(shù)據(jù)庫 的性能比較,不是很明白 NoSQL數(shù)據(jù)庫 的性能因素:

  1. 網(wǎng)絡(luò)延遲
  2. 調(diào)用應(yīng)用程序

這個兩個因素具體是什么意思? 網(wǎng)絡(luò)延遲 對于 關(guān)系數(shù)據(jù)庫 來說就不重要嗎?調(diào)用應(yīng)用程序又是什么意思?它們是怎么影響NoSQL數(shù)據(jù)庫的性能的?

回答
編輯回答
若相惜

你這個問題太大了,硬件方面,我就不多說了,比如memcache及redis等NOSQL數(shù)據(jù)庫,對內(nèi)存要求都比較高,redis如果使用ssd的硬盤肯定比sas盤好多了。關(guān)于你說的網(wǎng)絡(luò)延遲和抵用應(yīng)用程序:我這里拿redis舉例了:
當(dāng)用戶連接到Redis通過TCP/IP連接或Unix域連接,千兆網(wǎng)絡(luò)的典型延遲可能達(dá)到200us,而Unix域socket可能低到30us,當(dāng)然這個跟你的硬件網(wǎng)卡有關(guān)系的,而且redis的屬于典型的C/S架構(gòu),調(diào)用Redis時,通常是以發(fā)送-應(yīng)答-再發(fā)送-再應(yīng)答的模式進(jìn)行的,而每一次發(fā)送與應(yīng)答,都需要數(shù)據(jù)從客戶端到服務(wù)端飛一次,當(dāng)需要使用Redis處理多個命令時,這樣時間都消耗到網(wǎng)絡(luò)延遲上可能就不劃算了,當(dāng)然也可以對redis進(jìn)行優(yōu)化緩解網(wǎng)絡(luò)延遲問題,所有的不管是關(guān)系型數(shù)據(jù)庫還是nosql數(shù)據(jù)庫肯定都與調(diào)用該數(shù)據(jù)庫的程序有關(guān)系,比如大批量的查,大批量的寫等這些操作都會對數(shù)據(jù)庫帶來壓力。畢竟數(shù)據(jù)庫是這個服務(wù)的瓶頸,這個目前好的辦法是在數(shù)據(jù)庫前加緩存,對數(shù)據(jù)庫實現(xiàn)讀寫分離,同時拆庫優(yōu)化。這里我只描述redis,其他的nosql數(shù)據(jù)庫不太了解,不敢亂說。

2018年6月5日 21:09