關于資料庫的分類其實可以從各個緯度來進行劃分,但是我們最常使用的分類還是根據他們存取資料的特點來進行劃分,主要分為關系型資料庫和非關系型資料庫。
關系型資料庫管理系統(relational database management system:rdbms)是指包括互相聯系的邏輯組織和存取這些資料的一套程式 (資料庫管理系統軟體)。關系資料庫管理系統就是管理關系資料庫,并将資料邏輯組織的系統。
關系型資料庫:如 mysql、oracle資料庫、postgresql、access、 sql server、sqllite、db2、mariadb、percona server、google fusion tables、filemaker、sybase、dbase、clipper、foxpro、foshub。
nosql最常見的解釋是“non-relational”, “not only sql”也被很多人接受。nosql僅僅是一個概念,泛指非關系型的資料庫,差別于關系資料庫,它們不保證關系資料的acid特性。
非關系型資料庫:如 mongodb、redis、memcache、bigtable、cassandra、couchdb、apache cassandra、dynamo、leveldb。
sql(structuredquerylanguage,結構化查詢語言)是一種資料庫查詢語言和程式設計語言,主要用于管理資料庫中的資料,如存取資料、查詢資料、更新資料等。
簡介
優點
缺點
關系型資料庫
關系型資料庫最典型的資料結構是表,由二維表及其之間的聯系所組成的一個資料組織。
1、易于維護:都是使用表結構,格式一緻;
2、使用友善:sql語言通用,可用于複雜查詢;
3、複雜操作:支援sql,可用于一個表以及多個表之間非常複雜的查詢。
1、讀寫性能比較差,尤其是海量資料的高效率讀寫;
2、固定的表結構,靈活度稍欠;
3、高并發讀寫需求,傳統關系型資料庫來說,硬碟i/o是一個很大的瓶頸。
非關系型資料庫
非關系型資料庫嚴格上不是一種資料庫,應該是一種資料結構化存儲方法的集合,可以是文檔或者鍵值對等
1、格式靈活:存儲資料的格式可以是key-value形式、文檔形式、圖檔形式等等,使用靈活,應用場景廣泛,而關系型資料庫則隻支援基礎類型。
2、速度快:nosql可以使用硬碟或者随機存儲器作為載體,而關系型資料庫隻能使用硬碟;
3、高擴充性;
4、成本低:nosql資料庫部署簡單,基本都是開源軟體。
1、不提供sql支援,學習和使用成本較高;
2、無事務處理;
3、資料結構相對複雜,複雜查詢方面稍欠。