簡體   English   中英

將Firebase Auth與Firebase實時數據庫或Google Cloud Datastore結合在一起?

[英]Combining Firebase Auth with Firebase Realtime Database or Google Cloud Datastore?

我正在計划一個需要用戶身份驗證的Web應用程序,並且需要能夠為用戶顯示存儲在數據庫中的數據。 用戶之間不需要交互(尚未),但是用戶應該能夠創建對象並查詢其“自己的”對象。 例如,我列出了10個書名(10個書對象), User A應該能夠挑選一本書並創建一個新對象,將其命名為userNoteObject ,其中包含userNoteObject書的名稱和一個簡短的便箋(他/她寫的)。

使用基本的偽代碼,一個書本對象將看起來像這樣:

bookObj = {"id": 1, "name": "book name"}

用戶的note對象將如下所示:

userNoteObject = {
             "id": 1, 
             "book_name": "random book name", 
             "owner_userid": "a1b2c3d", 
             "note": "some random string"
                  }

使用MySQL,我將創建三個表,一個用於用戶,一個用於userNoteObject -s,另一個用於bookObj -s。 每次用戶保存便箋時,我都會將其添加到列出已保存便箋的表中。 然后,我可以根據用戶的owner_userid簡單地查詢屬於X用戶的owner_userid 這是一個非常簡單的功能。

在了解了可能性之后,我決定使用Firebase Auth (因為將來可能需要Android和iOS兼容性) + Google Cloud DatastoreFirebase Realtime Database 但是我對Firebase的實時數據庫有些擔心,因為我從未像這樣工作過任何數據庫。 我還希望能夠使用PhpMyAdmin之類的工具手動修改記錄,並且我認為Cloud Datastore具有這樣的可視界面。

我熟悉JSON處理和創建JSON文件,但是目前基於JSON的數據庫對我來說很奇怪。 因此,我正在考慮也許其他選擇是更好的選擇。 我不需要實時數據庫功能,這一點非常重要。 我將X個條目的數量加載到保存bookObj -s的表中,有時會更新它們。 我假設當用戶創建一個userNoteObject ,它將很快被保存,並且刪除了userNoteObject我可以使用Datastore接近實時刷新頁面。 但是保存書籍對象的表必須能夠輕松存儲數百萬個條目。

所以重要的事情是:

  • 一個數據庫表應該能夠輕松處理數百萬條記錄
  • 輕松查詢
  • 數據庫的可視界面(如果可能)
  • 我不需要實時功能,例如動態游戲成績顯示/保存

其他資訊:

  • 我想使用Angular.js
  • 我對Python熟悉,如果它可以幫助您

所以我的問題是哪個數據庫更適合我的需求? 目前,我說的是數據存儲,但是我對這些服務還是陌生的,因此我並不反對實時數據庫,但是數據存儲看起來更合適,因為它具有可視界面。 但是我也不確定如何將數據存儲與Firebase一起使用。 如果有第三種選擇,例如將用戶保存的對象的實時數據庫和數據存儲的靜態對象結合在一起,那么我也很想聽聽它。 我的總體目標是能夠盡可能輕松地編寫和查詢數據庫,並輕松地將其與Firebase身份驗證一起使用。

更新:我剛剛發現了Firebase的Cloud Firestore,所以如果它更有用,我可以使用它。

如果您要使用Firebase,建議您使用Cloud Firestore,而不要使用Cloud Datastore或Firebase實時數據庫。 您將獲得實時數據庫以及基於真實文檔的JSON數據存儲的好處。 缺點是您沒有UI與數據進行交互。 數據存儲區只有一個,但不如PHPMyAdmin強大。 而且由於這些是NoSQL數據存儲,因此SQL支持非常有限。

如果您真的想要一個真正的關系后端,則可以嘗試Cloud SQL,它基本上是在Google服務器上運行的MySQL。

對於Firestore控制台/ UI,請參閱https://firebase.google.com/docs/firestore/using-console 您在找那種東西嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM