データベースの種類

提供: RAD Studio
移動先: 案内検索

データベースの使用 への移動


リレーショナル データベース サーバーは、情報を格納する方法や、複数のユーザーに同時にその情報にアクセスさせる方法が、さまざまに異なります。Delphi では、2 種類のリレーショナル データベース サーバーをサポートしています。

  • リモート データベース サーバー。別のマシン上にあります。リモート データベース サーバーのデータが、1 台のマシンではなく、複数のサーバー上に分散していることもあります。リモート データベース サーバーが情報を格納する方法はさまざまですが、クライアントに対して提供している論理インターフェイスは共通です。この共通のインターフェイスとは SQL(Structured Query Language)です。SQL を使ってアクセスするため、この種類のサーバーは SQL サーバーと呼ばれることもあります。(その他に、RDBMS(Remote Database Management System)と呼ばれることもあります。) SQL を構成する共通のコマンドに加えて、ほとんどのリモート データベース サーバーでは独自の SQL "ダイアレクト" をサポートしています。SQL サーバーには、InterBase、Oracle、Sybase、Informix、Microsoft SQL Server、DB2 などがあります。
  • ローカル データベース。ローカル ドライブまたはローカル エリア ネットワーク上にあります。多くの場合、データにアクセスするための独自の API を備えています。複数のユーザーで共有する場合には、ファイルベースのロック メカニズムを使用します。そのため、ファイルベースのデータベースと呼ばれることもあります。ローカル データベースには、Paradox、dBASE、FoxPro、Access などがあります。

ローカル データベースを使用するアプリケーションは、アプリケーションとデータベースが 1 つのファイル システムを共有することから、単層アプリケーションと呼ばれます。リモート データベース サーバーを使用するアプリケーションは、アプリケーションとデータベースが別個のシステム(層)で動作することから、2 層アプリケーションまたは多層アプリケーションと呼ばれます。

使用するデータベースにどの種類を選ぶかは、いくつかの要因に左右されます。たとえば、データが既に既存データベースに格納されているかもしれません。アプリケーションが使用するデータベース テーブルをこれから作成する場合には、次の点を考慮してください。

  • テーブルを共有するユーザー数: リモート データベース サーバーは、複数のユーザーが同時にアクセスできるように設計されています。そして、トランザクションというメカニズムで複数ユーザーをサポートします。ローカル データベースの場合、一部では(Local InterBase など)トランザクションをサポートしていますが、多くはファイルベースのロック メカニズムしか提供しておらず、マルチユーザー サポートをまったく提供していないものもあります(クライアント データセット ファイルなど)。
  • テーブルに格納するデータの量: リモート データベース サーバーは、ローカル データベースよりも多くのデータを保持できます。大量のデータを保管することを第一に設計されているリモート データベース サーバーもあれば、他の基準(更新速度など)に基づいて最適化されているものもあります。
  • データベースに求められるパフォーマンス(処理速度)の種類: ローカル データベースは、データベース アプリケーションと同じシステム上に存在するため、通常はリモート データベース サーバーよりも高速です。リモート データベース サーバーはそれぞれに最適化されている操作の種類が異なるため、リモート データベース サーバーを選択する際にはパフォーマンスを考慮するとよいでしょう。
  • データベース管理用に提供されているサポートの種類: ローカル データベースでは、リモート データベース サーバーほどのサポートは必要ありません。別にサーバーをインストールする必要もなければ、高価なサイト ライセンスも必要ないため、通常は運用にかかる費用が少なくて済みます。

関連項目