Firebase Cloud Firestore 筆記

Firebase 自從併入 Google 後, BAAS 的功能漸漸地完備了,但是原有的 Realtime Database 卻絲毫沒有長進(被毆)~ 終於,Google 在 Firebase 服務中增加了新資料庫服務 Cloud Firestore

摘要筆記

  • Firebase 目前並存 Cloud Firestore 跟 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)
  • Cloud Firestore 同 Collection 中的文件,依然沒有 schema 和 key constraint。因此在 sorting 時,如果是 mixed type 也有其先後的不同
  • Cloud Firestore 支援原子性(atomically)執行批次指令(batch operation)
  • Cloud Firestore 新增了 Web 的 offline 支援
  • Cloud Firestore 比 Realtime Database 有更好的擴展性,會自動 sharding。Realtime Database 支援上限為,在同一個資料庫中 100,000 同時連線數與每秒 1,000 write。超過的話就必須自行分開成多個 DB
  • Cloud Firestore 也支援 Realtime Database 的事件監聽模式 (added, modified, removed)。並可監聽在 Collection 中的某個條件的多個 Document
  • Cloud Firestore 支援 Cloud Functions 監聽對於 Collection, 或是單一 Document 的 Trigger(onCreate, onUpdate, onDelete, onWrite)。但還不支援針對特定一個 Field 監聽

如何選擇

注意事項

Beta Limits
  • Cloud Firestore 源自於 Google Cloud Platform 的 Cloud Datastore 資料庫,所以當你啟用 Cloud Firestore 測試版後,將無法在同個專案中 Cloud Datastore

相關連結

安郡尼爾筆記

Engineer Matters: Mobile App Development, Android, iOS, Game Development, Cocos2dx, Backend, Parse, Firebase, Database, MongoDB, Cloud Computing, Cloud Services, AWS, Google Cloud Services

Terry Huang

Written by

Co-Founder of LiRise Co.,Ltd. In charge of innovative affairs development. Tags: Guitar, Golf, Photograph, Cocktail, Dance, Diving, Travel.

安郡尼爾筆記

Engineer Matters: Mobile App Development, Android, iOS, Game Development, Cocos2dx, Backend, Parse, Firebase, Database, MongoDB, Cloud Computing, Cloud Services, AWS, Google Cloud Services