社会インフラを支えるシステムにおいて、ほぼ必ずといってよいほど利用されているデータベース。今やデータベースはなくてはならない物となっています。
データベースとはいったい何でしょうか。データベースを利用するとどんなメリットがあるのでしょうか。本記事では、そんなデータベースに関する疑問について解説していきます。
データベースとは
データベースとは「蓄積されたデータの集まり」を意味します。たとえば、住所録や電話帳も、一種のデータベースと言えます。
数千件程度のデータを少人数しか扱わないのであれば、Excel等の表計算ソフトでも管理が可能でしょう。しかし、大勢の人が同時にアクセスし、最終的に数万規模のデータになることが予想される場合は、データベースの利用をおすすめします。
なぜ、大規模データの管理にデータベースがあったほうがよいのか?次からはデータベースを使用した場合のメリットをご紹介します。
データベースを使うメリット
管理するデータ量が多くなればなるほど、データベース導入のメリットが大きくなります。ここからは、データベースを扱うことによるメリットを3つご紹介します。
データの取り出し、更新が容易
データベースは、大量データの中から目的のデータを取り出しや更新を容易にできます。たとえば、Excelの場合データ量が100万件、1,000万件と膨大になると、処理が重くなり扱いにくくなります。
データベースだと、膨大なデータからでも即座にデータが取得でき、データのメンテナンスを効率よく実施できます。
同時アクセスが可能
Excelを編集するときに「他の人が編集中でロックされている」という状況を経験した人は多いのではないでしょうか。データベースは行ロックや読取り一貫性等の仕組みにより、複数の人が同時にアクセスしてもデータが壊れることなく編集が可能です。
バックアップ・リカバリ機能
データベースには、データおよびデータベースそのものが壊れたときのために、バックアップおよびリカバリの機能が備わっています。定期的にバックアップをとっておけば、サーバーの故障や誤ってデータを削除した場合において、リカバリによりバックアップからデータを復元できます。
データベースの種類
データベースには、いくつかの種類が存在します。ここでは、代表的な種類3つ「階層型」「ネットワーク型」「リレーショナル型」をご紹介します。
階層型
階層型はデータをツリー構造(木構造)で管理します。1つの情報(親ノード)から複数のデータ(子ノード)に枝分かれして構造化されていきます。1つのデータを検索する方法が1つのルートで決まるため、目的のデータを早く検索できる点が優れています。
デメリットとして、子ノードは親ノードを1つしか持てない構造であるため、異なる親ノードを持つ状況の場合、重複登録が必要となり、管理が複雑になります。
3.2 ネットワーク型
ネットワーク型は階層型と異なり、複数の親ノードを持つことのできる構造です。階層型のデメリットであった「重複登録」を回避できます。また、複数のルートで並列にアクセスできるため、高速に処理できるというメリットがあります。
ただし、構造が複雑になりやすくなり、管理しにくくなるというデメリットがあります。
3.3 リレーショナル型
リレーショナル型は、データを行と列による表形式で関係性をまとめた構造です。階層型のデメリットであった重複の問題は列に重複しない項目名をつけることで対応、ネットワーク型のデメリットであった複雑さについては、表形式で関係性をまとめることでシンプルな構造になっています。
データベースの操作方法
データベースを操作し、データを更新するにはいくつかの方法があります。ここでは、データベースを操作する方法をご紹介します。
SQL
SQLはデータベースを操作するためのプログラミング言語です。国際標準化されており、多くのデータベースで利用できます。SQLを利用すれば、データベースに対してあらゆる操作が実施できます。代表的な操作は以下のとおりです。
● データの検索、登録、更新、削除
● テーブル、索引、順序、トリガーといったオブジェクトの作成、削除
● ユーザーの作成、削除
● ユーザー権限の作成、付与
4.2 ストアドプロシージャ
ストアドプロシージャは、データベースへの複数の処理をまとめ、DBMSに登録したものです。SQLは対話式で実行するごとに結果が表示されますが、ストアドプロシージャは複数のSQLをまとめて実行する、ということも可能です。
データベース管理システム(RDBMS)とは
コンピューター上のデータベースを管理するソフトウェアのことを、データベース管理システム(DBMS)と呼びます。DBMSは、SQLやストアドプロシージャでデータベースを操作する機能以外にも、複数の人から同時にアクセスした場合に適切に処理するトランザクション制御機能、読取り一貫性といった機能をもちます。
DBMSの中でもリレーショナル型の構造でデータベースを管理するシステムをRDBMSと呼ばれ、現在主流のデータベースはRDBMSです。
主なデータベース管理システム
ここからは、DBMSの中でも主要な4つのソフトウェアをご紹介します。
Oracle Database
Oracle Databaseは、世界で最も高いシェアを誇るRDBMSで、主に大企業を中心に導入されています。高いパフォーマンスと耐障害性に優れていることから、小規模から大規模まで多くのシステムに対応しています。
Oracle Databaseには多くのオプションがあり高機能ですが、それらを利用するにはライセンス費用が発生するため、導入費用が高額になりがちです。
Microsoft SQL Server
Microsoftが開発・販売しているデータベースです。Windows環境のシステムと相性がよく、高い性能と堅牢性で多くの企業で導入されています。
管理ツール「SQLServer Management Studio」を始めGUIによる直感的な操作ができるため、初心者にも扱いやすいのが特長です。
PostgreSQL
PostgreSQLも商用目的でも無償で利用できるオープンソースデータベースです。PostgreSQLは多機能であり、また同じオープンソースソフトウェアとの連携により、高い拡張性を持っています。また、大手企業からの商用サポートも提供されています。
昨今最も急成長しているデータベースであり、機能拡張したPostgreSQLは商用データベースにも劣らない性能を有しています。
MySQL
MySQLは、最も世界で利用されているオープンソースのデータベースです。オープンソースなので低コストで利用できるだけでなく、高性能かつ高い堅牢性をもち、個人から大企業まで利用されています。
オープンソースソフトウェアは、ベンダーのサポートが得られないというデメリットがありますが、MySQLは有償ですがOracle社からのサポートが受けられます。
まとめ
本記事では、データベースについてご紹介しました。現在多くのシステムで、データベースが活用されています。データベースを導入することで、主に以下のメリットが得られます。
● データの取り出し、更新が容易
● 同時アクセスが可能
● バックアップ・リカバリ機能により、万が一データ損失時に復旧可能
少数の人がデータを扱う場合はExcelなどの表計算ソフトでも対応できます。しかし、数万件にも及ぶデータを管理し、大人数が同時にアクセスする場合は、データベースの導入を検討してみるとよいでしょう。
- カテゴリ:
- 【DB入門】データベース概論
- キーワード:
- データベース