4D v144D Serverアーキテクチャ |
||
|
4D v14
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 v13) |