データベースとは ― 仕組みと種類
データベースとは、
データベースとは、決まった形式で大量のデータをまとめて保存したもの
データベースとは、決まった形式でデータをまとめて保存し、複数の利用者やプログラムが同時に読み書きできるようにしたものです。ネットショップの在庫や注文、会員の情報は、たいていデータベースに入っています。多くのデータベースは、データを表の形で並べて管理します。
表計算ソフトでもデータを表の形で並べられますが、データ量が増えると検索が遅くなりがちです。複数人が同時に編集すると、片方の変更が消えてしまうこともあります。
データベースは、データ量が増えても速く検索できるように作られています。複数の利用者やプログラムが同時に使っても、データが矛盾しない仕組みも備えています。こうした管理を受け持つソフトウェアがDBMSです。
DBMSとは、データベースを管理するソフトウェア
データベースは、DBMS(データベース管理システム)というソフトウェアを通して使います。利用者やアプリケーションはデータベースのファイルに直接触れず、DBMSに問い合わせます。
例えば、注文アプリと在庫管理アプリが、同じ商品の在庫数を同時に書き換えようとしたとします。DBMSは、片方の書き換えが終わるまで、もう片方を待たせます。これで在庫の数が食い違わなくなります。この仕組みを同時実行制御、または排他制御と呼びます。待たせるためにデータに掛ける鍵をロックといいます。ロックの種類や、ひとまとまりの処理であるトランザクションが複数絡む場面は、トランザクションとACID特性の記事で説明しています。
待たせ方によっては、複数のトランザクションが互いのロックの解放を待ち合い、どちらも進めなくなることがあります。この状態をデッドロックと呼びます。起きる仕組みと対処はデッドロックの記事にまとめました。
停電や機器の故障でデータベースが止まることもあります。DBMSはデータを書き換えるたびに、その内容をログと呼ぶ記録に残しています。故障が起きても、このログをもとに矛盾のない状態に戻せます。この仕組みを障害回復と呼びます。
DBMSは、利用者ごとに見てよいデータや、書き込んでよいデータを制限する機能も持ちます。情報セキュリティの3要素のうち、機密性と完全性をデータベースの中で守る機能です。利用者ごとに見せるデータの形を分けて定義する考え方は、3層スキーマの記事で説明しています。
データベースの種類は、表で持つRDBと、それ以外のNoSQLに分かれる
データベースの種類は、大きくRDBとNoSQLに分かれます。RDB(リレーショナルデータベース)は、どの行も同じ列を持つ表の形でデータを管理します。
NoSQLは、RDB以外の種類のデータベースをまとめて指す呼び方です。多くの種類では、データ1件ごとに項目が違ってもかまいません。
| 種類 | データの | 向いている |
|---|---|---|
| RDB | 表(行と列)で管理する | 複数の表を関連付けて正確に集計する |
| キーバリュー型 | キーと値の組で管理する | キーを指定して、データを素早く保存・取得する |
| ドキュメント指向 | JSONに似た文書の形で管理する | 項目の数や形がデータごとに違うものを扱う |
| 列指向 | 列ごとにまとめて管理する | 大量データの集計を速くする |
| グラフ | ノードとつながり(エッジ)で管理する | データとデータのつながりそのものを調べる |
どの種類を選ぶかは、扱うデータの形と、検索や集計のしかたで決まります。ほかに、RDBより前からある階層型・網型や、オブジェクト指向データベース・XMLデータベースもあります。
RDBが表どうしをつなぐ仕組みはRDBの記事で、表をどう分割して整理するかは正規化の記事で説明しています。NoSQLの型ごとのデータの持ち方はNoSQLの記事で比べています。AWSのサービスでは、Amazon DynamoDBがキーバリュー型とドキュメント指向の両方に対応しています。
複数の場所のサーバにデータを置き、1つのデータベースとして使うものを分散データベースと呼びます。日々の業務を記録するデータベースと、集めたデータを分析するデータウェアハウスは、役割が違います。
参考にした資料
- Oracle「What Is a Database?」(データベースとDBMSの定義、行と列の表、表計算ソフトとの違い、RDBやNoSQLなどの種類)
- AWS「データベースとは?」(データベースとDBMSの定義、テーブルの列と行、リレーショナルとNoSQLの違い)
練習問題(全5問)
正解:決まった
データベースは、
正解:データベースに
DBMSは、
正解:同時実行制御
同時実行制御
正解:どの
RDBは
正解:キーを
キーバリュー型は、
選んでから「採点する」を押すと、解説つきで答え合わせができます。
関連記事
おすすめの本 PR
セキュリティとデータベースは、基本情報技術者試験の対策本でまとめて学べます。

