私は仕事で大規模なMongoDBサーバーを継承しており、クエリの実行速度がなぜ遅いのかを解明する任務を負っています。DBには、大量のレコード(10 ^ 9のオーダー)が含まれており、約300 GiBを消費します。最初は生のレコード数が原因かもしれないと思ったので、適切なフィールドにインデックスを設定しました。これは、DBにある条件を検索するクエリに大いに役立ちましたが、一致しないクエリでは80〜90分かかります。これに取り組む方法に関するアイデアはありますか?
私は仕事で大規模なMongoDBサーバーを継承しており、クエリの実行速度がなぜ遅いのかを解明する任務を負っています。DBには、大量のレコード(10 ^ 9のオーダー)が含まれており、約300 GiBを消費します。最初は生のレコード数が原因かもしれないと思ったので、適切なフィールドにインデックスを設定しました。これは、DBにある条件を検索するクエリに大いに役立ちましたが、一致しないクエリでは80〜90分かかります。これに取り組む方法に関するアイデアはありますか?
回答:
特に一致のないクエリは、一致のあるクエリよりもはるかに時間がかかるため、重要なインデックスが不足しているようです。それはどのような種類のクエリですか?多分あなたは複合インデックスが必要ですか?where
クエリの一部として使用していますか?
私はMongoDBの専門家ではありませんが、80〜90分は異常です。MongoDBがArenstarにとってどのように「聞こえる」かはわかりませんが、何十億ものドキュメント(テラバイトのデータ)を処理することが示されています。
MongoDbはwebscaleです。申し訳ありませんでした。
おそらく範囲スキャンに基づいて、一致にはおそらくしばらく時間がかかりますか???
私はそれを分解します。Mongoは、300 GBを処理するDBのように聞こえません。おそらく、大量のデータでどのように動作するかを知るにはまだ十分に成熟していません。
Mongoを使用している理由は何ですか?