1. 程式人生 > >關係型資料庫和非關係型資料庫的區別

關係型資料庫和非關係型資料庫的區別

資料庫
型別
特性 優點 缺點
關係型資料庫
SQLite、Oracle、mysql
1、關係型資料庫,是指採用了關係模型來組織
資料的資料庫;
2、關係型資料庫的最大特點就是事務的一致性;
3、簡單來說,關係模型指的就是二維表格模型,
而一個關係型資料庫就是由二維表及其之間的聯絡所組成的一個數據組織。
1、容易理解:二維表結構是非常貼近邏輯世界一個概念,關係模型相對網狀、層次等其他模型來說更容易理解;
2、使用方便:通用的SQL語言使得操作關係型資料庫非常方便;
3、易於維護:豐富的完整性(實體完整性、參照完整性和使用者定義的完整性)大大減低了資料冗餘和資料不一致的概率;
4、支援SQL,可用於複雜的查詢。
1、為了維護一致性所付出的巨大代價就是其讀寫效能比較差;
2、固定的表結構;
3、高併發讀寫需求;
4、海量資料的高效率讀寫;
非關係型資料庫
MongoDb、redis、HBase
1、使用鍵值對儲存資料;
2、分散式;
3、一般不支援ACID特性;
4、非關係型資料庫嚴格上不是一種資料庫,應該是一種資料結構化儲存方法的集合。
1、無需經過sql層的解析,讀寫效能很高;
2、基於鍵值對,資料沒有耦合性,容易擴充套件;
3、儲存資料的格式:nosql的儲存格式是key,value形式、文件形式、圖片形式等等,文件形式、圖片形式等等,而關係型資料庫則只支援基礎型別。
1、不提供sql支援,學習和使用成本較高;
2、無事務處理,附加功能bi和報表等支援也不好;

注1:資料庫事務必須具備ACID特性,ACID是Atomic原子性,Consistency一致性,Isolation隔離性,Durability永續性。

注2:資料的持久儲存,尤其是海量資料的持久儲存,還是需要一種關係資料庫。