3 つのソリューション (フラット ファイルを数える場合は 4 つ) はすべて、非常に高速な書き込みを実現します。非リレーショナル (nosql) ソリューションは、調整可能なフォールト トレランスと、災害復旧を目的としています。
規模の点では、MongoDB ノードが 3 つしかないテスト環境で、1 秒あたり 2 ~ 3,000 の混合トランザクションを処理できます。8 ノードでは、1 秒あたり 12,000 ~ 15,000 の混合トランザクションを処理できます。Cassandra は、さらに高い規模でスケーリングできます。250回の読み取りは問題ありません(またはそうあるべきです)。
さらに重要な質問は、このデータをどうしたいかということです。運用報告?時系列分析?アドホック パターン分析?リアルタイム報告?
コレクション内の複数の属性に基づいてアドホック分析を行う機能が必要な場合は、MongoDB が適しています。コレクションには最大 40 個のインデックスを配置できますが、インデックスはメモリ内に格納されるため、サイズに注意してください。しかし、結果として柔軟な分析ソリューションが得られます。
Cassandra はキー値ストアです。プライマリ インデックスとして機能する静的な列または一連の列を最初に定義します。Cassandra に対して実行されるすべてのクエリは、このインデックスに合わせて調整する必要があります。あなたはそれにセカンダリを置くことができますが、それはそれが行く限りです. もちろん、MapReduce を使用してストアをスキャンしてキー以外の属性を調べることもできますが、それはストア全体のシリアル スキャンにすぎません。Cassandra には、サーバー ノードでの "like" または正規表現操作の概念もありません。名が「Alex」で始まるすべての顧客を見つけたい場合は、コレクション全体をスキャンし、各エントリの名を取り出して、クライアント側の正規表現で実行する必要があります。
私は Redis について知的に語れるほど、Redis に精通していません。ごめん。
非リレーショナル プラットフォームを評価している場合は、CouchDB と Riak も検討することをお勧めします。
お役に立てれば。