4D v164D Server アーキテクチャー |
||
|
4D v16
4D Server アーキテクチャー
4D Server アーキテクチャー
クライアント / サーバーアーキテクチャーを使用して、4D Server はデータベースを格納したり保存したりするだけでなく、クライアントへのサービスも提供します。これらのサービスはリクエスト / レスポンスのシステムを使用してネットワーク経由で管理されます。 例えばレコードを検索するために、クライアントマシンはクエリ リクエストをサーバーに送信します。リクエストを受信するとサーバーはクエリ処理をサーバーマシン上でローカルに実行し、クエリが完了すると、結果 (検索されたレコード) を返します。 4D Server のアーキテクチャーはクライアント / サーバーモデルに基づきます。現在ではクライアント / サーバーアーキテクチャーはより古いファイル共有アーキテクチャーをしのぎ、マルチユーザーデータベースにおいて最も効率の良いモデルとなりました。 4D Server のクライアント / サーバー実装はミニコンピューターの世界で使用されているものと同じです。しかし、4D Server は2つの重大な新しい手法を提供します:
クライアント / サーバーアーキテクチャーが導入される以前、マルチユーザーシステムには、ネットワークアーキテクチャーのファイル共有モデルが使用されていました。このモデルでは、すべてのユーザーは同一のデータを共有しますが、データ管理は中央のデータベースエンジンによって制御されていません。各クライアントマシンにデータベースストラクチャーとエンジンのコピーを格納する必要があり、一方でサーバーにはネットワーク上でファイルを共有するために必要なソフトウェアしかありません。 ファイル共有モデルのもとでは、各ワークステーションがすべてのデータ変更をローカル上で行います。処理ごとに多量の更新を必要とし、ネットワーク負荷の増大につながりました。以下の図は、名前が "Smith" である人をデータベースで検索するときにネットワーク上で作成されるトラフィックを例示したものです。 ファイル共有モデルのもう 1 つの欠点は、メモリキャッシュを利用してメモリ上にレコードを保持できないということです。ファイル共有モデルでレコードがメモリ内に保持されると、各ユーザーが同じレコードの異なるバージョンをキャッシュに格納する可能性があり、データに矛盾が生じてしまうためです。したがって、ユーザーはレコードにアクセスするたび、ファイルサーバーからレコードをダウンロードする必要があります。これはネットワーク負荷を増大させ、レコードアクセス時間の増加につながります。 クライアント / サーバーアーキテクチャーは効率が良く高速なので、ミニコンピューターの世界では大規模データベースシステムで広範囲に使用されています。このアーキテクチャーでは、パフォーマンスを向上させるために、サーバーマシンとクライアントマシンが作業を分担します。 サーバーには中心となるデータベースエンジンがあり、データを格納・管理します。データベースエンジンは、ディスク上に格納されたデータにアクセスする唯一のソフトウェアです。クライアントがサーバーに要求を送ると、サーバーは結果を返します。結果はクライアントが変更する特定のレコードであったり、ソートした一連のレコードの場合もあります。 一般に、ほとんどのクライアント / サーバーアーキテクチャーは "異種混合アーキテクチャー" と呼ばれていますが、これはクライアントマシン上で実行しているフロントエンドアプリケーションとサーバーマシン上で実行しているデータベースエンジンに別々の製品が使用されるためです。このような場合には、クライアントとサーバーの間に入って翻訳を行うデータベースドライバーが必要です。 例えばレコードを検索する場合、クライアントはサーバーに検索要求を送ります。データベースはサーバー上に格納されているので、サーバーはサーバーマシン上でローカルにコマンドを実行し、結果をクライアントに返します。次の図は名前が “Smith” であるすべての人をデータベースから検索し、見つかった最初のレコードを表示するようにサーバーに要求した場合にネットワーク上で作成されるトラフィックを示しています。 この例により、クライアント / サーバーアーキテクチャーとファイル共有アーキテクチャーでは 2つの点で大きく異なることがわかります:
ほとんどのクライアント / サーバーアーキテクチャーでは、クライアントソフトウェアとサーバーソフトウェアは2 つの異なる製品であり、互いに “通信” するためにはコミニュケーションレイヤーが必要です。4D Server では、クライアント / サーバーアーキテクチャーは完全に統合されています。4D Server と 4D は同一の構造を共有し、直接通信を行うアプリケーションです。 4D Server と 4D は同じ言語を使用するので、問い合わせ言語を翻訳する必要がありません。クライアントとサーバーの作業の分担は透過的であり、4D Server が自動的に管理します。 作業の分担は、1つの要求が 1つの応答を返す形で構成されています。図に示すように、クライアントには次の役割があります:
サーバーには次の役割があります:
この作業の分担は、4D Server と 4D が独自の形式で統合されているので、非常に効率良く行われます。4D Server のアーキテクチャーの統合はすべてのレベルに及んでいます:
上記のウィンドウは、一度に 5フィールドずつ 12レコードしか表示できないため、4D Server は 12レコードだけを送信します。レコード全体を送る代わりに、4D Server はウィンドウに表示できるだけの数のレコードとフィールドを送ります。ユーザーがフォームをスクロールした場合には、必要に応じて 4D Server から残りのレコードやフィールドが送信されます。この最適化により、レコードやフィールドは必要な場合にだけ送られ、ネットワーク使用量が削減されます。
|
プロパティ
プロダクト: 4D
履歴
ARTICLE USAGE
4D Server ( 4D v16) |