この記事ではNoSQLについてIT初心者にも分かりやすく解説します。
NoSQL
- NoSQLは、関係データベース以外のデータベースの総称
- 表形式で管理できるデータは構造化データ、管理できないデータは非構造化データ
- NoSQLは非構造化データも管理できる
NoSQLの種類
- キーバリュー型は、キーに紐づけて様々な型の値(バリュー)を管理する
- カラム指向型は、キーバリュー型に列(カラム)を追加したデータベース
- ドキュメント型は、XML等のドキュメント形式のデータを管理する
- グラフ型は、ノード、エッジ、プロパティの3要素でデータ同士の関係性を管理する
応用情報ではNoSQLに関する問題が出題されます。是非最後までご覧ください。
NoSQLとは
NoSQLとは、リレーショナルデータベース(RDB)以外のデータベースの総称です。
そもそもリレーショナルデータベース(RDB)とは
リレーショナルデータベースとは、表形式でデータを管理するデータベースで、関係性のある項目で表同士を結合したり、検索したり出来ます。
RDBはRelational DataBaseの略で、直訳すると「関係性のあるデータベース」になります。OracleやPostgreSQL等、一般的に広く使われています。
RDBは表同士が複雑に絡み合うことでデータを管理・運用します。
表同士が複雑に絡み合う分、データの整合性は厳密に保たなければいけません。そのため、データ量が膨大になればなるほど、整合性を保つための処理が多くなり、データベース全体の処理の負荷が大きくなるというデメリットがあります。
また、RDBでは表形式で管理出来るデータしか管理出来ないので、動画や音声のようなデータを管理することは出来ません。表に出来ないからですね。
表形式で管理出来るコードや名称等のデータを「構造化データ」、
表形式で管理出来ない動画や音声等のデータを「非構造化データ」と言います。
RDBでは構造化データしか管理出来ないということです。
NoSQLの登場
近年、データサイエンスの発達で、非構造化データを用いたデータの分析や、膨大な量のデータの分析が出来るデータベースが求められるようになりました。
しかし、前述した通り、RDBは膨大な量のデータ処理に時間が掛かり、構造化データしか管理出来ません。そこで登場したのがNoSQLです。
NoSQLは、RDBのようにデータの整合性を厳密に保つ処理は行わず、また、構造化データ以外のデータも管理できるようにしたものです。
NoSQLはその特徴から4つの型に分類されます。
①キーバリュー型
キーとバリューの組み合わせで作られるデータモデルです。
キーとバリューは1対1で管理されます。構造がシンプルなので高速で処理が可能です。
②カラム指向型
キーバリュー型に列(カラム)が追加されたデータモデルです。
RDBと異なり、列毎に処理をします。
③ドキュメント型
XML等のドキュメント形式でデータを管理するデータモデルです。
XML形式で保存されたデータをそのまま保存出来るのがメリットです。
④グラフ型
ノード、エッジ、プロパティの3要素でデータ同士の関係性を管理するデータモデルです。
- ノード:点
- エッジ:線
- プロパティ:ノードとエッジの性質
データモデルの構造が表形式ではなく、ネットワーク状になっているため、検索処理が凄く速いらしいです。
応用情報技術者試験での出題例
令和6年度春期問29
応用情報技術者
午前試験 令和6年度春期問29
ビッグデータの基盤技術として利用されるNoSQLに分類されるデータベースはどれか。
ア 関係データモデルをオブジェクト指向データモデルに拡張し,操作の定義や型の継承関係の定義を可能としたデータベース
イ 経営者の意思決定を支援するために,ある主題に基づくデータを現在の情報とともに過去の情報も蓄積したデータベース
ウ 様々な形式のデータを一つのキーに対応付けて管理するキーバリュー型データベース
エ データ項目の名称,形式など,データそのものの特性を表すメタ情報を管理するデータベース
正解は”ウ”
様々な形式のデータをキーと紐づけて管理するキーバリュー型データベースはNoSQLに分類されます。