Distributed-dbms-database-environments
分散DBMS-データベース環境
チュートリアルのこのパートでは、分散データベース環境の設計を支援するさまざまな側面を学習します。 この章は、分散データベースの種類から始まります。 分散データベースは、さらに分割された同種および異種データベースに分類できます。 この章の次のセクションでは、分散アーキテクチャ、つまりクライアント-サーバー、ピア-ピア-ピア、マルチDBMSについて説明します。 最後に、複製や断片化などのさまざまな設計の選択肢が紹介されています。
分散データベースの種類
分散データベースは、次の図に示すように、さらに細分化された同種および異種の分散データベース環境に大きく分類できます。
同種分散データベース
同種の分散データベースでは、すべてのサイトが同一のDBMSとオペレーティングシステムを使用します。 その特性は-
- サイトは非常によく似たソフトウェアを使用しています。
- サイトは同一のDBMSまたは同じベンダーのDBMSを使用します。
- 各サイトは他のすべてのサイトを認識しており、他のサイトと協力してユーザーリクエストを処理します。
- データベースは、単一のデータベースであるかのように、単一のインターフェースを介してアクセスされます。
同種分散データベースの種類
同種分散データベースには2つのタイプがあります-
- 自律-各データベースは独立しており、独自に機能します。 これらは制御アプリケーションによって統合され、メッセージパッシングを使用してデータ更新を共有します。
- 非自律-データは同種のノードに分散され、中央またはマスターDBMSはサイト全体のデータ更新を調整します。
異種分散データベース
異種分散データベースでは、サイトごとにオペレーティングシステム、DBMS製品、データモデルが異なります。 その特性は-
- 異なるサイトは異なるスキーマとソフトウェアを使用しています。
- システムは、リレーショナル、ネットワーク、階層、またはオブジェクト指向のようなさまざまなDBMSで構成されます。
- スキーマが異なるため、クエリ処理は複雑です。
- トランザクション処理は、ソフトウェアが異なるため複雑です。
- サイトは他のサイトを認識していない可能性があるため、ユーザーリクエストの処理には限定的な協力があります。
異種分散データベースの種類
- 連合-異種データベースシステムは本質的に独立しており、単一のデータベースシステムとして機能するように統合されています。
- Un-federated -データベースシステムは、データベースへのアクセスに使用される中央調整モジュールを採用しています。
分散DBMSアーキテクチャ
DDBMSアーキテクチャは、一般的に3つのパラメータに応じて開発されています-
- Distribution -さまざまなサイトにわたるデータの物理的分布を示します。
- 自律-データベースシステムの制御の分布と、各構成DBMSが独立して動作できる程度を示します。
- 異質性-データモデル、システムコンポーネント、およびデータベースの均一性または非類似性を指します。
建築モデル
一般的なアーキテクチャモデルの一部は次のとおりです-
- クライアント-DDBMSのサーバーアーキテクチャ
- ピア-to-DDBMSのピアアーキテクチャ
- マルチDBMSアーキテクチャ
クライアント-DDBMSのサーバーアーキテクチャ
これは、機能がサーバーとクライアントに分かれている2レベルのアーキテクチャです。 サーバー機能には、主にデータ管理、クエリ処理、最適化、トランザクション管理が含まれます。 クライアント機能には、主にユーザーインターフェイスが含まれます。 ただし、整合性チェックやトランザクション管理などの機能がいくつかあります。
2つの異なるクライアント-サーバーアーキテクチャは-
- 単一サーバー複数クライアント
- 複数サーバー複数クライアント(次の図に示す)
DDBMSのピアツーピアアーキテクチャ
これらのシステムでは、各ピアはデータベースサービスを提供するためのクライアントおよびサーバーの両方として機能します。 ピアは他のピアとリソースを共有し、アクティビティを調整します。
このアーキテクチャには、通常、4つのレベルのスキーマがあります-
- Global Conceptual Schema -データのグローバル論理ビューを示します。
- ローカルコンセプトスキーマ-各サイトの論理データ編成を示します。
- ローカル内部スキーマ-各サイトの物理データ編成を示します。
- 外部スキーマ-データのユーザービューを示します。
マルチDBMSアーキテクチャ
これは、2つ以上の自律型データベースシステムの集合によって形成される統合データベースシステムです。
マルチDBMSは、スキーマの6つのレベルを介して表現することができます-
- マルチデータベースビューレベル-統合された分散データベースのサブセットで構成される複数のユーザービューを示します。
- マルチデータベース概念レベル-グローバル論理マルチデータベース構造定義で構成される統合マルチデータベースを示します。
- マルチデータベース内部レベル-異なるサイトおよびマルチデータベースからローカルデータへのデータマッピングを示します。
- ローカルデータベースビューレベル-ローカルデータのパブリックビューを示します。
- ローカルデータベースの概念レベル-各サイトのローカルデータ編成を示します。
- ローカルデータベース内部レベル-各サイトの物理データ編成を示します。
マルチDBMSには2つの設計の選択肢があります-
- マルチデータベースの概念レベルのモデル。
- マルチデータベースの概念レベルなしのモデル。
設計の選択肢
DDBMSのテーブルのディストリビューション設計の選択肢は次のとおりです-
- 複製されておらず、断片化されていない
- 完全に複製
- 部分的に複製
- 断片化
- 混合
複製されていない、断片化されていない
この設計代替案では、異なるテーブルが異なるサイトに配置されます。 データは、最も使用されているサイトに近接するように配置されます。 異なるサイトに配置されたテーブルの情報を結合するために必要なクエリの割合が低いデータベースシステムに最適です。 適切な分散戦略が採用されている場合、この設計代替案は、データ処理中の通信コストを削減するのに役立ちます。
完全に複製
この設計代替案では、各サイトに、すべてのデータベーステーブルの1つのコピーが格納されます。 各サイトにはデータベース全体の独自のコピーがあるため、クエリは非常に高速であり、通信コストはごくわずかです。 それどころか、データの膨大な冗長性は、更新操作中に膨大なコストを必要とします。 したがって、これは、データベースの更新回数が少ない一方で、大量のクエリを処理する必要があるシステムに適しています。
部分的に複製
テーブルのコピーまたはテーブルの一部は、異なるサイトに保存されます。 テーブルの配布は、アクセスの頻度に従って行われます。 これは、テーブルにアクセスする頻度がサイトごとにかなり異なるという事実を考慮しています。 テーブル(または部分)のコピーの数は、アクセスクエリが実行される頻度と、アクセスクエリを生成するサイトによって異なります。
断片化
この設計では、テーブルはフラグメントまたはパーティションと呼ばれる2つ以上の部分に分割され、各フラグメントは異なるサイトに格納できます。 これは、テーブルに格納されているすべてのデータが特定のサイトで必要になることはほとんどないという事実を考慮しています。 さらに、断片化により並列性が向上し、災害復旧が向上します。 ここでは、システム内の各フラグメントのコピーは1つだけです。 冗長データなし。
3つの断片化技術は次のとおりです-
- 垂直フラグメンテーション
- 水平フラグメンテーション
- ハイブリッドフラグメンテーション
混合分布
これは、断片化と部分複製の組み合わせです。 ここでは、テーブルは最初に任意の形式(水平または垂直)に断片化され、その後、これらのフラグメントは、フラグメントにアクセスする頻度に従って異なるサイトに部分的に複製されます。