MongoDBよりもFirebaseを使用することの定量的な利点は何ですか?(意見ではない)
Firebaseは独自のAPIを備えたクラウドベースのサービスであることは知っていますが、長期的にはMongoがより優れた制御を提供できるように感じます。
MongoDBよりもFirebaseを使用することの定量的な利点は何ですか?(意見ではない)
Firebaseは独自のAPIを備えたクラウドベースのサービスであることは知っていますが、長期的にはMongoがより優れた制御を提供できるように感じます。
回答:
編集:アプリのFirebaseをNode.js + MongoDbに置き換える方法については、こちらの記事をご覧ください。これは、自分で行う必要がある作業量を示し、IMHO、スタートアップ(小さなアプリ)がFirebaseから始まり(クライアントへのリアルタイムの更新が必要な場合)、MongoDbに進む理由を説明します(いずれの場合も自己) -書かれた解決策)プロジェクトが進化し続ける場合
編集2:Google Firebase に買収された後、自分で構築するのに苦労する基本的な機能に加えて、さまざまな特典が提供されます:
開発用
成長のために
リンゴとオレンジ。Firebaseは、アイデンティティ管理、リアルタイムデータビュー、ドキュメントデータベースを含むサービスとしてのバックエンドです。クラウドで実行されます。
一方、MongoDBは、豊富なクエリ言語を備えた本格的なデータベースです。原則として自分のマシンで動作しますが、クラウドプロバイダーもあります。
データベースコンポーネントを探している場合、MongoDBだけがはるかに成熟し、機能が豊富です。
Firebaseはリアルタイム更新用に設計されています。Angularと簡単に統合できます。どちらもNoSQLデータベースです。MongoDBは、Socket.io統合を通じてAngularでもこれを行うことができます。Meteor.jsは、リアルタイムの更新のためにオープンソケット接続でMongoDBも使用します。
MongoDBはローカルで実行することも、さまざまなクラウドベースのプロバイダーでホストすることもできます。Firebaseは、私の意見では、小さいアプリに最適で、すぐに起動して実行できます。MongoDBは、より堅牢で大規模なアプリに最適です。リアルタイムでの統合は可能ですが、少し手間がかかります。
Firebaseを使用した後、かなりの量を見つけて何かを見つけました。
大規模なリアルタイムアプリに使用する場合は、最適な選択肢ではありません。それは悪いエラー処理システムや制限を含む独自の幅広い問題を抱えています。Firebaseを理解するためにかなりの時間を費やします。また、プロジェクトが制御不能なモノリシックなものになることも非常に簡単です。大きなアプリのバックエンドに関しては、MongoDBの方がはるかに優れています。
ただし、小さなアプリを作成したり、何かのプロトタイプをすばやく作成したりする必要がある場合は、Firebaseが最適です。非常に簡単に地面を打つことができます。
この質問には、AngularのFirebaseライブラリであるAngularFireの観点から答えます。
Tl; dr:超大国。:-)
AngularFireの3方向データバインディング。Angularはビューと$ scopeをバインドします。つまり、ビューでユーザーが行うことはローカル変数で自動的に更新され、JavaScriptがローカル変数を更新するとビューが自動的に更新されます。Firebaseでは、クラウドデータベースも自動的に更新されます。$ http.getまたは$ http.putリクエストを記述する必要はありません。データは更新されるだけです。
5方向のデータバインディング、7方向、9方向など。AngularFireを使用して三目並べゲームを作成しました。2つのプレーヤーが一緒にプレイでき、2つのビューが2つの$ scopesとクラウドデータベースを更新します。すべてが1つのFirebaseデータベースを共有する3人以上のプレーヤーでゲームを作成できます。
AngularFireのOAuth2ライブラリーは、Facebook、GitHub、Google、Twitter、トークン、およびパスワードを使用した認証を容易にします。
二重のセキュリティ。承認を要求するようにAngularルートを設定し、データを読み書きできるユーザーに関するルールをFirebaseで設定できます。
バックエンドはありません。NodeとExpressでサーバーを作成する必要はありません。独自のサーバーを実行することは、多くの作業であり、セキュリティについて知る必要があり、サーバーがダウンした場合に誰かが何かをする必要があるなどです。
速い。サーバーがサンフランシスコにあり、クライアントがサンノゼにある場合は問題ありません。ただし、サーバーに接続するバンガロールのクライアントの場合は遅くなります。Firebaseは世界中に展開されており、どこにでも高速接続できます。
Firebaseは一連の機能です。
Firebase Realtime DatabaseとMongo DBを比較しようとしていると思います。Firebase Realtime DatabaseはデータをJSON形式で保存し、データをリッスンしているすべてのクライアントに対してデータのすべての更新に同期します。データベースのセットアップとスケーリングに必要なすべての複雑さからユーザーを抽象化します。データの集計が必要な複雑なシナリオが多数ある場合、firebaseはお勧めしません。(SUM / AVERAGEのようなものを必要とするクエリ)。これは最近、Firebase関数を使用して実現できます。Firebaseでのデータのモデリングは注意が必要です。しかし、それはあなたが即座に始めるための最良の方法です。MongoDBはデータベースです。これはあなたに多くの強力な機能を与えます。しかし、MongoDBを任意のプラットフォームにインストールすると、自分で管理する必要があります。
FirebaseまたはMongoDB(または任意のDB)を選択しようとすると、私は以下に答えようとします。