

sidekiq初心者です。

railsのsidekiqはredisと組み合わせて使っていますが、なぜredisなのでしょうか。  
redisはメモリ上で動くKVSだと認識しています。  
ジョブの管理はKVSでないとダメなのでしょうか。

MySQLなどで管理してくれればActiveRecordからジョブを読みだしたりできて楽になりそうなのに・・・


CC BY-SA 3.0
2016-06-24T13:54:02.617
27035
2016-06-25T13:32:49.157
2016-06-25T00:55:50.473
754
9149
question
ruby-on-rails redis sidekiq アーキテクチャ
railsのsidekiqで redis が使われることの利点は？


高速化が必要なためです。

sidekiq
をはじめいわゆるジョブキューマネージャーは大量のジョブをさばくことを目的としており、その速度を、1秒間にさばけるジョブの数をとても重視しています。またジョブの管理の都合上、ジョブがどのような状態にあるかを頻繁に永続化する(=redisに書き込む)ものです。

そのような頻度の高い読込&更新オペレーションには、MySQL などの RDBMS
は適していません。純粋にパフォーマンスが望めないのです。よって高速化のために redis などの KVS を用いているのです。


CC BY-SA 3.0
2016-06-25T13:32:49.157
27070
2016-06-25T13:32:49.157
208
27035
answer