SlideShare a Scribd company logo
Redis Cluster
                             Python Hack-a-thon 2011.02

                                   @ Oracle 青山

                                     2011/02/19




Redis Cluster

Python Hack-a-thon 2011.02
はじめに
名前:        篠原 俊一
会社:        アクセンス・テクノロジー
仕事:        reST, Erlang, Ruby
twitter:   @itawasa
内容
1.   まとめ
2.   Redis
3.   Redis Cluster
4.   うごかしてみる
5.   クラスタの評価項目
6.   Redis Cluster まとめ (再掲)
7.   参考
まとめ
• シンプルなロジック、まず 動く もの
• Redis のデータ構造はそのまま使える(はず)
• 10 ノードのオーダーで分散
Redis (1/2)
•   Key-Value ストア
•   リスト、セットとか多様なデータ構造
•   アトミック操作、トランザクション操作
•   非同期で複製

• redisドキュメント日本語訳
  http://redis.shibu.jp/ ❏
    ▪ @shibukawa, @ymotongpoo, @atusi
Redis (2/2)
• 実際に使われている
   ▪ Blizzard (avatars for WoW)
   ▪ stackoverflow.com (cache layer)
• 開発のフットワーク軽い
   ▪ データメモリのみ
   ▪ => 仮想メモリを追加 => やっぱりやめ
   ▪ => 1キー 1ファイル => やっぱり B-tree?
Redis Cluster
• Design Document (redis @github)
• @antirez のトーク
    ▪ Redis Cluster (YouTube)

• ソースがない
Redis Cluster 特徴
• @antirez の PDF を使って

• 全ノードが相互接続
• ハッシュスロットを表で管理
うごかしてみる
まだ公開されていないので(ry
クラスタの評価項目
一般的に分散データストアの評価項目をまとめてみ
る。

• 機能
• 耐障害性
クラスタの評価項目: 機能
•   データ分散の程度
•   IO 性能
•   トランザクション(ACID)の保証
•   クライアントの書きやすさ
クラスタの評価項目: 耐障害性
•   管理ノードがあるか
•   書き込みノードを複数もてるか
•   ノード障害時に、操作を継続できるか
•   データセンターをまたいだ分散ができるか
Redis Cluster 評価: 機能
• データの分散
    ▪ ほぼ手動
• IO 性能
    ▪ RAM のみ、またはローカルディスク次第
• トランザクション
    ▪ ノードまたぎは無い
• クライアントの書きやすさ
    ▪ 簡単
Redis Cluster 評価: 耐障害性
• 管理ノード
   ▪ 無しでうごく
• 書き込みノード
   ▪ 1つだけ
• ノード障害時の捜査継続
   ▪ 自動でレプリカをマスターに格上げ
• データセンターををまたいだ分散
   ▪ Basho's Riak Enterprise にしてください
Redis Cluster まとめ (再掲)
• シンプルなロジック、まず 動く もの
• Redis のデータ構造はそのまま使える(はず)
• 10 ノードのオーダーで分散

• ソースが出るのが楽しみですね
参考
• https://github.com/antirez/redis ❏
• http://twitter.com/antirez ❏
• http://www.youtube.com/watch?v=WhlFZ6js2Lo
 ❏
• http://redis.io/presentation/
  Redis_Cluster.pdf ❏
• http://redis.shibu.jp/admin/cluster/
  index.html ❏
• http://data.story.lu/tag/redis ❏

More Related Content

[OLD/STALE] Redis cluster (japanese)

  • 1. Redis Cluster Python Hack-a-thon 2011.02 @ Oracle 青山 2011/02/19 Redis Cluster Python Hack-a-thon 2011.02
  • 2. はじめに 名前: 篠原 俊一 会社: アクセンス・テクノロジー 仕事: reST, Erlang, Ruby twitter: @itawasa
  • 3. 内容 1. まとめ 2. Redis 3. Redis Cluster 4. うごかしてみる 5. クラスタの評価項目 6. Redis Cluster まとめ (再掲) 7. 参考
  • 4. まとめ • シンプルなロジック、まず 動く もの • Redis のデータ構造はそのまま使える(はず) • 10 ノードのオーダーで分散
  • 5. Redis (1/2) • Key-Value ストア • リスト、セットとか多様なデータ構造 • アトミック操作、トランザクション操作 • 非同期で複製 • redisドキュメント日本語訳 http://redis.shibu.jp/ ❏ ▪ @shibukawa, @ymotongpoo, @atusi
  • 6. Redis (2/2) • 実際に使われている ▪ Blizzard (avatars for WoW) ▪ stackoverflow.com (cache layer) • 開発のフットワーク軽い ▪ データメモリのみ ▪ => 仮想メモリを追加 => やっぱりやめ ▪ => 1キー 1ファイル => やっぱり B-tree?
  • 7. Redis Cluster • Design Document (redis @github) • @antirez のトーク ▪ Redis Cluster (YouTube) • ソースがない
  • 8. Redis Cluster 特徴 • @antirez の PDF を使って • 全ノードが相互接続 • ハッシュスロットを表で管理
  • 11. クラスタの評価項目: 機能 • データ分散の程度 • IO 性能 • トランザクション(ACID)の保証 • クライアントの書きやすさ
  • 12. クラスタの評価項目: 耐障害性 • 管理ノードがあるか • 書き込みノードを複数もてるか • ノード障害時に、操作を継続できるか • データセンターをまたいだ分散ができるか
  • 13. Redis Cluster 評価: 機能 • データの分散 ▪ ほぼ手動 • IO 性能 ▪ RAM のみ、またはローカルディスク次第 • トランザクション ▪ ノードまたぎは無い • クライアントの書きやすさ ▪ 簡単
  • 14. Redis Cluster 評価: 耐障害性 • 管理ノード ▪ 無しでうごく • 書き込みノード ▪ 1つだけ • ノード障害時の捜査継続 ▪ 自動でレプリカをマスターに格上げ • データセンターををまたいだ分散 ▪ Basho's Riak Enterprise にしてください
  • 15. Redis Cluster まとめ (再掲) • シンプルなロジック、まず 動く もの • Redis のデータ構造はそのまま使える(はず) • 10 ノードのオーダーで分散 • ソースが出るのが楽しみですね
  • 16. 参考 • https://github.com/antirez/redis ❏ • http://twitter.com/antirez ❏ • http://www.youtube.com/watch?v=WhlFZ6js2Lo ❏ • http://redis.io/presentation/ Redis_Cluster.pdf ❏ • http://redis.shibu.jp/admin/cluster/ index.html ❏ • http://data.story.lu/tag/redis ❏