データベースとは
データベースは「収集した膨大なデータが格納されている、データの集まり」のこと。
データベースには主に3つの種類があります。
階層型
階層型は、データを階層的な構造(木構造)で保存するデータベースで、親に対して複数の子を持つ(子は1つの親に所属する)構造になっていて、PCのフォルダの構造や会社の組織図など一対多のデータを効率よく管理することができます。
階層型データベースは、データにアクセスするためのルートが限定されるため、データへのアクセス速度が速くなるメリットがある一方で、複数の親が必要なデータの場合は重複登録が必要で、同じデータなのに複数の親で登録されているというような不自然なデータになってしまいます。
また、データの追加や削除などの際に、ルートを再登録する必要があり、データを管理するための柔軟性にも欠けています。
ネットワーク型
ネットワーク型は階層型の柔軟性の欠如を補うために登場したデータベースで、複数の親ノードを持つことので多対多の関連性を扱うことができるようになり、複雑なデータの相互関係をより適切に表現することが可能になりました。
階層型のデメリットだった複雑な関係性が実現(重複登録が不要になった)できデータを効率的に表現できるようになった一方で、データの依存関係が複雑になるため、データの管理が困難になりやすくなりました。
リレーショナル型
リレーショナル(関係)型は、データをレコードという行とフィールドという列で構成され、テーブルと呼ばれる表構造のデータベースです。
テーブルを互いに関連付けて、データ同士の関連性から新しい表を作成することができたり、柔軟なデータの取り扱いができることや、複雑なデータの関連性を扱えることからさまざまな場面で使用されています。
リレーショナル型は複数の表データから、RDBMS(リレーショナルデータベース管理システム)」という管理システムを使って、必要なデータを組み合わせて引き出すことができます。
DBMS(データベース管理システム)とは
DBMSは、「data base management system」の略でデータベースを操作するためのシステムです。
データベースのファイル構造の定義やデータの検索、更新、共有したり、データへのアクセス権限を管理したりします。
Oracle Database
Oracle Databaseは、米オラクル(Oracle)社が開発・販売するDBMSで世界で最も高いシェアを誇るRDBMSです。
高いパフォーマンスと耐障害性に優れていることから、小規模から大規模まで多くのシステムに対応しています。
Oracle Databaseは導入費用が高額になりがちで比較的予算に余裕のある大企業を中心に導入されています。
Microsoft SQL Server
Microsoft SQL Serverは、Microsoftが開発・販売しているDBMSです。
OracleやMySQLと比較してWindows製品との親和性が非常に高く、高い性能と堅牢性で多くの企業で導入されています。
PostgreSQL
PostgreSQLは後述のMySQLと同じ商用目的でも無償で利用できるオープンソースデータベースです。
PostgreSQLは多機能であり、また同じオープンソースソフトウェアとの連携により、高い拡張性を持っています。また、大手企業からの商用サポートも提供されています。
昨今最も急成長しているデータベースであり、機能拡張したPostgreSQLは商用データベースにも劣らない性能を有しています。
MySQL
MySQLは、世界で最も利用されているオープンソースのDBMSです。
高性能かつ高い堅牢性ながら低コストで利用できるので個人から大企業まで利用されています。
オープンソースは基本的に無償のためベンダーからのサポートはないのですが、MySQLは有償でOracle社からのサポートが受けられます。
次回はオープンソースのDBMS、「PostgreSQL」と「MySQL」の違いについて