天天看點

為什麼會出現NoSql資料庫

NoSQL即Not-Only SQL是關系型資料庫的良好補充

 關系型資料庫是基于關系模型提出來的資料庫.那麼什麼是關系模型呢?以行和列的方式二維表的方式存儲資料的模型就是關系型資料庫.例如:mysql和oracle

随着網際網路web網站的興起,關系型資料庫暴露的缺點越來越多,關系型資料庫可以應付上萬次的sql查詢,但是對于上萬次的sql寫資料的請求,硬碟io就受不鳥了

下面小編來說說硬碟和記憶體條有什麼差別(記憶體條又稱記憶體)

硬碟:用來存儲資料的計算機配件。是非易失性儲存器,說得直白點,就是你關了機,裡面的資料也不會丢。平時電腦裡的C槽、D盤、E盤,都是指硬碟。其外觀是一個方形的盒子,裡面有盤片(像CD光牒一樣),還有讀寫盤片的磁頭。

記憶體條:由于硬碟速度比較慢,CPU如果運作程式的時候,所有資料都直接從硬碟中讀寫,會非常影響效率。是以CPU會将運作軟體時要用的資料一次性從硬碟調用到運作速度很快的記憶體,然後再CPU再與記憶體進行資料交換。記憶體是易失性存儲器,隻要你斷了電,記憶體中的資料就沒有了。記憶體本身是一塊內建電路闆,上面有數顆用于存儲資料的的晶片。由于這塊電路闆一般都做成長條形,是以叫“記憶體條”。

總結起來:

                      讀資料  :cpu在讀資料的時候回從硬碟把資料從一次性讀寫到記憶體到,隻有cup就從記憶體上 讀資料  

大家思考一個問題?????如果記憶體記憶體用完了怎麼辦?是不是電腦就沒辦法用了呢?

        現在主流的記憶體條,容量為8GB或16GB,雖然和以前相比已經很大了,但是在如今這個大資料的時代,難免遇到記憶體不夠用這樣尴尬的時候,作業系統是這樣解決該問題的:系統可以在硬碟上開辟一塊區域,将硬碟當做記憶體來用。雖然速度很慢,但總比沒有要強。

                   寫資料:cpu在寫資料的時候回直接寫到硬碟上,如果需要的資料非常多,可以先把資料寫到硬碟緩存上,硬碟緩存起到讀寫硬碟時的緩沖作用

硬碟緩存是硬碟的電路闆上一顆獨立的小晶片(就跟記憶體一樣)。比如CPU要往硬碟中寫入大量的零碎的檔案,CPU可以先将這一堆檔案丢到速度較快的緩存裡,然後CPU就能先做其他事了。硬碟再從緩存中将這一堆零碎的小檔案寫入到硬碟盤面上。硬碟緩存有助于提高硬碟的突發性讀寫、随機讀寫的性能。

好,在我們回到我們的正題,為什麼會出現nosql資料庫

舉例:記錄網站文章的點選率是一個非常普遍的功能,那麼你有沒有想過,實作這樣一個功能,對硬碟的io有怎樣的要求呢?顯而易見,很高

在舉例:投票系統,當開始投票的那一刻,所有的人都開始請求寫資料到硬碟,可以見硬碟的io又受不鳥了,是以nosql資料庫就誕生了

常見的nosql資料庫有:redis,mongoDB等

為什麼會出現NoSql資料庫
為什麼會出現NoSql資料庫
為什麼會出現NoSql資料庫

繼續閱讀