私のデータには非常に特殊なアクセス パターンがあるため、Cassandra の期待される mapreduce パフォーマンスについて疑問に思っています。これらは私の要件です:
- データベースには 1,000 万のドキュメント (例: JSON、それぞれ数 KB) が存在します ドキュメントは不定期に更新されます
- ユーザーは、各ドキュメントの処理を必要とするデータセット全体から結果を作成したいと考えています
- ユーザーは、半インタラクティブな方法でこれを行い、各ドキュメントの処理に加えた変更の影響を試したいと思うでしょう。結果が出るまで数分待てばOKです。
- ユーザーは、処理速度を上げたい場合、お金をかけて (スケールアップまたはスケールアウトして) 対話速度を上げたいと考えています。
- ユーザー数は多くないため、処理は 1 時間に数回行う必要があるかもしれません。
- いずれにせよ、データはソース システムからレプリケートされるため、耐久性は重要な問題ではありません。
これは Cassandra と MapReduce にとっては良い仕事のように思えますが、MapReduce が半対話的に使用されるのではなく、バックグラウンド ジョブとして使用されることを意図していることを考えると、Cassandra を使用してどのようなパフォーマンスの可能性を期待できるか疑問に思います。
私の他のオプションは、ドキュメントが CLOBS またはパーティション化された Redis として保存されている単純な MySQL です。
速度の可能性を推定する方法について手がかりを提供できる人はいますか?