ds data-storage database
まず結論
NoSQLデータストア(NoSQL Database)とは、従来のリレーショナルデータベース(RDB)とは異なる仕組みでデータを保存・管理するデータベースの総称です。
DS検定では
「RDBとの違い」「スケーラビリティ」「非構造データへの対応」を理解しているかがよく問われます。
特に試験では
- NoSQLはSQLが使えない
- NoSQLはRDBの完全な代替
のような極端な選択肢がひっかけとして出ます。
直感的な説明
RDB(リレーショナルデータベース)は
Excelの表のようなデータ管理です。
| 顧客ID | 名前 | 年齢 |
|---|---|---|
| 001 | 山田 | 35 |
| 002 | 鈴木 | 29 |
このように
列構造が決まっています。
しかし最近のデータは
- SNS投稿
- Webログ
- IoTデータ
- 画像・動画
など
- データ量が巨大
- データ構造が一定でない
という特徴があります。
このようなデータを扱うために使われるのが
NoSQLデータストアです。
定義・仕組み
NoSQL(Not Only SQL)とは
RDB以外の方式でデータを管理するデータベースの総称です。
主な特徴
- SQL以外の方法(APIなど)で操作する
- テーブル構造に固定されない
- スケーラビリティ(拡張性)が高い
- 分散処理に強い
- 低レイテンシ処理に強い
重要なのは
スケーラビリティ
です。
RDB
→ サーバー性能を上げる(スケールアップ)
NoSQL
→ サーバーを増やして処理(スケールアウト)
という設計思想になっています。
NoSQLの4つの種類(DS検定頻出)
NoSQLは大きく次の4種類に分類されます。
| 種類 | 特徴 | 代表例 |
|---|---|---|
| キーバリュー型 | keyとvalueのペアで保存 | Redis、DynamoDB |
| ドキュメント型 | JSONなどの文書形式で保存 | MongoDB、CouchDB |
| カラム指向型 | 列単位でデータを管理 | HBase、Cassandra |
| グラフ型 | ノードと関係でデータ管理 | Neo4j |
DS検定では
「NoSQLの分類」→「代表例」
を対応させる問題が出ることがあります。
代表的なNoSQLデータストア
DS検定でよく登場する代表例です。
| データストア | 主な特徴 |
|---|---|
| HBase | Hadoop上で動作する列指向データベース。大規模データのリアルタイム処理に強い |
| Cassandra | 分散処理性能が高いカラム型データベース。高可用性 |
| MongoDB | JSON形式のドキュメント型DB。Webサービスで広く利用 |
| CouchDB | JSONドキュメント型DB。HTTP APIで操作 |
| Redis | キーバリュー型。非常に高速でキャッシュ用途 |
| Amazon DynamoDB | AWSのフルマネージドNoSQL |
| Cloudant | IBMのクラウドNoSQL |
| Azure Cosmos DB | Microsoftの分散NoSQL |
DS検定では
細かい仕様よりも
- 分散処理
- スケーラビリティ
- 非構造データ
がポイントになります。
どんな場面で使う?
大量データ処理
例
- Webログ
- SNS投稿
- IoTデータ
大量データでは
分散処理できるNoSQLが有利です。
非構造データ
例
- JSON
- APIレスポンス
- Webデータ
RDBの固定スキーマに合わない場合
NoSQLが使われます。
高速リアルタイム処理
例
- キャッシュ
- セッション管理
- レコメンド
Redisなどがよく使われます。
よくある誤解・混同
誤解①
NoSQLはSQLを使わない
誤りです。
NoSQLは
Not Only SQL
つまり
SQLだけではない
という意味です。
誤解②
NoSQLはRDBの完全な代替
これも誤りです。
RDBが得意
- トランザクション
- 厳密な整合性
NoSQLが得意
- 大量データ
- 分散処理
用途が異なります。
誤解③
NoSQLは構造がない
正しくは
固定スキーマがない
です。
DS検定の典型ひっかけ
次の選択肢に注意してください。
❌ NoSQLはSQLを使用しない
❌ NoSQLはRDBの完全な後継
正しくは
✔ SQL以外の方法でも操作できる
✔ RDBと用途を分けて使う
まとめ(試験直前用)
- NoSQLは RDB以外のデータベースの総称
- 大量データ・分散処理・柔軟スキーマに強い
- NoSQLは 4種類(KV・ドキュメント・カラム・グラフ)
- MongoDB / Redis / Cassandra などが代表例
- DS検定では RDBとの違いが最重要
対応スキル項目(データエンジニアリング力シート)
-
スキルカテゴリ名
データ蓄積 -
サブカテゴリ名
分散技術 -
★ NoSQLデータストア(HBase、Cassandra、Mongo DB、CouchDB、Redis、Amazon DynamoDB、Cloudant、Azure Cosmos DBなど)にAPIを介してアクセスし、新規データを登録できる | 顧客ID | 名前 | 年齢 | |—|—|—| | 001 | 山田 | 35 | | 002 | 鈴木 | 29 |
このように
列構造が固定されています。
しかし最近のデータは次のような特徴があります。
- SNS投稿
- Webログ
- IoTセンサーデータ
- 画像・動画
つまり
- データ量が非常に多い
- データの形がバラバラ
こうしたデータを扱うために使われるのが
NoSQLデータストアです。
NoSQLは
- 表構造に縛られない
- サーバーを増やして拡張できる
- 大量データ処理に強い
という特徴があります。
定義・仕組み
NoSQL(Not Only SQL)とは
RDB以外の方式でデータを管理するデータベースの総称です。
NoSQLには次のような特徴があります。
- SQL以外の方法(APIなど)で操作する
- テーブル構造に固定されない
- スケーラビリティ(拡張性)が高い
- 大規模分散処理に強い
- 低レイテンシ処理に強い
ここで重要なのが
スケーラビリティ
です。
RDB
→ サーバー性能を上げる(スケールアップ)
NoSQL
→ サーバーを増やして処理(スケールアウト)
という設計思想になっています。
代表的なNoSQLデータストア
DS検定でよく例として挙がる代表的なNoSQLは次の通りです。
| データストア | 主な特徴 |
|---|---|
| HBase | Hadoop上で動作する列指向データベース。大規模データのリアルタイム読み書きに強い |
| Cassandra | 高い可用性と分散処理性能を持つカラム型データベース。大規模クラスタで利用される |
| MongoDB | JSON形式(ドキュメント型)でデータを保存。柔軟なスキーマでWebサービスでよく使われる |
| CouchDB | JSONドキュメント型DB。HTTPベースのAPIで操作できる |
| Redis | キーバリュー型データベース。非常に高速でキャッシュやセッション管理に使われる |
| Amazon DynamoDB | AWSのフルマネージドNoSQL。自動スケーリングで大規模サービスに対応 |
| Cloudant | IBMのクラウド型ドキュメントDB。CouchDBベース |
| Azure Cosmos DB | Microsoftの分散NoSQLデータベース。世界規模の分散システムに対応 |
DS検定では
細かい技術仕様ではなく
- NoSQLは種類が多い
- 分散処理に強い
- APIで操作する
という理解ができていれば十分です。
どんな場面で使う?
NoSQLは次のような用途で使われます。
大量データ処理
例
- Webアクセスログ
- SNS投稿
- IoTデータ
データ量が非常に多い場合
NoSQLの分散処理が有効です。
非構造データ
例
- JSON
- APIデータ
- Webデータ
テーブル構造に固定されないため
柔軟にデータを扱えます。
高速リアルタイム処理
例
- キャッシュ
- セッション管理
- レコメンド
Redisなどがよく使われます。
よくある誤解・混同
誤解①
NoSQLはSQLを使えない
これは誤りです。
NoSQLは
Not Only SQL
つまり
SQLだけではない
という意味です。
SQL風クエリを使えるNoSQLもあります。
誤解②
NoSQLはRDBの完全な代替
これも誤りです。
RDBが得意
- トランザクション処理
- 厳密な整合性
NoSQLが得意
- 大量データ
- 分散処理
用途が異なります。
誤解③
NoSQLは構造がない
正しくは
固定スキーマがない
です。
データ構造はありますが
柔軟に変更できます。
DS検定の典型ひっかけ
DS検定では次のような選択肢に注意します。
❌ NoSQLはSQLを使用しないデータベース
❌ NoSQLはRDBの完全な後継技術
正しくは
✔ SQL以外の方法でも操作できるデータベース
✔ RDBと用途を分けて使う
まとめ(試験直前用)
- NoSQLは RDB以外のデータベースの総称
- 大量データ・分散処理・柔軟スキーマが強み
- MongoDB / Redis / Cassandra など多くの種類がある
- RDBの代替ではなく用途の違い
- DS検定では スケーラビリティと非構造データ対応が重要
対応スキル項目(データエンジニアリング力シート)
-
スキルカテゴリ名
データ蓄積 -
サブカテゴリ名
分散技術 -
★ NoSQLデータストア(HBase、Cassandra、Mongo DB、CouchDB、Redis、Amazon DynamoDB、Cloudant、Azure Cosmos DBなど)にAPIを介してアクセスし、新規データを登録できる
🔗 関連記事
- SQLインジェクションとは?仕組みと対策をやさしく理解【情報セキュリティマネジメント】
- データキューブとは?OLAP分析の基本概念を理解する【DS検定】
- データレイクとは?(DWHとの違いも整理)【DS検定リテラシー】
- データマートとは?(DWHとの違いを整理)【DS検定リテラシー】
- データウェアハウス(DWH)とは?データマートとの違いを理解する【DS検定】