關系型和非關系型數(shù)據(jù)庫的主要差異是數(shù)據(jù)存儲的方式。關系型數(shù)據(jù)天然就是表格式的,因此存儲在數(shù)據(jù)表的行和列中。數(shù)據(jù)表可以彼此關聯(lián)協(xié)作存儲,也很容易提取數(shù)據(jù)。
與其相反,非關系型數(shù)據(jù)不適合存儲在數(shù)據(jù)表的行和列中,而是大塊組合在一起。非關系型數(shù)據(jù)通常存儲在數(shù)據(jù)集中,就像文檔、鍵值對或者圖結(jié)構(gòu)。你的數(shù)據(jù)及其特性是選擇數(shù)據(jù)存儲和提取方式的首要影響因素
關系型數(shù)據(jù)庫
關系型數(shù)據(jù)庫最典型的數(shù)據(jù)結(jié)構(gòu)是表,由二維表及其之間的聯(lián)系所組成的一個數(shù)據(jù)組織
優(yōu)點:
1、易于維護:都是使用表結(jié)構(gòu),格式一致;
2、使用方便:SQL語言通用,可用于復雜查詢;
3、復雜操作:支持SQL,可用于一個表以及多個表之間非常復雜的查詢。
缺點:
1、讀寫性能比較差,尤其是海量數(shù)據(jù)的高效率讀寫;
2、固定的表結(jié)構(gòu),靈活度稍欠;
3、高并發(fā)讀寫需求,傳統(tǒng)關系型數(shù)據(jù)庫來說,硬盤I/O是一個很大的瓶頸
非關系型數(shù)據(jù)庫
非關系型數(shù)據(jù)庫嚴格上不是一種數(shù)據(jù)庫,應該是一種數(shù)據(jù)結(jié)構(gòu)化存儲方法的集合,可以是文檔或者鍵值對等。
優(yōu)點:
1、格式靈活:存儲數(shù)據(jù)的格式可以是key,value形式、文檔形式、圖片形式等等,使用靈活,應用場景廣泛,而關系型數(shù)據(jù)庫則只支持基礎類型。
2、速度快:nosql可以使用硬盤或者隨機存儲器作為載體,而關系型數(shù)據(jù)庫只能使用硬盤;
3、高擴展性;
4、成本低:nosql數(shù)據(jù)庫部署簡單,基本都是開源軟件。
缺點:
1、不提供sql支持,學習和使用成本較高;
2、無事務處理;
3、數(shù)據(jù)結(jié)構(gòu)相對復雜,復雜查詢方面稍欠。
非關系型數(shù)據(jù)庫的分類和比較:
1、文檔型
2、key-value型
3、列式數(shù)據(jù)庫
4、圖形數(shù)據(jù)庫