各レコードのスコアと「年齢」(現在の時間 - 作成日) の関数によって、riak に保存されているいくつかのレコードを並べ替えたいと思います。 riakで「時間に敏感な」クエリを実行する最良の方法は何ですか? これまでのところ、私が知っているオプションは次のとおりです。
- リアルタイム mapreduce - クエリ時に mapreduce ジョブですべての計算を実行します
- ETL ジョブ - バックグラウンド ジョブで定期的にクエリを実行し、結果を riak に保存します
- アプリ レイヤーにパントする - riak を使用してまったく並べ替えず、代わりにアプリケーション レベルのレイヤーを使用してレコードを並べ替えてキャッシュします。
紙の上では Mapreduce が最高のように見えますが、riak mapreduce の実際のレイテンシーに関するさまざまなレポートを読んだことがあります。