179

MongoDB 対 Firebase

MongoDB よりも Firebase を使用することの定量的な利点は何ですか? (意見ではありません)

Firebase が独自の API を備えたクラウドベースのサービスであることは知っていますが、長期的には Mongo を使用すると、より優れた制御が可能になるのではないかと感じています。

4

8 に答える 8

139
  • Firebaseは、後方接続を備えたリアルタイム エンジンです。つまり、クライアントが特定のデータのイベントをサブスクライブし、サーバーがクライアントに変更を積極的に通知するクロスプラットフォーム アプリを構築する場合があります。
  • データ レイヤーがホストされます。スケーラビリティが高いことに注意してください。これは素晴らしいキックスターター ソリューションです。認証管理を含む
  • ジオファイア。リアルタイム地理座標ソリューション。
  • Firebase の明らかな欠点は次のとおりです。
    • 成長し始めたらすぐに支払う必要があります
    • データレイヤーをホストすることはできません (データの所有が重要な場合、または分離されたサブネット用のアプリを開発する場合)

編集:アプリの Firebase を Node.js+MongoDb に置き換える方法については、こちらの記事を参照してください。それはあなたが自分でしなければならない作業の量を示し、私見、スタートアップ(小さなアプリ)がFirebase(クライアントへのリアルタイム更新が必要な場合)から始めてMongoDb(いずれにせよ自己-書かれた解決策) プロジェクトが進化し続ける場合

編集 2: Google Firebaseに買収された後、独自に構築するのに苦労する基本機能に加えて、さまざまな特典を提供するようになりました。

  • 開発用

    • Cloud Messaging : プラットフォーム間でメッセージを確実に送受信
    • ファイルストレージ: 簡単なファイルストレージ (iOS を含む)
    • ホスティング: Firebase のサーバーから静的ファイルを配信 (無料プランに含まれています)
    • Crash Reporting : 完全なログ サービスではありませんが、非常に役立ちます
  • 成長のために

    • Remote Config : アプリをオンザフライでカスタマイズ: A/B テストに適しています
    • ダイナミック リンク: アプリ内の適切な場所にユーザーを誘導します
    • 通知: 適切なタイミングでユーザーと関わります
于 2015-03-24T02:16:54.913 に答える
42

リンゴとオレンジ。Firebase は、ID 管理、リアルタイム データ ビュー、およびドキュメント データベースを含むサービスとしてのバックエンドです。クラウドで実行されます。

一方、MongoDB は豊富なクエリ言語を備えた本格的なデータベースです。原則として自前のマシンで動作しますが、クラウドプロバイダーもあります。

データベース コンポーネントのみを探している場合は、MongoDB の方がはるかに成熟しており、機能が豊富です。

于 2015-03-24T02:17:03.037 に答える
35

Firebase は、リアルタイムの更新用に設計されています。angularと簡単に統合できます。どちらも NoSQL データベースです。MongoDB は、Socket.io 統合を介して Angular でこれを行うこともできます。Meteor.js は、リアルタイム更新のためにオープン ソケット接続で MongoDB も利用します。

MongoDB は、ローカルで実行することも、さまざまなクラウド ベースのプロバイダーでホストすることもできます。私の意見では、Firebase は小規模なアプリに最適で、起動と実行が非常に高速です。MongoDB は、より堅牢で大規模なアプリに最適です。リアルタイムの統合は可能ですが、もう少し手間がかかります。

于 2015-03-24T02:16:16.587 に答える
29

かなりの量の Firebase を使用した後、私は何かを見つけるようになりました。

大規模なリアルタイム アプリに使用する場合は、最適な選択ではありません。不適切なエラー処理システムや制限など、独自のさまざまな問題があります。Firebase を理解するためにかなりの時間を費やすことになりますが、それには問題があります。また、プロジェクトがモノリシックになって制御不能になることも非常に簡単です。大規模なアプリのバックエンドに関する限り、MongoDB ははるかに優れた選択肢です。

ただし、小さなアプリを作成したり、すぐに何かのプロトタイプを作成したりする必要がある場合は、Firebase が最適です。実行に移すのは信じられないほど簡単な方法です。

于 2017-02-06T22:57:08.783 に答える