Not Only SQL 這是最常見對非關係型資料庫描述的一句話
NoSQL 這個詞的定義非常不明確,它泛指非關係型資料庫。主張使用無模式(Schema)的資料,可以執行在叢集環境中,並且能夠犧牲關係型資料庫所具備的一致性,以換取另外一些有用的特性,NoSQL 的倡導者聲稱,使用它們可以構建出效能更高、擴充套件度更好且更易於的系統。
什麼型別的資料庫可以稱為 NoSQL 資料庫呢?
- 開發於 21 世紀初
- 開放原始碼
- 不以 SQL 語句運算元據庫,透過 Shell 指令碼命令操作
NoSQL 資料庫常見的型別
- 鍵值型別 Redis
- 文件型別 MongoDB
- 列族型別 HBase
- 圖形型別 Neo4j
除了非關係型資料庫與 NoSQL 資料庫,還有一種物件型別資料庫,但已經沒有人使用,因為有了 ORM 物件關係對映模型框架
為什麼要使用 NoSQL 資料庫
-
應用程式的開發效率,傳統的關係型資料庫,會使技術人員花費大量的時間找實體、關係圖、建模型上。
-
大規模的資料,應用要快速從資料庫中獲取資料,傳統關係型資料庫即便能達到要求,相比 NoSQL 成本較高。畢竟 NoSQL 資料庫為叢集環境而設計,自帶分片、複製、分散式功能,更適合大規模資料的應用場景。
應用場景
目前企業實際專案中常見的還是以關係型資料為主,NoSQL為輔。
比如主流關係型資料 MySQL 資料庫。鍵值型別、資料存與記憶體的 Redis 來作為快取、佇列、分散式事務鎖。文件型別的 MongoDB 存放日誌資訊、社交類應用存放使用者資訊。Hbase 用於大資料分析使用者行為,廣告、金融系統存放使用者支出、收益資訊。
本作品採用《CC 協議》,轉載必須註明作者和本文連結