NoSQL
のーえすきゅーえる
NoSQL
一言でいうと
表形式に縛られない、柔軟なデータ構造を扱えるDBの総称のこと。
詳しい意味
NoSQL は「Not Only SQL」の略で、表(行と列)に縛られないデータ構造を扱うデータベースの総称です。代表的な種類に「ドキュメント型(MongoDB / Firestore)」「キーバリュー型(Redis / DynamoDB)」「カラム指向(Cassandra)」「グラフ型(Neo4j)」があります。スキーマレスで柔軟にデータを格納でき、巨大データの分散処理に強い反面、複雑なJOINや厳密なトランザクション管理は不得意です。SQLデータベース(PostgreSQL / MySQL)と用途で使い分けるのが現代的なアプローチです。
何に使うか
事前にカラム構造を固められないログデータやイベントデータを大量に扱うとき。大量のキャッシュ・セッションを高速にやりとりしたいとき。SNS のフォロー関係などグラフ構造を扱うとき。
どんな時に出るか
「これはNoSQLでいこう」「FirestoreはNoSQLのドキュメント型」「NoSQLとSQLの使い分け」といった場面で登場します。
具体例
- アクセスログを Firestore(NoSQL)に流して、後段で BigQuery に集約している。
- セッションデータをRedisに置いて高速化した。
別名・略称
nosql(のーえすきゅーえる)MongoDB(もんごでぃーびー)Firestore(ふぁいあすとあ)Redis(れでぃす)
間違えやすい語
初心者向けメモ
SQLデータベースが「Excelの整然とした表」だとすれば、NoSQL は「自由な形のメモ帳」「タグ付きの付箋」のようなものです。形が柔軟な分、検索や集計はSQLほど強力ではありません。