はい、動作します。どのレベルまで実行するかは、より「依存する」
重要なのは、ワーキングセットを確保することです。 RAMに収まります。したがって、たとえば16GBのRAMと20GBのデータベース(インデックスを含む)がある場合、残りの半分が古い/実際にクエリされていないため、すべてのデータの半分にのみアクセスする必要がある場合は、半分だけで問題ありません。データベースはRAM(10GB)にある必要があります。
ここで重要なのはワーキングセットです。たとえば、ログアプリケーションがMongoDBに出力している場合、ワーキングセットは過去3か月のデータ(およびインデックス)の量であり、それ以前のすべてのデータにはアクセスできない可能性があります。
ワーキングセットがRAMの量を超えると、作業は続行されますが、パフォーマンスが著しく低下するため、パフォーマンスが大幅に低下するディスクに常に移動する必要があります。マシンのRAM制約を超える状況にある場合は、ここでシャーディングが機能します。これにより、複数のマシン間でデータのバランスを取り、RAMに保持できるデータの量を増やすことができます。