Google Cloud DatastoreとFirebase [終了]


96

Googleは、クラウドベースの2つのデータストレージサービスであるGoogle Cloud DatastoreとFirebaseを提供しています(買収後)。開発者がGoogleクラウドプラットフォームによって提供されるさまざまなサービスを選択できるようにするための典型的な使用シナリオが提供されていますが、Firebaseが現在/将来の開発の状況にどのように適合するかについては言及されていません。

この問題に関する洞察を思い描き、Google Cloud DatastoreとFirebaseの一般的な使用例を教えていただけますか?


2
さらに詳しい情報はこちら:cloud.google.com/storage-options
Dan McGrath

Firebaseは、データベース用のCloud FirestoreとRealtime Database、ファイル用のCloud Storageを含む一連の製品を網羅しているため、それ自体がデータストレージサービスではありません。
アンディFusniak

@DanMcGrath データストアは、共有したリンクのどこにも表示されません。または、何か不足していますか?
ロニーロイストン

@Ron、それ以降、Cloud FirestoreがGAとしてブランド変更されたDatastoreのアップグレードバージョンが投稿されてから、新しい名前のみを使用しています。
Dan McGrath

@DanMcGrath右です。... url cloud.google.com/datastoreはまだ古いシステムを宣伝しているので、取引が何であるかわかりませんでした。ありがとう。
ロニーロイストン

回答:



61

どちらの製品にも長所と短所があります。どちらか一方を使用する理由は次のとおりです。

必要に応じてFirebaseを使用します。

  • 独自のバックエンドのないデータベース:Firebase SDKを使用すると、独自のバックエンドを実行せずにモバイルアプリやウェブアプリを作成できます。アプリから直接Firebase Databaseを読み書きできます。サーバーコードは必要ありません。データベースセキュリティモデルでは、ユーザーに基づくサーバーなしで、きめ細かなアクセス制御が可能です。
  • リアルタイムデータ:Firebaseではデータの変更をリッスンできるため、特定の種類のアプリを非常に簡単に作成できます。優れた例の1つは、協調型テキストエディタです。
  • 単純なデータモデル:FirebaseデータベースはJSONを格納します。JSONを知っていれば、Firebaseデータモデルもわかるはずです。
  • 他のFirebase機能を活用するには:たとえば、Firebaseは、データベースで適切に機能するユーザー管理と認証を提供します。

必要に応じてDatastoreを使用します。


1
「独自のバックエンドのないデータベース」というフレーズは両方のサービスに適用できると考えられています。データストアはGoogle Cloudの一部であり、独自のサーバーを維持しているわけではありません。バックエンドロジックについては、Datastoreのクライアントライブラリの大部分はサーバーベースですが、モバイルおよびWebベースのアプリでREST APIを使用することは可能です。browserifyを介してNode.jsクライアントライブラリを実行し、Webベースのライブラリに変換することもできます。
TheAddonDepot 2016

1
@DimuDesigns firebase DBには、ユーザーの更新がデータをいじることから保護するためのセキュリティルールがあります。たとえば、他の人のデータを削除します。つまり、バックエンドのないDBです。入力の有効性を確認するためにバックエンドは必要ありませんが、gdatastoreでクライアントに同じことをさせることは受け入れられません
Thaina

@DimuDesignsまたはjonnydee:Datastoreには、Firebaseが備えているすべての機能に加えて、Datastore用にリストされている2つの機能がありますか?または、少なくとも回答してください。DatastoreにもFirebaseと同じようにリアルタイムデータがありますか?
ブライアンディマス2017

1
@BryanDimas Datastoreは、データが変更されたときのリアルタイムイベントトリガーをネイティブでサポートしていません。ただし、「トランザクションタスクのエンキュー」と呼ばれる機能があります。リアルタイムではありませんが、実行可能なオプションです。ただし、この機能をネイティブに実装することについての話があります:issuetracker.google.com/issues/62959790
TheAddonDepot

1
@BryanDimasこれは、「トランザクションタスクのエンキュー」に関するいくつかのドキュメントへのリンクです。cloud.google.com
appengine

14

firebaseはモバイルプラットフォーム専用と言えます。Googleクラウドはエンタープライズソリューションでした。

Firebaseは、Android、IOS、Web、Unity(ゲームエンジン)を念頭に置いてSDKを開発しました。コンポーネントを操作するためにWebサーバーは必要ありません。そのsdksはそれを行うのに十分です。したがって、Webサーバーやアプリケーションサーバーの費用はかかりません。リアルタイムのデータベースがあり、聴くことができ、途方もなく高速です。

クラウドメッセージングサービス、認証、ラムダ機能、大容量ストレージ(他のクラウドと同様)を備えています。そのドキュメントは非常に簡潔です。そのため、AWSやGoogle Cloudなどの一般的なクラウドサービスを理解するために、何千ページものページを通過する必要はありません。ゲームをAWSと統合するのに1か月かかりましたが、firebaseと統合するのに1週間しかかかりませんでした。


8

2017年10月の更新(FirebaseがCloud Firestoreをリリース):

Cloud Firestoreの最近のリリース(2017年10月のベータ版)では、強力なクエリがあり、拡張性が高いため、Firestore製品を使用する場合、johnydeeが述べた「Firebase」に対するDatastoreの利点は廃止されました。 。

これらの製品(DatastoreとFirestore)は共通のルートを共有し、同じプロジェクトで実際に使用できるのは1つだけです。

ジョニーの答えは、Firebase Realtime Databaseをデータストアと比較した場合にも当てはまります。


Firestoreは、データストアで利用できるインデックスサポートのような柔軟なジグザグマージ結合をサポートしていますか?cloud.google.com/appengine/articles/indexselectionで
user482594

7

この問題は、Google IO 2016でリリースされたFirebaseの最新リリースで自動的に解決され、FirebaseとGoogle Cloud Platformの間で大規模な統合が行われました。

参照してくださいhttps://firebase.googleblog.com/2016/05/firebase-expands-to-become-unified-app-platform.htmlを

すべてのGoogle Cloud Platformサービスにアクセスできるようになり、Firebaseを介してより簡単にアクセスできるようになりました。Realtime DatabaseにアクセスするFirebaseの方法もGoogle Cloud Storageに拡張されました。Google Cloud MessagingのようなGoogle Cloudクライアント側のAPIの多くは、Firebaseブランドに移行しました。

Firebaseは明らかに、GoogleがGoogle Cloud Servicesインフラストラクチャにアクセスするための、Googleが意図した方法です。


2
Google Cloud Datastoreは、戦いが強化されたスケーラブルなデータベースであり、Firebaseは小規模アプリ(接続が10k未満)専用であり、定期的なシャード移行のダウンタイムがあります
マークエッセル2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.