關(guān)系數(shù)據(jù)庫:
是建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫,借助于集合代數(shù)等數(shù)學概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù)。簡單說來就是關(guān)系型數(shù)據(jù)庫用了選擇、投影、連接、并、交、差、除、增刪查改等數(shù)學方法來實現(xiàn)對數(shù)據(jù)的存儲和查詢??梢杂肧QL語句方便的在一個表及其多個表之間做非常復雜的數(shù)據(jù)查詢。安全性高。
2. 非關(guān)系型數(shù)據(jù)庫:
簡稱NOSQL,是基于鍵值對的對應關(guān)系,并且不需要經(jīng)過SQL層的解析,所以性能非常高。但是不適合用在多表聯(lián)合查詢和一些較復雜的查詢中。NoSQL用于超大規(guī)模數(shù)據(jù)的存儲。
nosql和關(guān)系型數(shù)據(jù)庫比較?
優(yōu)點:
1)成本:nosql數(shù)據(jù)庫簡單易部署,基本都是開源軟件,不需要像使用oracle那樣花費大量成本購買使用,相比關(guān)系型數(shù)據(jù)庫價格便宜。
2)查詢速度:nosql數(shù)據(jù)庫將數(shù)據(jù)存儲于緩存之中,關(guān)系型數(shù)據(jù)庫將數(shù)據(jù)存儲在硬盤中,自然查詢速度遠不及nosql數(shù)據(jù)庫。
3)存儲數(shù)據(jù)的格式:nosql的存儲格式是key,value形式、文檔形式、圖片形式等等,所以可以存儲基礎(chǔ)類型以及對象或者是集合等各種格式,而數(shù)據(jù)庫則只支持基礎(chǔ)類型(varchar等)。
4)擴展性:關(guān)系型數(shù)據(jù)庫有類似join這樣的多表查詢機制的限制導致擴展很艱難。
缺點:
1)維護的工具和資料有限,因為nosql是屬于新的技術(shù),不能和關(guān)系型數(shù)據(jù)庫10幾年的技術(shù)同日而語。
2)不提供對sql的支持,如果不支持sql這樣的工業(yè)標準,將產(chǎn)生一定用戶的學習和使用成本。
3)不提供關(guān)系型數(shù)據(jù)庫對事務的處理。
非關(guān)系型數(shù)據(jù)庫的優(yōu)勢:
1. 性能NOSQL是基于鍵值對的,可以想象成表中的主鍵和值的對應關(guān)系,而且不需要經(jīng)過SQL層的解析,所以性能非常高。
2. 可擴展性同樣也是因為基于鍵值對,數(shù)據(jù)之間沒有耦合性,所以非常容易水平擴展。
關(guān)系型數(shù)據(jù)庫的優(yōu)勢:
1. 復雜查詢可以用SQL語句方便的在一個表以及多個表之間做非常復雜的數(shù)據(jù)查詢。
2. 事務支持使得對于安全性能很高的數(shù)據(jù)訪問要求得以實現(xiàn)。