“The Little Redis Book”読んでみた

“The Little MongoDB Book” の著者である Karl Seguin(@karlseguin) が “The Little Redis Book” を無料公開したのでそのまとめ。

Redis は VMWare が開発支援する軽量 KVS(Key-Value Store)Craigslist , the guardianニコニコ動画といった国内外の有名サイトでも採用実績がある。30ページに未たない小冊子ながら Redis をまったく知らない人(=自分)がアプリ開発で必要になるであろう必要最低限の機能がコンパクトにまとめられている。通勤時間のお供に最適。

目次

  1. The Basics
  2. The Data Structures
  3. Leveraging Data Structures
  4. Beyond The Data Structures
  5. Administration

Ch.1 : The Basics

まえがきでRedis の簡単な紹介とインストール方法(*nix/Windows 環境)を説明。
第1章では、Redisはインメモリーのシンプルな KVS と言われることが多いけれども、異なる5つのデータ構造があり、各データタイプの性格を活かすことで幅広く活用できると強調。また、Redis はデータを基本的に RAM に突っ込むので、ディスクIOやCPUがネックになる多くのシステム異なり、スケールアウトしやすい。

(Redis) supplements their more gneric data solution … It’s the kind of solution you use to implement specific features.

Ch.2 : The Data Structures

2章では5つのデータ構造をさらっと紹介

  1. string
  2. hash
  3. list
  4. set
  5. sorted set

応用として、大量のユーザの行動履歴を Bitmap で管理し、ビット演算で集計している Spool の事例を紹介。

Fast, easy, realtime metrics using Redis bitmaps @ Spool engineer blog

Redis strings are more powerful than they initially seem

Ch.3 : Leveraging Data Structures

3章ではアプリ開発のより実用的な側面が解説される。
データ操作の計算量(Redis のドキュメントでは各データ処理の時間計算量が書かれている)、データ構造のより込み入った使い方、複雑なキー問い合わせ、一括処理(m* 系コマンド、パイプライン)、トランザクションなどを紹介。

the real key (to use Redis) is to understand the fundamental data structures and to get a sense for how they can be used to achieve things beyond your initial perspective.

Ch.4 : Beyond The Data Structures

4章はexpireを設定したキャッシュサーバとしての活用、ソートなど落ち穂拾い的な話題。
Redis でメッセージキュー“publish/subscribe” モデルが実装されているのは以外。
resque という Redis ベースのメッセージキューもあるみたい。

Ch.5 : Administration

最後の5章はシステム管理まわり。

レプリケーションは対応している(設定は超簡単)。ただし、フェイルオーバーの仕組みはない。
クラスタリングは work in progress なので、コンシステントハッシュ法を使ってクライアント側でノードを振り分ける必要がある。

some of the tooling, especially around security and availability is still young.

仕事ではすぐには使えないかもしれないけれども、趣味の範囲でさっそく Redis を使ってみたくなった。

 

MEMO

Redis の開発思想は開発者(Salvatore Sanfilippo) による Redis Manifesto を読むとよく伝わってくる。カッコイイ。

 http://antirez.com/post/redis-manifesto.html

Advertisements
Tagged with: ,
Posted in database

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Archives
  • RT @__apf__: How to write a research paper: a guide for software engineers & practitioners. docs.google.com/presentation/d… /cc @inwyrd 6 months ago
  • RT @HayatoChiba: 昔、自然と対話しながら数学に打ち込んだら何かを悟れるのではと思いたち、専門書1つだけ持ってパワースポットで名高い奈良の山奥に1週間籠ったことがある。しかし泊まった民宿にドカベンが全巻揃っていたため、水島新司と対話しただけで1週間過ぎた。 それ… 6 months ago
  • RT @googlecloud: Ever wonder what underwater fiber optic internet cables look like? Look no further than this deep dive w/ @NatAndLo: https… 6 months ago
  • @ijin UTC+01:00 な時間帯で生活しています、、、 1 year ago
  • RT @mattcutts: Google's world-class Site Reliability Engineering team wrote a new book: amazon.com/Site-Reliabili… It's about managing produc… 1 year ago
%d bloggers like this: