什麼是NoSQL?這裡給你整明白

roc_guo發表於2022-06-18

什麼是NoSQL?這裡給你整明白什麼是NoSQL?這裡給你整明白

一、什麼是 NoSQL

NoSQL是一類非 SQL(關係)資料庫,使用預定義表和列之外的其他資料模型。此類包含許多不同型別的資料庫以及資料儲存和操作的方法。

二、什麼是 SQL

NoSQL與幾十年來事實上的標準關係 (SQL) 資料庫相對立。SQL 資料庫將資料儲存在由具有嚴格資料型別的列組成的預定義表中。表可以具有唯一性(表中行之間的關係)、檢查約束(驗證一行中的資料)或外來鍵約束(不同表中資料之間的關係)。

示例關係資料模型:
什麼是NoSQL?這裡給你整明白什麼是NoSQL?這裡給你整明白

SQL是一種標準查詢語言,用於定義、操作和搜尋關聯式資料庫中的資料。

基本 SQL 查詢:

select customer_no, first_name, last_name, last_purchase
from customers
where address_state = 'CA'
為什麼關聯式資料庫還不夠?

模式的靈活性——關聯式資料庫具有固定的模式,這意味著它們只能儲存由資料庫管理員預定義的物件(在表中)和屬性(在列中)(寫入模式)。
開發中的敏捷性——必須在寫入資料之前定義模式使得開發資料庫的速度要慢得多。在 NoSQL 資料庫中,您可以只編寫資料並在需要讀取資料時擔心它們的資料格式(讀取模式),這使開發更加敏捷。
資料大小——許多 NoSQL 資料庫在構建時都考慮到了大規模資料,並且能夠儲存大量行或物件,從而犧牲了對其完整性的管理。

三、NoSQL 資料庫的型別
1、文件資料庫

文件資料庫將資料儲存在 JSON 文件中,這些文件是鍵值對的分層集合。文件可能很複雜,並且包含子文件和列表。

這是代表客戶的示例文件:

{
  "id": "1",
  "name":{
    "firstName":"John",
    "lastName": "Doe"
  },
  "address":{
    "street":"Lombard street",
    "city": "San Francisco",
    "state": "CA",
    "country": "US",
  }
}

流行的文件資料庫:

  • MongoDB
  • DynamoDB
  • Couchbase
  • CouchDB
  • 2、鍵值儲存

    鍵值儲存是最基本的 NoSQL 資料庫,將資料儲存在簡單的鍵值對中(在最簡單的情況下,兩者都是純字串),這意味著您可以在特定標籤下儲存一些值。
    什麼是NoSQL?這裡給你整明白什麼是NoSQL?這裡給你整明白

    Redis的一個例子:

> set customer1 JohnDoe

流行的鍵值儲存:

  • Redis
  • Berkley DB
  • 3、圖資料庫

    圖資料庫將資料表示為由節點和關係構建的網路。
    什麼是NoSQL?這裡給你整明白什麼是NoSQL?這裡給你整明白

    流行的圖資料庫:

  • Neo4J
  • Giraph
  • 4、寬列儲存

    寬列儲存儲存類似於關聯式資料庫,它們將資料儲存在表中,但資料是按列物理組織的。寬列資料庫中的資料是稀疏的,這意味著空列不佔用空間,並且允許在表中建立數百、數千甚至數百萬列。
    什麼是NoSQL?這裡給你整明白什麼是NoSQL?這裡給你整明白
    流行的寬列資料庫:

  • Apache Cassandra。
  • Apache HBase。
  • Google Bigtable。

  • 來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2901334/,如需轉載,請註明出處,否則將追究法律責任。

    相關文章