PostgreSQL 不是 NoSQL 資料庫
每個資料庫都來自不同類別的資料庫管理系統。有幾種型別的資料庫管理系統,它們如下:
本教程將重點介紹關聯式資料庫、分層資料庫和 NoSQL 資料庫。我們將介紹每個 DBMS 中使用的資料庫以及它們之間的區別。
關係型資料庫
關聯式資料庫使用表來捕獲記錄中的資料,並且這些表具有使用主鍵和外來鍵約束的關係。
下圖顯示了一個分為行和列的關聯式資料庫表。列代表欄位,行代表記錄。
關聯式資料庫包括:
分層資料庫
分層資料庫將資料儲存為記錄。這些記錄被組織成樹狀或父子結構,父節點有許多通過連結連線的子節點。
下圖顯示了分層資料的組織方式。
分層資料庫包括:
NoSQL 資料庫
NoSQL 資料庫在分散式系統中用於儲存大量資料。這些資料庫用於實時應用程式和大資料。
這些資料庫最適合儲存分層資料,它們以 JSON、XML 和 YAML 等格式儲存資料。
NoSQL 資料庫資料儲存型別包括鍵值儲存、文件儲存、列儲存和基於圖形的儲存。
下圖顯示瞭如何使用鍵值儲存在 NoSQL 資料庫中儲存資料。
NoSQL 資料庫包括:
PostgreSQL 不是 NoSQL 資料庫
PostgreSQL 是一個可以使用 JSON 執行查詢的關聯式資料庫,JSON 是上述 NoSQL 資料庫使用的一種格式。
JSON 格式是用於與半結構化資料互動的最常用方法,開發人員可能會因此推斷 PostgreSQL 是 NoSQL 資料庫,但事實並非如此。
請注意,即使你在使用 PostgreSQL 時使用 JSON 格式,資料也會記錄在具有關係的表中。
下圖顯示了 JSON 資料結構,可以與支援 JSON 的資料庫(如 PostgreSQL)和 NoSQL 資料庫(如 MongoDB)一起使用。
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