railsのsidekiqで redis が使われることの利点は？


sidekiq初心者です。

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

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




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

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

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

