告訴你 SQL 數據庫與 NoSQL 數據庫的區別

簡單來講 SQL 數據庫和 NoSQL 數據庫有着共同的目標:存儲數據,但存儲的方式不一樣redis

一. 表

  • SQL中的表結構具備嚴格的數據模式約束: 存儲數據很難出錯。
  • NoSQL存儲數據更加靈活自由:可能致使數據不一致性問題的發生。

SQL

每一個表規定了固定的字段,各個字段有固定的類型數據庫

NoSQL

而 NoSQL 使用類 Json 的鍵值對存儲數據(還有使用陣列、圖形的),
一個記錄或者說一個文檔能夠是這樣的格式spa

KEY 1:
{
   id: 123456,
   name:"howie",
   age: 20
}

也能夠是這樣的格式code

KEY 2:
{
 ISBN: 9780992461225,
 title: "JavaScript: Novice to Ninja",
 author: "Darren Jones",
 price: 29.00,
 review: [
   { name: "A Reader", text: "The best JavaScript book I've ever read." },
   { name: "JS Expert", text: "Recommended to novice and expert developers alike." }
 ]
}

全部的記錄組成一個集合,例如 redis索引

二. 數據庫的模式

SQL 模式

關係型數據庫中,在把數據存儲進去前,你須要作不少工做,如設置數據庫字符集,定義主鍵,設置各個字段的類型,設置索引等等,這些就是關係型數據庫的模式,這些模式的限制,讓表結構有着嚴格的約束。ip

相關文章
相關標籤/搜索