検索
連載

リレーショナルデータベースの3大構成要素とは?ゼロからのリレーショナルデータベース入門(2)(1/3 ページ)

前回は、リレーショナルデータベースの役割とそれを管理するソフトウェアであるRDBMSの基本機能について解説しました。今回は、RDBMSの基本的なアーキテクチャ(内部構造)を解説します。アーキテクチャを理解すると、データベースに障害が起こった場合の復旧作業や、パフォーマンスを考慮したアプリケーション開発などに役立ちます。【更新版】

PC用表示 関連情報
Share
Tweet
LINE
Hatena

連載バックナンバー

リレーショナルデータベースを構成する要素

 リレーショナルデータベース(RDB)は以下の3つの要素で構成されています(図1)。

  1. データベース
  2. プロセス
  3. 共有メモリ
photo 図1 リレーショナルデータベースの構成要素

 本稿ではよく使用されるRDBMSとしてOracle Databaseを例にします。使用するRDBMS(リレーショナルデータベース管理システム)によって実際のファイルや機能の名称は異なりますが、仕組みや考え方はどのデータベース製品でも共通です。

1:データベース

 1つ目の構成要素である「データベース」は、ディスク領域のOSファイルによって構成されています。

 ファイルに格納されるデータの大部分を占めるのが表データです。例えば、商品表や在庫表のような、複数のユーザーが共有利用するデータのことです。この他に、障害から復旧するための「変更履歴」や、データベースに関する「管理情報」などが格納されています(図2)。

photo 図2 「データベース」を構成するファイル

表データを格納するファイル

 このファイルには、ユーザーが普段共有利用する表データが格納されています。表データを検索したり、変更したりする場合は、その表データが格納されている各ファイルにアクセスします。

 昨今、企業システムが管理するデータベースのデータ量が増加の一途をたどっています。データ量が数TBを超えることも珍しくはありません。このような大量のデータを格納するデータベースでは、表データが1つのファイルに収まらず、複数に分散して管理することもあります。

 Oracle Databaseでは、表データを格納するファイルを「データファイル」と呼び、このデータファイルの中に表を作成してデータを挿入します。

変更履歴を格納するファイル

 このファイルは、データベースに何らかの障害が発生した場合でもデータを正しく復旧できるように、データベース内で行われた全ての変更履歴を格納しておくものです。

 例えば、データの変更処理中にデータベースサーバがダウンし、変更データが失われてしまったとしても、変更履歴を元に処理を再実行することでデータを復旧させることができます。

 Oracle Databaseでは、変更履歴を「オンラインREDOログ・ファイル」と呼ばれるファイルに格納します。Oracle Databaseで行われた変更は、次々にこのファイルに書き込まれます。

データベースに関する管理情報を格納するファイル

 このファイルでは、データベースシステムが自分自身を管理するために、データベースを構成するファイル名や格納されている場所、各ファイルの現在の状態などの管理情報が記録されます。

 データベースを起動すると、まずこのファイルにアクセスします。データベースシステムはここで表データを格納するファイルや変更履歴を格納するファイルがどこにあるのかを確認し、認識します。

 Oracle Databeseでは、データベースに関する管理情報を「制御ファイル」と呼ばれるファイルに格納します。データベースの起動時に制御ファイルを読み込み、データファイルやオンラインREDOログ・ファイルがどこにあるかをチェックします。



 1つ目の要素である「データベース」をまとめると以下のようになります。

  • データベースを構成する主なファイルには「表データ」「変更履歴」「管理情報」がある
  • ファイルの種類は違えど、いずれもディスク領域に格納されている

 続いて、これらのファイルに対してデータの読み込みや書き込みをしたり、SQLの内部処理などを担当する「プロセス」について解説します。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る