一,關係數據庫(RDB)
關係型數據庫作爲傳統的數據庫,支持完整的ACID屬性,其中聲明式的SQL語法屏蔽了底層的實現細節,同時關係數據模型也符合人的正常思維邏輯,因此在各種應用中關係型數據庫都佔據主導位置。常見的RDB數據庫包括Mysql,Oracle,Sql server,PgSql,SQLite,Mysql分支MariaDB等。
關係型數據庫優點多多,但是在現今的互聯網環境下慢慢的暴露出其弊端,包括:
無法存儲數據結構
表結構固定,擴展性差
大數據量下的 I/O 性能差
全文檢索功能弱
二,非關係數據庫(NoSQL)
NoSQL是說Not Only SQL,非關係型數據庫捨棄了ACID屬性中的一個或多個,因此NoSQL也並非銀彈,只能作爲關係型數據庫的補充,或者適用於特定的業務場景。
常見的NoSQL包含以下類別,基本上都是爲了補充RDB數據庫的不足而產生:
K-V 數據庫:解決了RDB數據庫無法存儲數據結構的弊端,以 Redis 爲代表
文檔數據庫:解決了RDB數據庫表結構擴展性差的問題,以 MongoDB 爲代表
列式數據庫:解決了RDB數據庫在大數據場景下的I/O性能問題,以 HBase 爲代表
全文檢索引擎:補充了RDB數據庫全文檢索能力,以 ES 爲代表
三,分散式存儲系統(DRDB)
留待觀察,官網
四,NoSQL的歷史軌跡
借用網上的一張圖來說
現在應該再加上 New SQL 了應該。