【のーえすきゅーえる】

NoSQL とは?

💡 テーブルの「型にはまらない」自由なデータベース
📌 このページのポイント
NoSQLデータベースの4つの種類 ドキュメント型 {'{"'} {' name: "太郎"'} {' age: 25'} {'}'} JSON/BSON形式 で柔軟に格納 例: MongoDB キーバリュー型 user:1 "太郎のデータ" user:2 "花子のデータ" 例: Redis, DynamoDB カラム型 行キー 列1 列2 ID 名前 年齢 列ごとに 分散格納 例: Cassandra グラフ型 太郎 花子 商品 店舗 友達 購入
NoSQLデータベースの4つの種類
ひよこ ひよこ

なんでRDBじゃダメなの?

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

RDBは正確性と一貫性に優れるけど、SNSの投稿やIoTセンサーデータのように構造が不定で大量のデータを高速に処理する場面では苦手なことがある。MongoDBならJSONのようなドキュメントをそのまま保存できるし、Redisなら秒間数十万リクエストに応答できるんだ

ひよこ ひよこ

種類が多くて分からない…

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

用途で覚えるといいよ。①ドキュメント型(MongoDB):WebアプリのCMS、ユーザープロファイル。②キーバリュー型(Redis):セッション管理キャッシュ。③カラム型(Cassandra):時系列データ、ログ。④グラフ型(Neo4j):SNSの友達関係、推薦エンジン。データの形と使い方で選ぶのが正解だね

ひよこ ひよこ

RDBとNoSQLはどっちがいい?

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

「どっちか」ではなく「両方使う」のが現代的だよ。基幹データ(顧客、注文)はRDBで厳密に管理し、セッションキャッシュRedisで高速処理、全文検索Elasticsearchに任せる。この「適材適所」な使い分けをポリグロットパーシステンスと呼ぶんだ

ひよこ ひよこ

NewSQLって何?

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

RDBのSQLインターフェースACIDトランザクションを保ちつつ、NoSQLのように水平スケールできるDBだよ。Google SpannerやCockroachDBTiDBが代表格。「SQLの安心感」と「NoSQLのスケーラビリティ」のいいとこ取りを目指していて、次世代DBとして注目されているよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「NoSQL」って出てきたら「テーブル形式にこだわらない柔軟なDB」と思えればだいたいOK!
📖 おまけ:英語の意味
「Not Only SQL」 = SQLだけではない
💬 「SQLを否定する」のではなく「SQLだけじゃないよ」という意味だよ
← 用語集にもどる