データベースの最近の変化と動向
データベースのおさらい
今の世の中は、「情報」がすべてと言っても良いぐらいの状況になっています。日進月歩ならぬ“秒進分歩”の勢いで、次々と新しい情報が生まれ、流通し、広がっています。
大量の情報が出回る中で、それらの情報を効率よく管理し、活用することは、非常に重要になっています。このような、「データを収集・管理し、活用するためのシステム」のことを総称して、「データベース」(Database)と呼んでいます。
広い意味では、「大量のデータを集めたもの」をデータベースと捉えることもできます。例えば、図書館は大量の本を集めた場所ですが、図書館もデータベースだと言えなくもないです。また、紙の住所録や電話帳も、データベースの一種だと言えます。
ただ、狭い意味でデータベースと言えば、コンピュータを使って、データを電子的に管理するシステムのことを指します(図1)。今回の連載で取り上げるのも、もちろんこの狭い意味でのデータベースです。
ある程度の規模のアプリケーションソフトになると、何らかの形で、データを蓄積したり加工したりする機能が含まれています。そのため、それらのアプリケーションは、「データベース的な機能を持っている」と考えることができます。
一方、データベース機能が中心になっているアプリケーションソフトもあります。例えば、マイクロソフトの「Access」は、データ管理機能を中心に、フォームやレポートといったデータ活用機能や、Excel等と連携する機能を持っています。
また、データベース管理に特化したタイプのアプリケーションソフトも、多数存在します。そのようなデータベースソフトは、ほかのソフトのデータベース管理部分だけを担当するようになっています。
図1:広義のデータベースと狭義のデータベース |
主なデータベースの種類
一口に「データベース」と言っても、取り扱うデータの内容によって、最適なデータ構造は異なります。そのため、データベースのソフトを大別すると、いくつかの種類に分かれます。
かつては、「階層型データベース」と呼ばれるタイプのデータベースが主流でした。階層型データベースは、データをツリー構造で管理するデータベースです。1つの親データが、複数の子データを持つ仕組みになっています。一方、1つの子データが複数の親データを持つことはありません。現在のパソコンではファイルをフォルダで分類するようになっていますが、この仕組みも階層型データベースの一種と言えます。
また、「ネットワーク型データベース」もあります。ネットワーク型データベースでは、個々のデータが複数の親と複数の子を持つことができ、データどうしが網目状につながる形をとります。
しかし、その後に登場した「リレーショナルデータベース」(Relational Database)によって、階層型データベースやネットワーク型データベースが使われる機会は減りました。現在では、さまざまな分野でリレーショナルデータベースが使われています。リレーショナルデータベースについては、次の項で再度解説します。
一方、ソフトウエアの多様化に伴って、リレーショナルデータベースがあまり向かないソフトウエアも増えています。そのため、リレーショナルではないようなデータベースも、いろいろと製品化されています。例えば、XMLのデータを直接に扱える「XMLデータベース」や、オブジェクト指向プログラミングと相性が良い「オブジェクト指向データベース」などがあります。
中でも、最近では「NoSQL」という流れが広がりつつあります。NoSQLについては、最後の項で解説します。