ホームページ  >  記事  >  データベース  >  DDBMS の透過性の種類にはどのようなものがありますか?

DDBMS の透過性の種類にはどのようなものがありますか?

青灯夜游
青灯夜游オリジナル
2019-01-22 14:22:525938ブラウズ

透明性は分散データベース システム (DDBMS) の利点の 1 つですが、DDBMS における透明性とは何ですか?この記事では、DDBMS の透明性について説明し、透明性の種類を紹介します。お役に立てば幸いです。

DDBMS の透過性の種類にはどのようなものがありますか?

DDBMS における透明性とは何ですか?

透明性は、DDBMS ディストリビューションの内部詳細をユーザーから隠すために使用される分散データベースのプロパティであり、ユーザーがディストリビューションの内部詳細を表示することを許可しません。

透明性が重要な理由は使いやすさです。システムの透明性が高まるほど、ユーザーの認知的負荷は軽減されます。言い換えれば、透明性によりシステムの API が簡素化されます。

例: DDBMS 設計者は、テーブルをフラグメント化し、そのフラグメントをコピーして、別のサイトに保存することを選択する場合があります。ただし、ユーザーはこれらの詳細を理解していないため、分散データベースは集中型データベースと同様に使いやすいと考えています。

DDBMS の透過性のタイプ

DDBMS はさまざまなレベルの透過性を提供できます。これらは主に 4 つの主要な透過性タイプに分類されます。

● 配布の透明性

● トランザクションの透明性

● パフォーマンスの透明性。

● DBMS の透明性。

これは概要です:

配布の透明性

##配布の透明性により、ユーザーはデータベースを単一の論理エンティティとして扱うことができます。 BMS を追加して分散透明度を表示する場合、ユーザーはデータが詳細 (フラグメント透明度) であるか、データ項目の位置 (ローカル透明度) であるかを知る必要がありません。

ディストリビューションの透明性は次のレベルにも分類できます:

1. フラグメンテーションの透明性:

フラグメンテーションはディストリビューションの透明性の最高レベルです。 DDBMS が断片化の透過性を提供する場合、ユーザーはデータが断片化されていることを知る必要がないため、データベース アクセスはグローバル スキーマに基づいて行われます。

ユーザーは、断片化されない方法で任意のテーブルにアクセスできます。テーブルがセグメント化されていること、および複数のサイトにわたるセグメントの位置に関する情報はユーザーには隠されています。

SQL ビューも同様に機能します。ユーザーは、元のテーブルではなくテーブルのビューを表示しているという事実に気づきません。

2. ポジションの透明性:

ポジションは、配布の透明性の中間レベルです。位置の透過性により、ユーザーは、データの位置を知らなくても、あたかもユーザーのサイトにローカルに保存されているかのように、任意のテーブルまたはテーブルのフラグメントをクエリできます。

そのテーブルまたはそのフラグメントが分散データベース システムのリモート サイトに保存されているという事実は、エンド ユーザーによって完全に無視されるべきです。リモート サイトのアドレスとアクセス メカニズムは完全に隠蔽されます。

場所の透過性を組み込むには、DDBMS は、データの場所の詳細を含む、更新された正確なデータ ディクショナリと DDBMS カタログにアクセスできる必要があります。

3. レプリケーションの透過性:

レプリケーションの透過性により、データベースのレプリケーションをユーザーから隠します。ユーザーは、任意のテーブルに元のテーブルとしてアクセスできます。

ユーザーがデータを更新すると、そのデータは更新され、複数のサイトのすべてのテーブルに反映されます。これはユーザーには隠されており、同時実行の透過性と呼ばれます。コピーをレプリケートすると、サイト障害が発生した場合でも、ユーザーは障害を意識することなくクエリを継続することが容易になります。これを障害の透過性と呼びます。

4. ローカル マッピングの透明性:

これは、配布の透明性の最低レベルです。ローカル マッピングの透過性を使用すると、ユーザーは、存在する可能性のある重複を考慮して、データ項目のフラグメント名と場所を指定する必要があります。

明らかに、これはユーザーにとって最初のクエリよりも複雑で時間のかかるクエリです。このレベルの tr_sparency を提供するシステムは、エンド ユーザーに受け入れられる可能性は低いです。

トランザクションの透明性

DDBMS 環境におけるトランザクションの透明性により、すべての分散トランザクションが分散データベースの整合性と一貫性を維持することが保証されます。分散トランザクションは、リモートの場所に保存されているデータにアクセスします。各トランザクションはいくつかのサブトランザクションに分割されており、それぞれが訪問する必要があるサイトに対応しており、サブトランザクションはエージェントによって表されます。

DDBMS は、各サブトランザクションのアトミック性も保証する必要があります。断片化、割り当て、レプリケーション スキームにより、分散 DBMS におけるトランザクションの透過性が複雑になります。

パフォーマンスの透明性

パフォーマンスの透明性を実現するには、DDBMS が集中型 DBMS のように動作する必要があります。分散環境では、ネットワークの存在など、分散アーキテクチャが原因でシステムのパフォーマンスが低下することがあります。また、パフォーマンスの透過性を確保するには、DDBMS がリクエストを実行するための最もコスト効率の高い戦略を決定する必要があります。

集中型 DBMS では、クエリ プロセッサ (QP) が各データ リクエストを評価し、データベース上で順序付けられた一連の操作で構成される最適な実行戦略を見つける必要があります。分散環境では、分散クエリ プロセッサ (DQP) がデータ要求をローカル データベース上の順序付けされた一連の操作にマップします。断片化、コピー、割り当てパターンが考慮され、複雑さが増します。

DQP は次のことを決定する必要があります:

● どのフラグメントにアクセスする必要があるか?

● フラグメントがコピーされる場合、どのフラグメント コピーを使用する必要がありますか?

● 使用される場所。

DQP は、いくつかのコスト関数に対して最適化された実行ポリシーを生成します。通常、分散リクエストに関連するコストは次のとおりです。

● ディスク上の物理データへのアクセスに伴うアクセス時間 (I/O) コスト

● メイン メモリ内のデータの実行 CPU 時間。運用中に発生するコスト。

● ネットワーク上のデータ送信に関連する通信コスト。

最初の 2 つの要素は、集中型システムで考慮される唯一の要素です。分散環境では、DDBMS は通信コストを考慮する必要があります。通信コストは、数キロバイト/秒の帯域幅を持つ WAN では最も支配的な要素となります。この場合、最適化では I/O と CPU のコストが無視される可能性があります。ただし、LAN の帯域幅はディスクの帯域幅に匹敵するため、この場合、最適化では I/O と CPU のコストを完全に無視する必要はありません。

DBMS の透明性。

DBMS 透過性は、ローカル DBMS が異なる可能性があるため、異種 DDBMS でのみ機能するという知識を隠します。これは、透明性を提供するのが最も難しい形式の 1 つです。

以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

以上がDDBMS の透過性の種類にはどのようなものがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。