実践 Redis 入門 技術の仕組みから現場の活用まで

ジッセンレディスニュウモン ギジュツノシクミカラゲンバノカツヨウマデ

実践 Redis 入門 技術の仕組みから現場の活用までの表紙
ハードウェア
著者:
林 昌吾(ハヤシ ショウゴ)
出版社:
技術評論社
出版日:
2022年12月10日
ISBN:
9784297131425
在庫:
在庫あり
5(1 件 / 楽天ブックス)
中級者向け
Redisデータベースキャッシュインメモリリアルタイム処理Web サービスアプリケーション開発運用トラブルシューティングプログラミング言語

なぜ注目されているか

言及数
1143位
総合1466位 言及 2 件・うち記事 1 件を掲載

書籍紹介

インメモリデータベース、Redis の解説書です。

Redis は高速な応答性などから RDBMS では対応しきれないデータの格納などに用いられます。高速さと柔軟さを併せ持ち、数多くのプログラミング言語から利用できます。
RDBMS の前段に配置してキャッシュとして用いるときの圧倒的な応答性能、 Redis の多様なモデルによるアプリケーションからの扱いやすさなどで人気を集めています。リアルタイムの処理や高速なサービスが求められる Web サービスで特に支持を得ています。

本書では、この Redis を基礎から実践まで解説します。体系的な知識が身につき、アプリケーション開発や運用、トラブルシューティングがこなせるようになります。

技書の森解説

Redis をキャッシュとして置いてはいるものの、データ型の選び方や永続化、障害時の動きまでは説明できないという段階から、運用を任せられる段階へ進むための解説書です。『実践 Redis 入門 技術の仕組みから現場の活用まで』 (林 昌吾 著、技術評論社、2022 年 12 月 10 日発売) は、インメモリデータベースの Redis を基礎から実践まで扱い、アプリケーション開発や運用、トラブルシューティングをこなせる体系的な知識を身につけることを目標にしています。版元は読者として、Redis を利用または運用しているエンジニア、Redis に興味のあるエンジニア、ある程度の実装と運用の経験があってより深く使いたいエンジニアを挙げています。刊行時の版元のプロフィールによると、著者は 2017 年に AWS に入り、5 年間 AWS サポートで技術支援を担当して Redis と Memcached などの分野で社内のエキスパートを務め、2022 年からは Amazon EMR の開発チームに移っています。

全 11 章の前半、5 つのデータ型とアプリケーション作成

第 1 章「はじめての Redis」は、RDBMS や Memcached との比較で Redis の位置づけを示し、Ubuntu へのインストールと redis-cli による操作までを扱います。第 2 章「データ型と機能」は String、List、Hash、Set、Sorted Set の 5 つのデータ型を、活用の例、コマンド、実行例の順で解説し、Bitmap、地理空間インデックス、HyperLogLog、Redis ストリームなどの機能も取り上げます。第 3 章「高度な機能」はパイプライン、Lua によるスクリプト、トランザクション、モジュール、キー空間通知、クライアントサイドキャッシュです。第 4 章「Redis を活用したアプリケーション作成」では PHP、Ruby、Python の 3 言語からクライアントライブラリを使い、セッション情報のキャッシュ管理、ニュースの投稿、投票管理、リアルタイムチャットといった題材を組み立てます。

第 5 章から第 11 章、運用管理と冗長化、内部構造

後半は運用の章が中心です。第 5 章「Redis の運用管理」はスナップショットと AOF による永続化、キャッシュサーバーとしてのアーキテクチャとそのアンチパターン、TTL や退避ポリシー、コネクションプーリング、リトライ処理などのベストプラクティス、サイジング、redis.conf、ACL を含むセキュリティ、ベンチマークを扱います。第 6 章「トラブルシューティング」は INFO コマンド、スローログなどによるレイテンシーの調査、メモリー問題です。第 7 章「レプリケーション」は完全同期と部分同期の仕組みとフェイルオーバー、第 8 章「Redis クラスター」は障害検出、スロットやハッシュタグ、MOVED と ASK のリダイレクト、第 9 章「メモリー管理」はキーの失効とアクティブデフラグメンテーション、第 10 章「クラウドで利用する Redis」は OSS 版との違いと監視すべきメトリクス、メンテナンスウィンドウへの注意です。第 11 章「Redis の構造を知る」は RESP や SDS、Raft などの関連技術と、ソースコードから見たハッシュテーブルや内部エンコーディングを読み解きます。付録では Memcached との機能と動作の詳しい比較と、Redis の今後の開発の方向を取り上げています。

インメモリのデータストアで設計が問われる理由

データをメモリーに置けば、ディスクを読みに行く分の待ち時間が消え、RDBMS の前段に置いたときの応答は大きく縮みます。その代わり、メモリーは容量が限られ、プロセスが止まれば中身は消えます。どこまでをディスクへ書き残すか、容量が尽きたときにどのキーを追い出すかを、使い方に合わせて決めなければなりません。キャッシュとして使う場合は、元のデータが変わったときにいつ捨てて取り直すかという キャッシュ無効化 の方式を誤ると、古い値を返し続けたり、失効が重なってデータベースへ読み込みが集中したりします。1 台のメモリーに収まらないデータや書き込みの負荷は、キーを複数のノードに割り振る シャーディング で分けることになり、どのキーをどのノードが持つかをクライアントがどう知るかも設計の論点です。本書は、データ型の使い分けに加えて、永続化、キーの失効、レプリケーションとクラスター、内部構造を目次の上で独立した章や節として扱っています。

本番で Redis を運用するエンジニアに向く理由

本書が向くのは、Redis を本番で動かしていて、設定値の意味や障害時の挙動を自分の言葉で説明できるようになりたい人です。永続化の方式の比較、レプリケーションの同期の仕組み、クラスターのリダイレクト、メモリー管理、クラウドで監視すべきメトリクスが同じ 1 冊にまとまっているため、障害の調査や設計レビューの手元に置く使い方ができます。第 4 章のアプリケーションは、PHP、Ruby、Python の 3 言語のコードで組み立てられています。逆に、データベースの基本から学びたい段階や、特定のフレームワークでの組み込み方だけを知りたい場合は、本書の範囲は目的よりかなり広くなります。また本書は 2022 年 12 月時点の Redis を前提にしています。本書は、キャッシュやセッションの置き場として Redis を任されている人に向けて、使い方から仕組みまでを 1 冊で扱う解説書です。

言及した記事 (1 件)

この本は技書デッキのカードです (備え 2 / 3 枚引く) 図鑑でこの本を見る

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: