データベースサーバーとは、クライアント・サーバーモデルで定義されるように、他のコンピュータプログラムやコンピュータにデータベースサービスを提供するデータベースアプリケーションを使用するサーバーのことです。[ 1 ] [ 2 ]データベース管理システム(DBMS)は、データベースサーバー機能を提供することが多く、一部のデータベース管理システム( MySQLなど)は、データベースアクセスにクライアント・サーバーモデルのみに依存しています(一方、SQLiteなどの他のシステムは、組み込みデータベースとして使用することを目的としています)。
ユーザーは、ユーザーのコンピュータ上で動作する「フロントエンド」 (要求されたデータを表示する)またはサーバー上で動作し、データ分析や保存などのタスクを処理する「バックエンド」のいずれかを介してデータベースサーバーにアクセスします。
マスタースレーブモデルでは、データベースマスターサーバーはデータの中心的な主要な場所であり、データベーススレーブサーバーはマスターの同期バックアップとしてプロキシとして機能します。
ほとんどのデータベースアプリケーションはクエリ言語に対応しています。各データベースは自身のクエリ言語を理解し、送信された各クエリをサーバーが読み取り可能な形式に変換して実行し、結果を取得します。
商用データベースアプリケーションの例としては、Oracle、IBM Db2、Informix、Microsoft SQL Serverなどがあります。フリーソフトウェアのデータベースアプリケーションの例としては、 PostgreSQLがあり、GNU General Public Licenseの下ではIngresやMySQLなどがあります。各サーバーは独自のクエリロジックと構造を使用します。SQL (構造化クエリ言語)クエリ言語は、すべてのリレーショナルデータベースアプリケーションでほぼ同じです。
念のため説明すると、データベースサーバーとは、データベースアプリケーションを介してクライアントに関連するサービスを維持するサーバーのことです。
DB-Enginesは、ランキングに300以上のDBMSを掲載している。[ 3 ]
大規模データセットのモデリングの基礎は、1969 年にCharles Bachmanによって初めて導入されました。 [ 4 ] Bachman は、データをグラフィカルに表現する手段としてデータ構造図 (DSD)を導入しました。DSD は、異なるデータ エンティティ間の関係を表現する手段を提供しました。1970 年に、 Codd は、データベースのユーザーはデータベースの「内部動作」を知らないべきであるという概念を導入しました。[ 4 ] Codd は、後にほとんどのデータベースが今日使用しているリレーショナル モデルに発展したデータの「リレーショナル ビュー」を提案しました。1971 年に、 CODASYL (プログラミング言語COBOLの開発の原動力) のデータベース タスク レポート グループが、「データベースを記述するためのデータ記述言語、プログラムが認識するデータベースの部分を記述するためのデータ記述言語、およびデータ操作言語」を初めて提案しました。[ 4 ] 1970 年代には、データベースの研究開発のほとんどがリレーショナル モデルに焦点を当てていました。
コアコンセプトと操作 データベースとサーバーは別物です サーバーはリソースを管理するネットワーク接続されたコンピュータ(ハードウェアまたはソフトウェア)であり、データベースはその中に格納される構造化されたデータの集合です。「データベースサーバー」は、データベース管理システム(DBMS)を実行するために専用の特定のソフトウェアおよび/またはハードウェアです。ユーザーは通常直接接続しません ほとんどのエンドユーザーは、フロントエンドアプリケーション(Webサイトやモバイルアプリなど)を介して操作し、そのアプリケーションがユーザーに代わってデータベースサーバーと通信します。 SQLは全体像の一部にすぎません SQLはリレーショナルデータベースのデータを照会および操作するための標準言語ですが、それ自体では事実上役に立ちません。実際の機能を提供するには、より広範なアプリケーションエコシステム(ミドルウェア、レポートツールなど)に統合する必要があります。パフォーマンスは多くの場合、I/OバウンドではなくCPUバウンドです 適切に調整されたデータベースは、ディスクからデータが読み込まれるのを待つのではなく、メモリ(RAM)内のデータの処理にほとんどの時間を費やします。データベースがI/Oバウンド(ディスクアクセスが遅い)の場合、多くの場合、スキーマの問題またはクエリ最適化の不備を示しています。 「サーバーレス」データベースもサーバー上で動作します。クラウドデータベースの文脈における「サーバーレス」という用語は、ユーザーが基盤となる物理インフラストラクチャを管理する必要がないことを意味します。クラウドプロバイダーがスケーリングとメンテナンスを自動的に処理しますが、物理サーバーは依然として作業を実行します。
1975年、バッハマンはハネウェルで働いていた際に、リレーショナルモデルとデータ構造セットがデータ構造化の類似した「一致した」方法であることを実証した。[ 4 ]エンティティ関係モデルは、 1976年にピーター・チェンがMITで研究を行っていた際に、現在の形で初めて提案された。[ 5 ]このモデルは、リレーショナルデータベースを記述するための最も頻繁に使用されるモデルとなった。チェンは、ナビゲーションモデルよりも優れており、コッドが提案したリレーショナルモデルよりも「現実世界」に適用しやすいモデルを提案することができた。[ 4 ]