圖片來源: 

Google

Google宣布,使用者已經可以在GCP的控制臺,看到管理無伺服器NoSQL資料庫Cloud Firestore的工具與選項,另外,在這次的更新也新增了輸入與輸出資料、單一資料欄索引控制,還提供更好用的陣列三項新功能,並將在更多的資料中心區域可用。

Cloud Firestore提供原生與Datastore兩種模式,原生模式在數個月前已經上線,現在測試版使用者可以同時在Firebase和GCP控制臺管理專案,而現在測試版原生模式的規模限制,已經擴展到支援每秒一萬次寫入以及支援一百萬並行使用者。

Cloud Firestore作為Cloud Datastore的後繼者,使用者創建Cloud Datastore後,Cloud Firestore支援所有Cloud Datastore API和客戶端函式庫。而在Cloud Firestore進入一般可用性階段時,所有Cloud Datastore客戶的專案將自動升級為Cloud Firestore的Datastore模式,使用者不需要為此做任何程式碼的更動,服務也不會經歷任何中斷。

Cloud Firestore的Datastore模式比原本Cloud Datastore服務更加可靠,在一般可用版中,提供多重區域執行個體99.999%可用性SLA,而區域型的執行個體也有99.99%的可用性SLA。Google提到,Datastore模式解除了許多舊服務的限制,由於Cloud Firestore是高度一致的資料庫,因此不再有最終一致性(Eventual Consistency),另外,每秒寫入次數不再受實體群組限制,開發者可以依照想法設計交易的複雜性。而且也不再有跨實體群組的交易限制,交易可以跨文件(Document),並且配合應用程式的設計。

而Google也為Cloud Firestore增加了三個新功能,分別是輸入與輸出資料、單一資料欄索引控制,還提供更好用的陣列功能。Cloud Firestore現在提供使用者輸入與輸出資料的功能,使用者可以用來備份資料,或是將資料搬移到另外的資料庫,對於應用程式在開發周期的不同階段,利用輸出輸入資料功能,可以方便的進行專案遷移。Google提到,輸出的資料會放在Google Cloud Storage儲存桶中,使用者在需要的時候,也可以將資料導入BigQuery中,進行臨時的分析工作。

單一資料欄索引控制則讓使用者在文件中,禁用資料欄位自動索引。由於Cloud Firestore會自動對文件中任何欄位的值建立索引,但當這些欄位儲存的是地圖或是陣列,資料庫仍然會對這些物件遞迴索引每個單一的值,而這無非是在浪費運算資源。像是將郵寄地址儲存成地圖的使用案例,使用者可以使用城市或是郵遞區號進行索引就好,而且像是使用者儲存的是原始繪圖資料,資料欄位中儲存了龐大的資料陣列,而這些資料也不需要建立索引,就可以使用索引控制減少資源浪費。

此外,在Cloud Firestore改進了陣列功能。Google提到,像Cloud Firestore這種多用戶的環境,陣列並非有效率的資料結構,而過去,Cloud Firestore透過限制用戶使用陣列,來預防可能的問題發生,因此Cloud Firestore使用者只能以置換整個陣列的方法更新陣列資料,無法單純的刪除或是增加資料,而且也無法對陣列進行有意義的查詢。

不過,現在透過新的Array-contains,Cloud Firestore能實現陣列元素查詢功能,也就是說,使用者現在已經可以將元素保存成陣列,並對元素進行條件查詢,甚至新增或是移除元素。

Cloud Firestore會在未來幾個月內持續拓展可用地區,目前首發區域為德國法蘭克福以及美國南卡羅萊納州。


Advertisement

更多 iThome相關內容