1

大量のデータセット(1TB以上)があります。これには、1000人以上が同時にアクセスします。1つのデータベースに保存すると、アプリケーションの速度が大幅に低下します。そのため、さまざまなデータベースに保存することを計画していました。mongo DBは異なるデータベース間のルーティングをサポートしていますか?または、これをアプリケーションに含める必要がありますか?私はJavaを使用して開発しており、Springフレームワークを使用してmongoと対話しています。

4

1 に答える 1

3

データを複数のデータベースに分割する理由を考えると、パフォーマンスを向上させるために、複数のデータベースに分割するのではなく、単一のデータベースをシャーディングすることをお勧めします。場所が十分に細かく、サーバー間で負荷を分割したい場合は、タグ対応シャーディングを使用して、特定の場所または場所の範囲を特定のサーバーに固定できます。これに関する優れたチュートリアルがここにあります

このルートをたどる前に、システムで使用する予定のハードウェア上のデータベースを使用して、アプリケーションで負荷テストを実行することをお勧めします。データを実際にシャーディング/分割する必要があることを確認する価値があります。そうであれば、必要になる可能性のあるサーバーの数。データベースが書き込みを多用するのではなく読み取りを行う場合は、シャーディングされていないデータベースが負荷を処理し、ワーキングセットがメモリに収まるようにする可能性があります。

于 2013-01-03T15:45:19.343 に答える