Database
Database
2022/04/01 (內容合併)
Database (系統分析與設計)
NoSQL
NoSQL (non SQL, non relational 或 not only SQL)不是一個產品,而是個概念,泛指不支援SQL的資料庫或非關聯性資料庫,這樣的資料庫通常不需要是先定義的資料欄位,所以,並沒有schema的概念。真正的實作有多個種類 (詳參:https://en.wikipedia.org/wiki/NoSQL),所以,每一種NoSQL的用法都不太一樣。比較常見的有: MongoDB, Cassandra, Redis, HBase, Neo4j (詳參: http://www.kdnuggets.com/2016/06/top-nosql-database-engines.html)。
Key-Value
Document Store
Google Cloud Firestore (資料以文件的形式儲存,以集合的方式組織) (詳參: Cloud Firestore Data Model)
選擇 Cloud Firestore 或 Cloud Datastore
Cloud Firestore 是 Cloud Datastore 的下一個主要版本,也是這項產品重塑之後的版本。Cloud Firestore 是 NoSQL 文件資料庫,綜合 Cloud Datastore 與 Firebase Realtime Database 的精華,專為自動調整資源配置、發揮高效能以及簡化應用程式開發流程而設計。
Cloud Firestore 增加了 Collection 概念。資料庫的 Root 為多個 Collection,每個 Collection 可裝載多個 Document,每個 Document 實體中也可包含 Collection
Cloud Firestore 支援了更多資料格式,比如:object, array, geopoint, reference。其中 reference 可指定到特定節點的 Document 實體
Cloud Firestore 可自定義 index,支援 multi-key index。可以簡易做到混合(compound)的排序(sorting)和條件過濾(filtering)
Object database
Wide Column Store
Graph Database