sql >> データベース >  >> NoSQL >> MongoDB

MongoDB + ElasticsearchまたはElasticsearchのみ?

    使用する引数について話す ESの代わりに/ESと一緒にMongo:

    1. ユーザー/役割の管理。

      • MongoDBに組み込まれています。すべてのニーズに適合しない可能性があり、どこかで不器用かもしれませんが、それは存在し、かなり昔に実装されました。
      • ESのセキュリティの唯一のものは、shieldです。 。ただし、本番環境で使用するゴールド/プラチナサブスクリプションの場合にのみ出荷されます。
    2. スキーマ

      • ESはスキーマレスですが、Luceneの上に構築されています Javaで書かれています 。このツールの核となるアイデア-ドキュメントのインデックス作成と検索、およびこの方法での作業には、インデックスの一貫性が必要です。バックエンドでは、すべてのドキュメントをフラットなluceneに収める必要があります インデックス。これには、ESがネストされたドキュメントと値を処理する方法、および速度とデータの完全性/一貫性のバランスを維持するためにインデックスを編成する方法についての理解が必要です。 ESを使用するには、スキーマに関するいくつかのことを常に念頭に置く必要があります。つまり、対応するマッピングを事前に配置しなくても、ESにほとんどすべてのインデックスを付けることができるため、ESはその場でマッピングを「推測」できますが、間違って実行することもあれば、暗黙のマッピングを悪用することもあります。 /oインデックス全体のインデックスを再作成します。したがって、ESをスキーマレスストアとして扱わない方がよいでしょう。これは、しばらくの間レーキを踏むことができるためです(これは、苦痛になります。 :))ではなく、少なくともドキュメントを操作するときは、具体的なフィールドにスライスできるスキーマ集約型として扱います。
      • 一方、Mongoは、あなたが入れたほとんどすべてのものから「かみ砕いてパン粉を残さない」ことができます。そして、ほとんどのクエリは正常に機能します。「MongoがJavaScriptの観点からデータをどのように処理するかを覚えているまでは。また、JSは弱い型付けであるため、本当にスキーマレスのワークフローで作業できます(必要に応じて)
    3. テーブルに似ていないデータの処理。

      • ESは、データを検索インデックスに配置せずに処理するように制限されています。また、このソリューションは、追加のデータを保存および取得する必要がある場合に十分です(検索するデータと比較して)。
      • MongoDBは gridFSをサポートしています 。これにより、同じインターフェイスの背後で大量のデータを処理できるようになります。つまり、コードの観点から、バイナリデータをMongoに保存し、同じインターフェース内で取得できます。


    1. Mongodbを起動できません

    2. Mongodbクエリの特定の月|年は日付ではありません

    3. SpringSecurityとMongoDBによる認証

    4. pymongoはリモートサーバー上のデータベースに接続できません