本稿では Key-Value ストアデータベースである Redis の入門者を対象に、Redis の概要と特徴について解説します。
概要と特徴
Radis は、オープンソースのインメモリ型の Key-Value ストアです。 単純な Key-Value の関係よりも複雑な種類のデータを扱うこともできるため、データストラクチャ(データ構造)サーバーとも言えます。
インメモリ・データベース (In-Memory Database)
コンピュータのデータ記憶装置には、(1)CPUから直接アクセスできるメインメモリ と (2)ハードディスクなどのディスクストレージ があることは説明不要でしょう。 インメモリ・データベースとは、コンピュータのメインメモリ上のみでデータを管理する仕組みです。 それゆえ、データへのアクセスがとても高速であることが特徴です。 しかし、メインメモリはディスクストレージなどに比べて高価ですので、利用できる容量はディスクストレージに比べて断然少なくなります。
データ永続化機能
一般的なインメモリ・データベースの特徴として、メインメモリの「揮発性」の性質より、コンピュータを停止するとメモリ上のデータが全て消えてしまいます。 しかし、Redis にはデータ永続化機能のオプションが備わっており、メインメモリ上のデータをディスクストレージに記憶することができます。 これにより、コンピュータを停止したとしても、起動時にデータを復元することができます。
用途
Redis はインメモリ・データベースの特徴から、データベースサーバーもしくはキャッシュサーバーとして利用されます。
Key-Value ストア
Redis は Key-Value ストアというタイプのデータベースサーバーです。 データを二次元表で管理するリレーショナルデータベースとは異なります。 キーと値の組合せを指定して保存するタイプのデータベースサーバーで、保存したデータのキーを指定すれば対になる値を取得することができます。
キー | 値 |
---|---|
name | taro |
age | 20 |
gender | male |
誤ってはいけないのは、Key-Value ストアはリレーショナルデータベースを置き換えるものでは無いということです。 Key-Value ストアとリレーショナルデータベースは、お互いの強みを理解して組み合わせて使うように考えることが重要です。
Redis で保存できるデータ
Redis は単純な Key-Value よりも複雑な種類のデータも扱うことができます。
- リスト型
- セット型
- ハッシュ型
これらのデータ型については、これからの連載で具体的に説明していきます。
Redis のインストール
百聞は一見にしかず。 Redis の基本的な機能は、リレーショナルデータベースに比べるととてもシンプルなものです。 あっという間に、基本的な操作は習得できるでしょう。 ローカルマシンに Redis を導入して、ぜひ一通りの操作を試してみてください。 Redis のインストール方法は、次のような記事を参考にしてください。
Redis をクラウドで利用する
アプリケーション開発に Amazon 社の「Amazon Web Services」、および Microsoft 社の「Microsoft Azure」を利用している場合、それぞれのクラウドサービスが Redis のサービスを用意しているので、それらを利用することもできます。
クラウドサービス | サービス名 |
---|---|
Amazon Web Services | Amazon ElastiCache for Redis |
Microsoft Azure | Azure Redis Cache |
もちろん、それぞれのクラウドサービスのコンピュータインスタンスに、自分自身で Redis をインストールすることもできますが、管理コストを考えるとこれらのサービスを選択するのが良いでしょう。