【きーばりゅーがたでーたべーす】

キーバリュー型データベース とは?

💡 ロッカーの番号で荷物を出し入れする最速のデータベース
📌 このページのポイント
キーバリュー型データベースの仕組み キーを渡すとバリューが返ってくる Key(キー) Value(バリュー) user:1001 { name: "田中", role: "admin" } session:abc123 { userId: 1001, expires: "..." } cache:top-page <html>...キャッシュ済みHTML...</html> GET → キーで即座に取得 SET → キーと値をセットで保存 応答速度: マイクロ秒〜ミリ秒(Redis)
キーバリュー型データベースのデータ構造
ひよこ ひよこ

キーバリューって、プログラミングの辞書型と同じ?

ペンギン先生 ペンギン先生

まさにそのイメージ!Pythonの辞書やJavaScriptオブジェクトと同じで、キーを渡すと値が返ってくる。駅のコインロッカーみたいなもので、番号(キー)を指定すれば中身(バリュー)をすぐ取り出せるんだ

ひよこ ひよこ

シンプルすぎて使い道が限られそうだけど…

ペンギン先生 ペンギン先生

シンプルだからこそ圧倒的に速いんだよ。Redisはデータをメモリ上に持つから、1秒間に数十万回の読み書きができる。Webアプリのセッション管理、ページキャッシュ、リアルタイムランキングなど、速度が命の場面で大活躍だよ

ひよこ ひよこ

Redisってメモリにデータを持つなら、電源が切れたらデータ消えちゃわない?

ペンギン先生 ペンギン先生

いい質問だね!Redis自体はインメモリだけど、RDBやAOFという永続化機能があって定期的にディスクに書き出せるんだ。とはいえメインの用途はキャッシュだから、消えても困らないデータを置くことが多いよ

ひよこ ひよこ

DynamoDBも有名だよね?Redisとどう違うの?

ペンギン先生 ペンギン先生

DynamoDBAWSマネージドサービスで、サーバーレスで自動スケールするのが強みだよ。Redisキャッシュ用途メインなのに対して、DynamoDBは永続的なデータストアとして使えるんだ。実はDynamoDBは内部的にはキーバリュー+ドキュメントのハイブリッドで、ソートキーを使った範囲検索もできる優れものだね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「キーバリュー型データベース」って出てきたら「名前で引くと値が返ってくる超高速な辞書」と思えればだいたいOK!
📖 おまけ:英語の意味
「Key-Value Database」 = キーバリュー型データベース
💬 プログラミングのハッシュマップや辞書と同じ発想で、キーを渡すと対応する値が返ってくるシンプルな仕組みだよ
← 用語集にもどる