ストレージ、DBMS、リレーショナルなど、データを保管することやデータベースに関連する用語がたくさん出てきている中、非エンジニアの方は「何となく聞いたことがあるけど、用語Aと用語Bはどう違うだっけ?」と、たまには混乱されることがあるかと思います。
この記事では、「データを保管すること」に関連するもっとも基本的な用語を解説します。データサイエンティスト検定(DS検定)に頻出の用語ばっかりですので、DS検定を受験するか否かにかかわらず是非ご活用ください。
データ保管の仕組み
データを保管する仕組みはストレージとデータストアの順で考えることができます。
■ストレージ
- データを保存するために使用するPCの部品(物理的装置)
- 例:ハードディスク(HD)、SSDなど、
■データストア
- ストレージ(HDやSSD)の中で、データを決められた形式で管理するためサービスや主体
- ファイルストレージ、オブジェクトストレージ、クラウドストレージ、データベース(リレーショナルデータベース、NoSQLデータベース)のような種類がある
下図のように、データストアはストレージの中にある「機能」です。
ファイルストレージとオブジェクトストーレジ
ファイルストレージは、私たちが使っているWindows、Mac、LinuxのPCの中のファイル形式でのデータ保管で馴染みのあるものでしょう。フォルダなどを用いて、データを階層的なツリー構造で管理します。
オブジェクトストレージとは、データの1つ1つをIDで管理する仕組みです。こうすることで、大規模データでも高速に検索可能になります。
クラウドストレージ
クラウドストレージとは、インターネット上に設置されたスペースでデータを格納する仕組みです。
クラウドストレージのメリットとしては、以下が挙げられます。その多くはストレージ以外のクラウドサービスにも共通しています。
- 外出先の別のデバイスからでも情報共有できる
- 初期投資を抑えられる
- 管理や運用の負担が軽減される
- バックアップを取る必要がない
クラウドストレージのデメリットとしては、以下が挙げられます。
- オフライン(インターネットが繋がっていない)環境では使用できない
- 提供されたサービスなので、カスタマイズが難しい
- セキュリティの管理が必要
データベースとDBMS
データベースはよく聞くと思います。とても広く定義すると、「データを管理するシステム」、それだけです。もっと正確にいうと、「大量のデータを整理し、検索や取り出しを容易にするためのシステム」です。
ブログ、SNS、検索エンジン、ECサイト、ウェブメールなど、私たちが日常的に恩恵を受けているシステムの多くは後ろにデータベースを構えています。
データベースとセットで知らなければいけない概念はDBMSです。DBMSとは、一言で説明すると、データベース内で実際にデータを管理するシステムです。
では、親概念のデータベースとはどう違うかというと、データベースはあくまでデータを保存する仕組みであり、DBMSはデータの格納や削除、検索などの操作を実際に担当するソフトウェアです。これらの機能はDBMSをSQL(データベースに命令する際に使われる言語)を用いて操作することで実現されます。
データベースにはRDBとNoSQLがある
データベースにはリレーショナルデータベース(RDB)と非リレーショナル型データベース(NoSQL)の2種類に分けることができます。
リレーショナル型データベース(RDB)とは、表形式のデータを保存するためのデータベースです。データの種類を細部まで設定するため準備に時間がかかるが、保管されたデータに対して様々な高度な操作ができます。
非リレーショナル型データベース(NoSQL)は、多種多様な形式のデータを保管することができます。RDBよりもルールが少なく、その構造が単純で決めることが少ないため、素早く使える状態に準備できます。また、データへのアクセスも一般的に高速です。NoSQLには、Key-Value型やドキュメント型、グラフ型など複数の種類があります。
次の記事では、RDBとNoSQL、そしてSQL言語の詳細を説明する予定です。
ここまで読んでいただきありがとうございます。また次回お会いしましょう。
執筆担当:ヤン ジャクリン(分析官・講師)