PostgreSQL 不是 NoSQL 資料庫

David Mbochi Njonge 2024年2月16日
  1. 關係型資料庫
  2. 分層資料庫
  3. NoSQL 資料庫
  4. PostgreSQL 不是 NoSQL 資料庫
PostgreSQL 不是 NoSQL 資料庫

每個資料庫都來自不同類別的資料庫管理系統。有幾種型別的資料庫管理系統,它們如下:

  1. 關係型資料庫
  2. 物件導向的資料庫
  3. 分層資料庫
  4. 網路資料庫
  5. NoSQL 資料庫

本教程將重點介紹關聯式資料庫、分層資料庫和 NoSQL 資料庫。我們將介紹每個 DBMS 中使用的資料庫以及它們之間的區別。

關係型資料庫

關聯式資料庫使用表來捕獲記錄中的資料,並且這些表具有使用主鍵和外來鍵約束的關係。

下圖顯示了一個分為行和列的關聯式資料庫表。列代表欄位,行代表記錄。

關聯式資料庫表

關聯式資料庫包括:

  1. MariaDB
  2. SqLite
  3. MySQL
  4. PostgreSQL

分層資料庫

分層資料庫將資料儲存為記錄。這些記錄被組織成樹狀或父子結構,父節點有許多通過連結連線的子節點。

下圖顯示了分層資料的組織方式。

分層資料影象

分層資料庫包括:

  1. IBM 的資訊管理系統(IMS)
  2. RDM 移動

NoSQL 資料庫

NoSQL 資料庫在分散式系統中用於儲存大量資料。這些資料庫用於實時應用程式和大資料。

這些資料庫最適合儲存分層資料,它們以 JSON、XML 和 YAML 等格式儲存資料。

NoSQL 資料庫資料儲存型別包括鍵值儲存、文件儲存、列儲存和基於圖形的儲存。

下圖顯示瞭如何使用鍵值儲存在 NoSQL 資料庫中儲存資料。

鍵值資料儲存影象

NoSQL 資料庫包括:

  1. MongoDB
  2. Redis

PostgreSQL 不是 NoSQL 資料庫

PostgreSQL 是一個可以使用 JSON 執行查詢的關聯式資料庫,JSON 是上述 NoSQL 資料庫使用的一種格式。

JSON 格式是用於與半結構化資料互動的最常用方法,開發人員可能會因此推斷 PostgreSQL 是 NoSQL 資料庫,但事實並非如此。

請注意,即使你在使用 PostgreSQL 時使用 JSON 格式,資料也會記錄在具有關係的表中。

下圖顯示了 JSON 資料結構,可以與支援 JSON 的資料庫(如 PostgreSQL)和 NoSQL 資料庫(如 MongoDB)一起使用。

JSON 結構

David Mbochi Njonge avatar David Mbochi Njonge avatar

David is a back end developer with a major in computer science. He loves to solve problems using technology, learning new things, and making new friends. David is currently a technical writer who enjoys making hard concepts easier for other developers to understand and his work has been published on multiple sites.

LinkedIn GitHub