Download - データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

Transcript
Page 1: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 1

データベース論データベース論データベース論データベース論データベース論データベース論データベース論データベース論

朝日大学大学院朝日大学大学院朝日大学大学院朝日大学大学院朝日大学大学院朝日大学大学院朝日大学大学院朝日大学大学院

経営学研究科経営学研究科経営学研究科経営学研究科経営学研究科経営学研究科経営学研究科経営学研究科

奥山奥山奥山奥山奥山奥山奥山奥山 徹徹徹徹徹徹徹徹

[email protected]@alice.asahi--u.ac.jpu.ac.jp

Page 2: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 2

講義日程講義日程講義日程講義日程講義日程講義日程講義日程講義日程

•• 44月月月月月月月月1177日日日日日日日日 ガイダンスおよび集合論の基礎ガイダンスおよび集合論の基礎ガイダンスおよび集合論の基礎ガイダンスおよび集合論の基礎ガイダンスおよび集合論の基礎ガイダンスおよび集合論の基礎ガイダンスおよび集合論の基礎ガイダンスおよび集合論の基礎•• 44月月月月月月月月2244日日日日日日日日 リレーショナルデータベースの基礎リレーショナルデータベースの基礎リレーショナルデータベースの基礎リレーショナルデータベースの基礎リレーショナルデータベースの基礎リレーショナルデータベースの基礎リレーショナルデータベースの基礎リレーショナルデータベースの基礎•• 55月月月月月月月月0011日日日日日日日日 データ操作言語データ操作言語データ操作言語データ操作言語データ操作言語データ操作言語データ操作言語データ操作言語•• 55月月月月月月月月0808日日日日日日日日 データベースの論理設計データベースの論理設計データベースの論理設計データベースの論理設計データベースの論理設計データベースの論理設計データベースの論理設計データベースの論理設計•• 55月月月月月月月月1515日日日日日日日日 SQLSQL(データベース操作言語)の基礎(データベース操作言語)の基礎(データベース操作言語)の基礎(データベース操作言語)の基礎(データベース操作言語)の基礎(データベース操作言語)の基礎(データベース操作言語)の基礎(データベース操作言語)の基礎•• 55月月月月月月月月2222日日日日日日日日 データベース管理システムデータベース管理システムデータベース管理システムデータベース管理システムデータベース管理システムデータベース管理システムデータベース管理システムデータベース管理システム•• 55月月月月月月月月2929日日日日日日日日 データベースの内部スキーマデータベースの内部スキーマデータベースの内部スキーマデータベースの内部スキーマデータベースの内部スキーマデータベースの内部スキーマデータベースの内部スキーマデータベースの内部スキーマ•• 66月月月月月月月月0505日日日日日日日日 質問処理とその最適化質問処理とその最適化質問処理とその最適化質問処理とその最適化質問処理とその最適化質問処理とその最適化質問処理とその最適化質問処理とその最適化•• 66月月月月月月月月1212日日日日日日日日 トランザクション処理トランザクション処理トランザクション処理トランザクション処理トランザクション処理トランザクション処理トランザクション処理トランザクション処理•• 66月月月月月月月月1199日日日日日日日日 分散データベース序説分散データベース序説分散データベース序説分散データベース序説分散データベース序説分散データベース序説分散データベース序説分散データベース序説•• 66月月月月月月月月2626日日日日日日日日 定期試験定期試験定期試験定期試験定期試験定期試験定期試験定期試験

Page 3: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 3

集中型集中型集中型集中型集中型集中型集中型集中型 vsvs分散型分散型分散型分散型分散型分散型分散型分散型

•• 19801980年代:データベースは集中型が主流年代:データベースは集中型が主流年代:データベースは集中型が主流年代:データベースは集中型が主流年代:データベースは集中型が主流年代:データベースは集中型が主流年代:データベースは集中型が主流年代:データベースは集中型が主流

•• 集中型データベース:集中型データベース:集中型データベース:集中型データベース:集中型データベース:集中型データベース:集中型データベース:集中型データベース:

•• 19801980年代半ばから分散型への移行が始年代半ばから分散型への移行が始年代半ばから分散型への移行が始年代半ばから分散型への移行が始年代半ばから分散型への移行が始年代半ばから分散型への移行が始年代半ばから分散型への移行が始年代半ばから分散型への移行が始

まったまったまったまったまったまったまったまった

大型大型大型大型大型大型大型大型汎用汎用汎用汎用汎用汎用汎用汎用

コンピュータコンピュータコンピュータコンピュータコンピュータコンピュータコンピュータコンピュータ大きな大きな大きな大きな大きな大きな大きな大きなディスクディスクディスクディスクディスクディスクディスクディスク

大きなディスク大きなディスク大きなディスク大きなディスク大きなディスク大きなディスク大きなディスク大きなディスクは金食い虫は金食い虫は金食い虫は金食い虫は金食い虫は金食い虫は金食い虫は金食い虫

リソースをリソースをリソースをリソースをリソースをリソースをリソースをリソースを集中管理集中管理集中管理集中管理集中管理集中管理集中管理集中管理

トランザトランザトランザトランザトランザトランザトランザトランザクションクションクションクションクションクションクションクションを管理を管理を管理を管理を管理を管理を管理を管理

Page 4: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 4

なぜ分散なのか?なぜ分散なのか?なぜ分散なのか?なぜ分散なのか?なぜ分散なのか?なぜ分散なのか?なぜ分散なのか?なぜ分散なのか?

•• VLSIVLSIプロセッサやメモリ構成要素のコストが劇的に下がり、いまなプロセッサやメモリ構成要素のコストが劇的に下がり、いまなプロセッサやメモリ構成要素のコストが劇的に下がり、いまなプロセッサやメモリ構成要素のコストが劇的に下がり、いまなプロセッサやメモリ構成要素のコストが劇的に下がり、いまなプロセッサやメモリ構成要素のコストが劇的に下がり、いまなプロセッサやメモリ構成要素のコストが劇的に下がり、いまなプロセッサやメモリ構成要素のコストが劇的に下がり、いまなおその傾向が続いているおその傾向が続いているおその傾向が続いているおその傾向が続いているおその傾向が続いているおその傾向が続いているおその傾向が続いているおその傾向が続いている

•• 高速コンピュータネットワークの技術が適度なコストで広く利用可能高速コンピュータネットワークの技術が適度なコストで広く利用可能高速コンピュータネットワークの技術が適度なコストで広く利用可能高速コンピュータネットワークの技術が適度なコストで広く利用可能高速コンピュータネットワークの技術が適度なコストで広く利用可能高速コンピュータネットワークの技術が適度なコストで広く利用可能高速コンピュータネットワークの技術が適度なコストで広く利用可能高速コンピュータネットワークの技術が適度なコストで広く利用可能になったになったになったになったになったになったになったになった

•• 大規模な集中システムにおける対話型サービスは、長く、予測不能大規模な集中システムにおける対話型サービスは、長く、予測不能大規模な集中システムにおける対話型サービスは、長く、予測不能大規模な集中システムにおける対話型サービスは、長く、予測不能大規模な集中システムにおける対話型サービスは、長く、予測不能大規模な集中システムにおける対話型サービスは、長く、予測不能大規模な集中システムにおける対話型サービスは、長く、予測不能大規模な集中システムにおける対話型サービスは、長く、予測不能な応答時間、制限されたユーザインターフェイス、およびユーザのな応答時間、制限されたユーザインターフェイス、およびユーザのな応答時間、制限されたユーザインターフェイス、およびユーザのな応答時間、制限されたユーザインターフェイス、およびユーザのな応答時間、制限されたユーザインターフェイス、およびユーザのな応答時間、制限されたユーザインターフェイス、およびユーザのな応答時間、制限されたユーザインターフェイス、およびユーザのな応答時間、制限されたユーザインターフェイス、およびユーザの要求に合わせてハードウェアやソフトウェアを構成することが困難要求に合わせてハードウェアやソフトウェアを構成することが困難要求に合わせてハードウェアやソフトウェアを構成することが困難要求に合わせてハードウェアやソフトウェアを構成することが困難要求に合わせてハードウェアやソフトウェアを構成することが困難要求に合わせてハードウェアやソフトウェアを構成することが困難要求に合わせてハードウェアやソフトウェアを構成することが困難要求に合わせてハードウェアやソフトウェアを構成することが困難なため、しばしば質の悪いものになるなため、しばしば質の悪いものになるなため、しばしば質の悪いものになるなため、しばしば質の悪いものになるなため、しばしば質の悪いものになるなため、しばしば質の悪いものになるなため、しばしば質の悪いものになるなため、しばしば質の悪いものになる

•• ユーザはますます広範なアプリケーション機能を要求している。例ユーザはますます広範なアプリケーション機能を要求している。例ユーザはますます広範なアプリケーション機能を要求している。例ユーザはますます広範なアプリケーション機能を要求している。例ユーザはますます広範なアプリケーション機能を要求している。例ユーザはますます広範なアプリケーション機能を要求している。例ユーザはますます広範なアプリケーション機能を要求している。例ユーザはますます広範なアプリケーション機能を要求している。例えばネットワークベースの通信、複雑な情報検索、マルチフォントテえばネットワークベースの通信、複雑な情報検索、マルチフォントテえばネットワークベースの通信、複雑な情報検索、マルチフォントテえばネットワークベースの通信、複雑な情報検索、マルチフォントテえばネットワークベースの通信、複雑な情報検索、マルチフォントテえばネットワークベースの通信、複雑な情報検索、マルチフォントテえばネットワークベースの通信、複雑な情報検索、マルチフォントテえばネットワークベースの通信、複雑な情報検索、マルチフォントテキスト処理、対話型グガフィックス、高度な対話的インターフェイスキスト処理、対話型グガフィックス、高度な対話的インターフェイスキスト処理、対話型グガフィックス、高度な対話的インターフェイスキスト処理、対話型グガフィックス、高度な対話的インターフェイスキスト処理、対話型グガフィックス、高度な対話的インターフェイスキスト処理、対話型グガフィックス、高度な対話的インターフェイスキスト処理、対話型グガフィックス、高度な対話的インターフェイスキスト処理、対話型グガフィックス、高度な対話的インターフェイスなど。集中型システムでそれらすべてを完備するのは不可能であなど。集中型システムでそれらすべてを完備するのは不可能であなど。集中型システムでそれらすべてを完備するのは不可能であなど。集中型システムでそれらすべてを完備するのは不可能であなど。集中型システムでそれらすべてを完備するのは不可能であなど。集中型システムでそれらすべてを完備するのは不可能であなど。集中型システムでそれらすべてを完備するのは不可能であなど。集中型システムでそれらすべてを完備するのは不可能であるるるるるるるる

Page 5: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 5

分散と分散システム分散と分散システム分散と分散システム分散と分散システム分散と分散システム分散と分散システム分散と分散システム分散と分散システム

•• 分離分離分離分離分離分離分離分離::::::::–– 構成要素の分離は分散システムの本質構成要素の分離は分散システムの本質構成要素の分離は分散システムの本質構成要素の分離は分散システムの本質構成要素の分離は分散システムの本質構成要素の分離は分散システムの本質構成要素の分離は分散システムの本質構成要素の分離は分散システムの本質

–– 分離されたシステムでは通信の必要性、明白なシステム管分離されたシステムでは通信の必要性、明白なシステム管分離されたシステムでは通信の必要性、明白なシステム管分離されたシステムでは通信の必要性、明白なシステム管分離されたシステムでは通信の必要性、明白なシステム管分離されたシステムでは通信の必要性、明白なシステム管分離されたシステムでは通信の必要性、明白なシステム管分離されたシステムでは通信の必要性、明白なシステム管理と統合技術の必要性理と統合技術の必要性理と統合技術の必要性理と統合技術の必要性理と統合技術の必要性理と統合技術の必要性理と統合技術の必要性理と統合技術の必要性

•• 透過性透過性透過性透過性透過性透過性透過性透過性::::::::–– ユーザやアプリケーションプログラマから分離を隠ぺいするユーザやアプリケーションプログラマから分離を隠ぺいするユーザやアプリケーションプログラマから分離を隠ぺいするユーザやアプリケーションプログラマから分離を隠ぺいするユーザやアプリケーションプログラマから分離を隠ぺいするユーザやアプリケーションプログラマから分離を隠ぺいするユーザやアプリケーションプログラマから分離を隠ぺいするユーザやアプリケーションプログラマから分離を隠ぺいする

ものものものものものものものもの

–– アクセス透過性、位置透過性、平行透過性、複製透過性、障アクセス透過性、位置透過性、平行透過性、複製透過性、障アクセス透過性、位置透過性、平行透過性、複製透過性、障アクセス透過性、位置透過性、平行透過性、複製透過性、障アクセス透過性、位置透過性、平行透過性、複製透過性、障アクセス透過性、位置透過性、平行透過性、複製透過性、障アクセス透過性、位置透過性、平行透過性、複製透過性、障アクセス透過性、位置透過性、平行透過性、複製透過性、障害透過性、移動透過性、性能透過性、規模透過性害透過性、移動透過性、性能透過性、規模透過性害透過性、移動透過性、性能透過性、規模透過性害透過性、移動透過性、性能透過性、規模透過性害透過性、移動透過性、性能透過性、規模透過性害透過性、移動透過性、性能透過性、規模透過性害透過性、移動透過性、性能透過性、規模透過性害透過性、移動透過性、性能透過性、規模透過性

•• 分散システムの定義:分散システムの定義:分散システムの定義:分散システムの定義:分散システムの定義:分散システムの定義:分散システムの定義:分散システムの定義:–– 分離と透過性により作り出された仮想的な巨大なコンピュー分離と透過性により作り出された仮想的な巨大なコンピュー分離と透過性により作り出された仮想的な巨大なコンピュー分離と透過性により作り出された仮想的な巨大なコンピュー分離と透過性により作り出された仮想的な巨大なコンピュー分離と透過性により作り出された仮想的な巨大なコンピュー分離と透過性により作り出された仮想的な巨大なコンピュー分離と透過性により作り出された仮想的な巨大なコンピュー

タシステムと呼べるかも知れない。タシステムと呼べるかも知れない。タシステムと呼べるかも知れない。タシステムと呼べるかも知れない。タシステムと呼べるかも知れない。タシステムと呼べるかも知れない。タシステムと呼べるかも知れない。タシステムと呼べるかも知れない。

Page 6: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 6

何が分散されるのか何が分散されるのか何が分散されるのか何が分散されるのか何が分散されるのか何が分散されるのか何が分散されるのか何が分散されるのか

•• Processing LogicProcessing Logicの分散の分散の分散の分散の分散の分散の分散の分散

•• functionfunctionの分散の分散の分散の分散の分散の分散の分散の分散

•• datadataの分散の分散の分散の分散の分散の分散の分散の分散

•• controlcontrolの分散の分散の分散の分散の分散の分散の分散の分散

Page 7: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 7

疎結合システムモデル疎結合システムモデル疎結合システムモデル疎結合システムモデル疎結合システムモデル疎結合システムモデル疎結合システムモデル疎結合システムモデル

•• 疎結合システムモデル:疎結合システムモデル:疎結合システムモデル:疎結合システムモデル:疎結合システムモデル:疎結合システムモデル:疎結合システムモデル:疎結合システムモデル:

–– システム内のすべてのコンピュータの動作を協調させ、かつそれシステム内のすべてのコンピュータの動作を協調させ、かつそれシステム内のすべてのコンピュータの動作を協調させ、かつそれシステム内のすべてのコンピュータの動作を協調させ、かつそれシステム内のすべてのコンピュータの動作を協調させ、かつそれシステム内のすべてのコンピュータの動作を協調させ、かつそれシステム内のすべてのコンピュータの動作を協調させ、かつそれシステム内のすべてのコンピュータの動作を協調させ、かつそれらの間でデータを転送するためにネットワークを使用するモデルらの間でデータを転送するためにネットワークを使用するモデルらの間でデータを転送するためにネットワークを使用するモデルらの間でデータを転送するためにネットワークを使用するモデルらの間でデータを転送するためにネットワークを使用するモデルらの間でデータを転送するためにネットワークを使用するモデルらの間でデータを転送するためにネットワークを使用するモデルらの間でデータを転送するためにネットワークを使用するモデル

–– 単一利用者のコンピュータシステムとしてのワークステーション単一利用者のコンピュータシステムとしてのワークステーション単一利用者のコンピュータシステムとしてのワークステーション単一利用者のコンピュータシステムとしてのワークステーション単一利用者のコンピュータシステムとしてのワークステーション単一利用者のコンピュータシステムとしてのワークステーション単一利用者のコンピュータシステムとしてのワークステーション単一利用者のコンピュータシステムとしてのワークステーション}}の能力と柔軟性を利用し、それらが高速のの能力と柔軟性を利用し、それらが高速のの能力と柔軟性を利用し、それらが高速のの能力と柔軟性を利用し、それらが高速のの能力と柔軟性を利用し、それらが高速のの能力と柔軟性を利用し、それらが高速のの能力と柔軟性を利用し、それらが高速のの能力と柔軟性を利用し、それらが高速のLANLANを介して他のを介して他のを介して他のを介して他のを介して他のを介して他のを介して他のを介して他の

サーバコンピュータ上の資源をアクセスするサーバコンピュータ上の資源をアクセスするサーバコンピュータ上の資源をアクセスするサーバコンピュータ上の資源をアクセスするサーバコンピュータ上の資源をアクセスするサーバコンピュータ上の資源をアクセスするサーバコンピュータ上の資源をアクセスするサーバコンピュータ上の資源をアクセスする

–– ワークステーションサーバモデルあるいはクライアント-サーバモワークステーションサーバモデルあるいはクライアント-サーバモワークステーションサーバモデルあるいはクライアント-サーバモワークステーションサーバモデルあるいはクライアント-サーバモワークステーションサーバモデルあるいはクライアント-サーバモワークステーションサーバモデルあるいはクライアント-サーバモワークステーションサーバモデルあるいはクライアント-サーバモワークステーションサーバモデルあるいはクライアント-サーバモデルとデルとデルとデルとデルとデルとデルとデルと呼ばる呼ばる呼ばる呼ばる呼ばる呼ばる呼ばる呼ばる

•• 密結合システムモデル:密結合システムモデル:密結合システムモデル:密結合システムモデル:密結合システムモデル:密結合システムモデル:密結合システムモデル:密結合システムモデル:

–– マルチプロセッサモデルとして取り扱われ、並列処理を基礎とすマルチプロセッサモデルとして取り扱われ、並列処理を基礎とすマルチプロセッサモデルとして取り扱われ、並列処理を基礎とすマルチプロセッサモデルとして取り扱われ、並列処理を基礎とすマルチプロセッサモデルとして取り扱われ、並列処理を基礎とすマルチプロセッサモデルとして取り扱われ、並列処理を基礎とすマルチプロセッサモデルとして取り扱われ、並列処理を基礎とすマルチプロセッサモデルとして取り扱われ、並列処理を基礎とする並列コンピュータという一群の新しいアーキテクチャモデルによる並列コンピュータという一群の新しいアーキテクチャモデルによる並列コンピュータという一群の新しいアーキテクチャモデルによる並列コンピュータという一群の新しいアーキテクチャモデルによる並列コンピュータという一群の新しいアーキテクチャモデルによる並列コンピュータという一群の新しいアーキテクチャモデルによる並列コンピュータという一群の新しいアーキテクチャモデルによる並列コンピュータという一群の新しいアーキテクチャモデルによるコンピュータを提供するモデルるコンピュータを提供するモデルるコンピュータを提供するモデルるコンピュータを提供するモデルるコンピュータを提供するモデルるコンピュータを提供するモデルるコンピュータを提供するモデルるコンピュータを提供するモデル

Page 8: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 8

分離と透過性再び分離と透過性再び分離と透過性再び分離と透過性再び分離と透過性再び分離と透過性再び分離と透過性再び分離と透過性再び

•• 構成要素の分離:構成要素の分離:構成要素の分離:構成要素の分離:構成要素の分離:構成要素の分離:構成要素の分離:構成要素の分離:–– 分散システムの本質的な要件分散システムの本質的な要件分散システムの本質的な要件分散システムの本質的な要件分散システムの本質的な要件分散システムの本質的な要件分散システムの本質的な要件分散システムの本質的な要件

–– 通信系は不可欠であり、通信系を介したシス通信系は不可欠であり、通信系を介したシス通信系は不可欠であり、通信系を介したシス通信系は不可欠であり、通信系を介したシス通信系は不可欠であり、通信系を介したシス通信系は不可欠であり、通信系を介したシス通信系は不可欠であり、通信系を介したシス通信系は不可欠であり、通信系を介したシステム管理及びその統合技術が必要テム管理及びその統合技術が必要テム管理及びその統合技術が必要テム管理及びその統合技術が必要テム管理及びその統合技術が必要テム管理及びその統合技術が必要テム管理及びその統合技術が必要テム管理及びその統合技術が必要

•• プログラムの並列実行プログラムの並列実行プログラムの並列実行プログラムの並列実行プログラムの並列実行プログラムの並列実行プログラムの並列実行プログラムの並列実行

•• 構成要素の障害の封じ込め対策構成要素の障害の封じ込め対策構成要素の障害の封じ込め対策構成要素の障害の封じ込め対策構成要素の障害の封じ込め対策構成要素の障害の封じ込め対策構成要素の障害の封じ込め対策構成要素の障害の封じ込め対策

•• システムの混乱なしに障害を回復する機能システムの混乱なしに障害を回復する機能システムの混乱なしに障害を回復する機能システムの混乱なしに障害を回復する機能システムの混乱なしに障害を回復する機能システムの混乱なしに障害を回復する機能システムの混乱なしに障害を回復する機能システムの混乱なしに障害を回復する機能

•• セキュリティの強化のための孤立化と相互ロックセキュリティの強化のための孤立化と相互ロックセキュリティの強化のための孤立化と相互ロックセキュリティの強化のための孤立化と相互ロックセキュリティの強化のための孤立化と相互ロックセキュリティの強化のための孤立化と相互ロックセキュリティの強化のための孤立化と相互ロックセキュリティの強化のための孤立化と相互ロック機能機能機能機能機能機能機能機能

•• 構成要素の容易な追加または削除の方法構成要素の容易な追加または削除の方法構成要素の容易な追加または削除の方法構成要素の容易な追加または削除の方法構成要素の容易な追加または削除の方法構成要素の容易な追加または削除の方法構成要素の容易な追加または削除の方法構成要素の容易な追加または削除の方法

Page 9: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 9

分離と透過性再び分離と透過性再び分離と透過性再び分離と透過性再び分離と透過性再び分離と透過性再び分離と透過性再び分離と透過性再び(2)(2)

•• 透過性:透過性:透過性:透過性:透過性:透過性:透過性:透過性:–– ユーザや応用プログラマから分離を隠蔽するユーザや応用プログラマから分離を隠蔽するユーザや応用プログラマから分離を隠蔽するユーザや応用プログラマから分離を隠蔽するユーザや応用プログラマから分離を隠蔽するユーザや応用プログラマから分離を隠蔽するユーザや応用プログラマから分離を隠蔽するユーザや応用プログラマから分離を隠蔽する

–– システムは独立した個々の構成要素の集合としてでシステムは独立した個々の構成要素の集合としてでシステムは独立した個々の構成要素の集合としてでシステムは独立した個々の構成要素の集合としてでシステムは独立した個々の構成要素の集合としてでシステムは独立した個々の構成要素の集合としてでシステムは独立した個々の構成要素の集合としてでシステムは独立した個々の構成要素の集合としてではなく、全体として一つのものと認識されるはなく、全体として一つのものと認識されるはなく、全体として一つのものと認識されるはなく、全体として一つのものと認識されるはなく、全体として一つのものと認識されるはなく、全体として一つのものと認識されるはなく、全体として一つのものと認識されるはなく、全体として一つのものと認識される

–– 透過性はシステムソフトウェアの設計に重大な影響透過性はシステムソフトウェアの設計に重大な影響透過性はシステムソフトウェアの設計に重大な影響透過性はシステムソフトウェアの設計に重大な影響透過性はシステムソフトウェアの設計に重大な影響透過性はシステムソフトウェアの設計に重大な影響透過性はシステムソフトウェアの設計に重大な影響透過性はシステムソフトウェアの設計に重大な影響を与えるを与えるを与えるを与えるを与えるを与えるを与えるを与える

•• アクセス透過性アクセス透過性アクセス透過性アクセス透過性アクセス透過性アクセス透過性アクセス透過性アクセス透過性: : リモートとローカルのオブジェクトに対してリモートとローカルのオブジェクトに対してリモートとローカルのオブジェクトに対してリモートとローカルのオブジェクトに対してリモートとローカルのオブジェクトに対してリモートとローカルのオブジェクトに対してリモートとローカルのオブジェクトに対してリモートとローカルのオブジェクトに対して統一的な操作でアクセス可能とする統一的な操作でアクセス可能とする統一的な操作でアクセス可能とする統一的な操作でアクセス可能とする統一的な操作でアクセス可能とする統一的な操作でアクセス可能とする統一的な操作でアクセス可能とする統一的な操作でアクセス可能とする

•• 位置透過性位置透過性位置透過性位置透過性位置透過性位置透過性位置透過性位置透過性: : オブジェクトの位置を知ること無く、それへのオブジェクトの位置を知ること無く、それへのオブジェクトの位置を知ること無く、それへのオブジェクトの位置を知ること無く、それへのオブジェクトの位置を知ること無く、それへのオブジェクトの位置を知ること無く、それへのオブジェクトの位置を知ること無く、それへのオブジェクトの位置を知ること無く、それへのアクセスを可能とするアクセスを可能とするアクセスを可能とするアクセスを可能とするアクセスを可能とするアクセスを可能とするアクセスを可能とするアクセスを可能とする

•• 並行透過性並行透過性並行透過性並行透過性並行透過性並行透過性並行透過性並行透過性: : 複数のユーザや応用プログラムが互いに干複数のユーザや応用プログラムが互いに干複数のユーザや応用プログラムが互いに干複数のユーザや応用プログラムが互いに干複数のユーザや応用プログラムが互いに干複数のユーザや応用プログラムが互いに干複数のユーザや応用プログラムが互いに干複数のユーザや応用プログラムが互いに干渉すること無く、共有データに並列にアクセスできることを渉すること無く、共有データに並列にアクセスできることを渉すること無く、共有データに並列にアクセスできることを渉すること無く、共有データに並列にアクセスできることを渉すること無く、共有データに並列にアクセスできることを渉すること無く、共有データに並列にアクセスできることを渉すること無く、共有データに並列にアクセスできることを渉すること無く、共有データに並列にアクセスできることを可能にする可能にする可能にする可能にする可能にする可能にする可能にする可能にする

Page 10: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 10

分離と透過性再び分離と透過性再び分離と透過性再び分離と透過性再び分離と透過性再び分離と透過性再び分離と透過性再び分離と透過性再び(3)(3)

•• 複製透過性複製透過性複製透過性複製透過性複製透過性複製透過性複製透過性複製透過性: : ユーザや応用プログラムが複製されているこユーザや応用プログラムが複製されているこユーザや応用プログラムが複製されているこユーザや応用プログラムが複製されているこユーザや応用プログラムが複製されているこユーザや応用プログラムが複製されているこユーザや応用プログラムが複製されているこユーザや応用プログラムが複製されていることを知ること無しに、信頼性や性能を向上させるためにファとを知ること無しに、信頼性や性能を向上させるためにファとを知ること無しに、信頼性や性能を向上させるためにファとを知ること無しに、信頼性や性能を向上させるためにファとを知ること無しに、信頼性や性能を向上させるためにファとを知ること無しに、信頼性や性能を向上させるためにファとを知ること無しに、信頼性や性能を向上させるためにファとを知ること無しに、信頼性や性能を向上させるためにファイルや他のデータの複製の実体を使用することを可能にすイルや他のデータの複製の実体を使用することを可能にすイルや他のデータの複製の実体を使用することを可能にすイルや他のデータの複製の実体を使用することを可能にすイルや他のデータの複製の実体を使用することを可能にすイルや他のデータの複製の実体を使用することを可能にすイルや他のデータの複製の実体を使用することを可能にすイルや他のデータの複製の実体を使用することを可能にするるるるるるるる

•• 障害透過性障害透過性障害透過性障害透過性障害透過性障害透過性障害透過性障害透過性: : 障害の隠蔽を可能とし、ハードウェアやソフト障害の隠蔽を可能とし、ハードウェアやソフト障害の隠蔽を可能とし、ハードウェアやソフト障害の隠蔽を可能とし、ハードウェアやソフト障害の隠蔽を可能とし、ハードウェアやソフト障害の隠蔽を可能とし、ハードウェアやソフト障害の隠蔽を可能とし、ハードウェアやソフト障害の隠蔽を可能とし、ハードウェアやソフトウェアの障害にもかかわらず、ユーザや応用プログラムがウェアの障害にもかかわらず、ユーザや応用プログラムがウェアの障害にもかかわらず、ユーザや応用プログラムがウェアの障害にもかかわらず、ユーザや応用プログラムがウェアの障害にもかかわらず、ユーザや応用プログラムがウェアの障害にもかかわらず、ユーザや応用プログラムがウェアの障害にもかかわらず、ユーザや応用プログラムがウェアの障害にもかかわらず、ユーザや応用プログラムが仕事を完了することを可能とする仕事を完了することを可能とする仕事を完了することを可能とする仕事を完了することを可能とする仕事を完了することを可能とする仕事を完了することを可能とする仕事を完了することを可能とする仕事を完了することを可能とする

•• 移動透過性移動透過性移動透過性移動透過性移動透過性移動透過性移動透過性移動透過性: : ユーザや応用プログラムの操作に影響を与えユーザや応用プログラムの操作に影響を与えユーザや応用プログラムの操作に影響を与えユーザや応用プログラムの操作に影響を与えユーザや応用プログラムの操作に影響を与えユーザや応用プログラムの操作に影響を与えユーザや応用プログラムの操作に影響を与えユーザや応用プログラムの操作に影響を与えること無しに、システム内でのオブジェクトの移動を可能にること無しに、システム内でのオブジェクトの移動を可能にること無しに、システム内でのオブジェクトの移動を可能にること無しに、システム内でのオブジェクトの移動を可能にること無しに、システム内でのオブジェクトの移動を可能にること無しに、システム内でのオブジェクトの移動を可能にること無しに、システム内でのオブジェクトの移動を可能にること無しに、システム内でのオブジェクトの移動を可能にするするするするするするするする

•• 性能透過性性能透過性性能透過性性能透過性性能透過性性能透過性性能透過性性能透過性: : 負荷の変化に伴い、性能を向上させるために負荷の変化に伴い、性能を向上させるために負荷の変化に伴い、性能を向上させるために負荷の変化に伴い、性能を向上させるために負荷の変化に伴い、性能を向上させるために負荷の変化に伴い、性能を向上させるために負荷の変化に伴い、性能を向上させるために負荷の変化に伴い、性能を向上させるためにシステムの再構成を可能とするシステムの再構成を可能とするシステムの再構成を可能とするシステムの再構成を可能とするシステムの再構成を可能とするシステムの再構成を可能とするシステムの再構成を可能とするシステムの再構成を可能とする

•• 規模透過性規模透過性規模透過性規模透過性規模透過性規模透過性規模透過性規模透過性: : システムの構成や応用プログラムのアルゴリシステムの構成や応用プログラムのアルゴリシステムの構成や応用プログラムのアルゴリシステムの構成や応用プログラムのアルゴリシステムの構成や応用プログラムのアルゴリシステムの構成や応用プログラムのアルゴリシステムの構成や応用プログラムのアルゴリシステムの構成や応用プログラムのアルゴリズムを変更することなしに、システムや応用プログラムの規ズムを変更することなしに、システムや応用プログラムの規ズムを変更することなしに、システムや応用プログラムの規ズムを変更することなしに、システムや応用プログラムの規ズムを変更することなしに、システムや応用プログラムの規ズムを変更することなしに、システムや応用プログラムの規ズムを変更することなしに、システムや応用プログラムの規ズムを変更することなしに、システムや応用プログラムの規模拡張を可能とする模拡張を可能とする模拡張を可能とする模拡張を可能とする模拡張を可能とする模拡張を可能とする模拡張を可能とする模拡張を可能とする

Page 11: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 11

分散分散分散分散分散分散分散分散シスシスシスシスシスシスシスシステムテムテムテムテムテムテムテムののののののののファファファファファファファファイルイルイルイルイルイルイルイルサーサーサーサーサーサーサーサーバのバのバのバのバのバのバのバの特徴特徴特徴特徴特徴特徴特徴特徴

Page 12: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 12

ファイル共有システムの例ファイル共有システムの例ファイル共有システムの例ファイル共有システムの例ファイル共有システムの例ファイル共有システムの例ファイル共有システムの例ファイル共有システムの例NFS server file system

Page 13: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 13

分散システムの利点分散システムの利点分散システムの利点分散システムの利点分散システムの利点分散システムの利点分散システムの利点分散システムの利点

•• 予測可能な応答性予測可能な応答性予測可能な応答性予測可能な応答性予測可能な応答性予測可能な応答性予測可能な応答性予測可能な応答性

•• 拡張性拡張性拡張性拡張性拡張性拡張性拡張性拡張性

•• 資源の共有資源の共有資源の共有資源の共有資源の共有資源の共有資源の共有資源の共有

•• 多重化多重化多重化多重化多重化多重化多重化多重化

•• 継続利用可能性継続利用可能性継続利用可能性継続利用可能性継続利用可能性継続利用可能性継続利用可能性継続利用可能性

Page 14: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 14

予測可能な応答性予測可能な応答性予測可能な応答性予測可能な応答性予測可能な応答性予測可能な応答性予測可能な応答性予測可能な応答性

•• 対話的でしかも多大な処理能力を必要とする対話的でしかも多大な処理能力を必要とする対話的でしかも多大な処理能力を必要とする対話的でしかも多大な処理能力を必要とする対話的でしかも多大な処理能力を必要とする対話的でしかも多大な処理能力を必要とする対話的でしかも多大な処理能力を必要とする対話的でしかも多大な処理能力を必要とするユーザにとり魅力的ユーザにとり魅力的ユーザにとり魅力的ユーザにとり魅力的ユーザにとり魅力的ユーザにとり魅力的ユーザにとり魅力的ユーザにとり魅力的

•• 例えば、ワークステーションや例えば、ワークステーションや例えば、ワークステーションや例えば、ワークステーションや例えば、ワークステーションや例えば、ワークステーションや例えば、ワークステーションや例えば、ワークステーションやPCPCの処理能力はの処理能力はの処理能力はの処理能力はの処理能力はの処理能力はの処理能力はの処理能力は確実に増加しておりそれを個人で占有できる確実に増加しておりそれを個人で占有できる確実に増加しておりそれを個人で占有できる確実に増加しておりそれを個人で占有できる確実に増加しておりそれを個人で占有できる確実に増加しておりそれを個人で占有できる確実に増加しておりそれを個人で占有できる確実に増加しておりそれを個人で占有できる

•• ローカル処理される部分では、対話的な仕事へローカル処理される部分では、対話的な仕事へローカル処理される部分では、対話的な仕事へローカル処理される部分では、対話的な仕事へローカル処理される部分では、対話的な仕事へローカル処理される部分では、対話的な仕事へローカル処理される部分では、対話的な仕事へローカル処理される部分では、対話的な仕事への応答性が保証されるの応答性が保証されるの応答性が保証されるの応答性が保証されるの応答性が保証されるの応答性が保証されるの応答性が保証されるの応答性が保証される

•• リモート処理される部分はネットワークが十分早リモート処理される部分はネットワークが十分早リモート処理される部分はネットワークが十分早リモート処理される部分はネットワークが十分早リモート処理される部分はネットワークが十分早リモート処理される部分はネットワークが十分早リモート処理される部分はネットワークが十分早リモート処理される部分はネットワークが十分早ければ、リアルタイムでもバッチでも処理は効率ければ、リアルタイムでもバッチでも処理は効率ければ、リアルタイムでもバッチでも処理は効率ければ、リアルタイムでもバッチでも処理は効率ければ、リアルタイムでもバッチでも処理は効率ければ、リアルタイムでもバッチでも処理は効率ければ、リアルタイムでもバッチでも処理は効率ければ、リアルタイムでもバッチでも処理は効率化できる化できる化できる化できる化できる化できる化できる化できる

Page 15: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 15

拡張性拡張性拡張性拡張性拡張性拡張性拡張性拡張性

•• サービス要求が増大サービス要求が増大サービス要求が増大サービス要求が増大サービス要求が増大サービス要求が増大サービス要求が増大サービス要求が増大→→→→→→→→既存の構成要素を変更既存の構成要素を変更既存の構成要素を変更既存の構成要素を変更既存の構成要素を変更既存の構成要素を変更既存の構成要素を変更既存の構成要素を変更すること無しにシステムを拡張可能すること無しにシステムを拡張可能すること無しにシステムを拡張可能すること無しにシステムを拡張可能すること無しにシステムを拡張可能すること無しにシステムを拡張可能すること無しにシステムを拡張可能すること無しにシステムを拡張可能

•• 操作上の要求や新しい機能の追加は、新しい操作上の要求や新しい機能の追加は、新しい操作上の要求や新しい機能の追加は、新しい操作上の要求や新しい機能の追加は、新しい操作上の要求や新しい機能の追加は、新しい操作上の要求や新しい機能の追加は、新しい操作上の要求や新しい機能の追加は、新しい操作上の要求や新しい機能の追加は、新しいワークステーション(含むワークステーション(含むワークステーション(含むワークステーション(含むワークステーション(含むワークステーション(含むワークステーション(含むワークステーション(含むPCPC)やサーバで対処)やサーバで対処)やサーバで対処)やサーバで対処)やサーバで対処)やサーバで対処)やサーバで対処)やサーバで対処

–– ファイルサーバ、プリントサーバファイルサーバ、プリントサーバファイルサーバ、プリントサーバファイルサーバ、プリントサーバファイルサーバ、プリントサーバファイルサーバ、プリントサーバファイルサーバ、プリントサーバファイルサーバ、プリントサーバ

–– データベースサーバデータベースサーバデータベースサーバデータベースサーバデータベースサーバデータベースサーバデータベースサーバデータベースサーバ

•• 分散システムの拡張はネットワークの負荷を増分散システムの拡張はネットワークの負荷を増分散システムの拡張はネットワークの負荷を増分散システムの拡張はネットワークの負荷を増分散システムの拡張はネットワークの負荷を増分散システムの拡張はネットワークの負荷を増分散システムの拡張はネットワークの負荷を増分散システムの拡張はネットワークの負荷を増大させるため、ネットワークの帯域幅が拡張を大させるため、ネットワークの帯域幅が拡張を大させるため、ネットワークの帯域幅が拡張を大させるため、ネットワークの帯域幅が拡張を大させるため、ネットワークの帯域幅が拡張を大させるため、ネットワークの帯域幅が拡張を大させるため、ネットワークの帯域幅が拡張を大させるため、ネットワークの帯域幅が拡張を阻害する一つの要因阻害する一つの要因阻害する一つの要因阻害する一つの要因阻害する一つの要因阻害する一つの要因阻害する一つの要因阻害する一つの要因

Page 16: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 16

資源の共有資源の共有資源の共有資源の共有資源の共有資源の共有資源の共有資源の共有

•• 資源共有は分散システムの最も基本的な機能資源共有は分散システムの最も基本的な機能資源共有は分散システムの最も基本的な機能資源共有は分散システムの最も基本的な機能資源共有は分散システムの最も基本的な機能資源共有は分散システムの最も基本的な機能資源共有は分散システムの最も基本的な機能資源共有は分散システムの最も基本的な機能の一つの一つの一つの一つの一つの一つの一つの一つ

•• すべてのコンピュータが一つの分散システムのすべてのコンピュータが一つの分散システムのすべてのコンピュータが一つの分散システムのすべてのコンピュータが一つの分散システムのすべてのコンピュータが一つの分散システムのすべてのコンピュータが一つの分散システムのすべてのコンピュータが一つの分散システムのすべてのコンピュータが一つの分散システムの下に統合されているなら、ネットワーク上のすべ下に統合されているなら、ネットワーク上のすべ下に統合されているなら、ネットワーク上のすべ下に統合されているなら、ネットワーク上のすべ下に統合されているなら、ネットワーク上のすべ下に統合されているなら、ネットワーク上のすべ下に統合されているなら、ネットワーク上のすべ下に統合されているなら、ネットワーク上のすべてのコンピュータ間でプリンタやディスクなどのてのコンピュータ間でプリンタやディスクなどのてのコンピュータ間でプリンタやディスクなどのてのコンピュータ間でプリンタやディスクなどのてのコンピュータ間でプリンタやディスクなどのてのコンピュータ間でプリンタやディスクなどのてのコンピュータ間でプリンタやディスクなどのてのコンピュータ間でプリンタやディスクなどの周辺装置の共有が可能周辺装置の共有が可能周辺装置の共有が可能周辺装置の共有が可能周辺装置の共有が可能周辺装置の共有が可能周辺装置の共有が可能周辺装置の共有が可能

•• そうでなければ、個々のコンピュータはそれぞそうでなければ、個々のコンピュータはそれぞそうでなければ、個々のコンピュータはそれぞそうでなければ、個々のコンピュータはそれぞそうでなければ、個々のコンピュータはそれぞそうでなければ、個々のコンピュータはそれぞそうでなければ、個々のコンピュータはそれぞそうでなければ、個々のコンピュータはそれぞれが使える周辺機器を確保する必要があるれが使える周辺機器を確保する必要があるれが使える周辺機器を確保する必要があるれが使える周辺機器を確保する必要があるれが使える周辺機器を確保する必要があるれが使える周辺機器を確保する必要があるれが使える周辺機器を確保する必要があるれが使える周辺機器を確保する必要がある

•• ソースプログラムやデータも共有され得る資源ソースプログラムやデータも共有され得る資源ソースプログラムやデータも共有され得る資源ソースプログラムやデータも共有され得る資源ソースプログラムやデータも共有され得る資源ソースプログラムやデータも共有され得る資源ソースプログラムやデータも共有され得る資源ソースプログラムやデータも共有され得る資源の一部の一部の一部の一部の一部の一部の一部の一部

Page 17: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 17

多重化と継続利用可能性多重化と継続利用可能性多重化と継続利用可能性多重化と継続利用可能性多重化と継続利用可能性多重化と継続利用可能性多重化と継続利用可能性多重化と継続利用可能性

•• 多重化多重化多重化多重化多重化多重化多重化多重化

–– データを異なるいくつかのサーバに複製することにより、格納さデータを異なるいくつかのサーバに複製することにより、格納さデータを異なるいくつかのサーバに複製することにより、格納さデータを異なるいくつかのサーバに複製することにより、格納さデータを異なるいくつかのサーバに複製することにより、格納さデータを異なるいくつかのサーバに複製することにより、格納さデータを異なるいくつかのサーバに複製することにより、格納さデータを異なるいくつかのサーバに複製することにより、格納されている情報への高信頼で高速のアクセスが可能となるれている情報への高信頼で高速のアクセスが可能となるれている情報への高信頼で高速のアクセスが可能となるれている情報への高信頼で高速のアクセスが可能となるれている情報への高信頼で高速のアクセスが可能となるれている情報への高信頼で高速のアクセスが可能となるれている情報への高信頼で高速のアクセスが可能となるれている情報への高信頼で高速のアクセスが可能となる

–– 多重化には、それらの間の一貫性を確保するという別の問題も多重化には、それらの間の一貫性を確保するという別の問題も多重化には、それらの間の一貫性を確保するという別の問題も多重化には、それらの間の一貫性を確保するという別の問題も多重化には、それらの間の一貫性を確保するという別の問題も多重化には、それらの間の一貫性を確保するという別の問題も多重化には、それらの間の一貫性を確保するという別の問題も多重化には、それらの間の一貫性を確保するという別の問題も生じる生じる生じる生じる生じる生じる生じる生じる

•• 継続利用可能性継続利用可能性継続利用可能性継続利用可能性継続利用可能性継続利用可能性継続利用可能性継続利用可能性

–– 分散システムでは一つの構成要素が故障しても他の実行中の分散システムでは一つの構成要素が故障しても他の実行中の分散システムでは一つの構成要素が故障しても他の実行中の分散システムでは一つの構成要素が故障しても他の実行中の分散システムでは一つの構成要素が故障しても他の実行中の分散システムでは一つの構成要素が故障しても他の実行中の分散システムでは一つの構成要素が故障しても他の実行中の分散システムでは一つの構成要素が故障しても他の実行中の大部分の作業に支障を及ぼさない大部分の作業に支障を及ぼさない大部分の作業に支障を及ぼさない大部分の作業に支障を及ぼさない大部分の作業に支障を及ぼさない大部分の作業に支障を及ぼさない大部分の作業に支障を及ぼさない大部分の作業に支障を及ぼさない

–– 特に、クライアントの故障は局所的に抑え込むことが出来る特に、クライアントの故障は局所的に抑え込むことが出来る特に、クライアントの故障は局所的に抑え込むことが出来る特に、クライアントの故障は局所的に抑え込むことが出来る特に、クライアントの故障は局所的に抑え込むことが出来る特に、クライアントの故障は局所的に抑え込むことが出来る特に、クライアントの故障は局所的に抑え込むことが出来る特に、クライアントの故障は局所的に抑え込むことが出来る

–– サーバの故障などに対しては、多重化などで対処できるサーバの故障などに対しては、多重化などで対処できるサーバの故障などに対しては、多重化などで対処できるサーバの故障などに対しては、多重化などで対処できるサーバの故障などに対しては、多重化などで対処できるサーバの故障などに対しては、多重化などで対処できるサーバの故障などに対しては、多重化などで対処できるサーバの故障などに対しては、多重化などで対処できる

Page 18: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 18

分散システムの問題点分散システムの問題点分散システムの問題点分散システムの問題点分散システムの問題点分散システムの問題点分散システムの問題点分散システムの問題点

•• 資源の配置の問題資源の配置の問題資源の配置の問題資源の配置の問題資源の配置の問題資源の配置の問題資源の配置の問題資源の配置の問題

•• ネットワーク依存ネットワーク依存ネットワーク依存ネットワーク依存ネットワーク依存ネットワーク依存ネットワーク依存ネットワーク依存

•• セキュリティの問題セキュリティの問題セキュリティの問題セキュリティの問題セキュリティの問題セキュリティの問題セキュリティの問題セキュリティの問題

Page 19: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 19

資源配置の問題資源配置の問題資源配置の問題資源配置の問題資源配置の問題資源配置の問題資源配置の問題資源配置の問題

•• 集中型システムでは与えられた仕事の規模に集中型システムでは与えられた仕事の規模に集中型システムでは与えられた仕事の規模に集中型システムでは与えられた仕事の規模に集中型システムでは与えられた仕事の規模に集中型システムでは与えられた仕事の規模に集中型システムでは与えられた仕事の規模に集中型システムでは与えられた仕事の規模により、メモリやプロセッサ時間などの資源をより、メモリやプロセッサ時間などの資源をより、メモリやプロセッサ時間などの資源をより、メモリやプロセッサ時間などの資源をより、メモリやプロセッサ時間などの資源をより、メモリやプロセッサ時間などの資源をより、メモリやプロセッサ時間などの資源をより、メモリやプロセッサ時間などの資源をOSOSが再割当できるが再割当できるが再割当できるが再割当できるが再割当できるが再割当できるが再割当できるが再割当できる

•• 分散システムの場合、利用しているワークス分散システムの場合、利用しているワークス分散システムの場合、利用しているワークス分散システムの場合、利用しているワークス分散システムの場合、利用しているワークス分散システムの場合、利用しているワークス分散システムの場合、利用しているワークス分散システムの場合、利用しているワークステーションのプロセッサ能力及びメモリ容量によテーションのプロセッサ能力及びメモリ容量によテーションのプロセッサ能力及びメモリ容量によテーションのプロセッサ能力及びメモリ容量によテーションのプロセッサ能力及びメモリ容量によテーションのプロセッサ能力及びメモリ容量によテーションのプロセッサ能力及びメモリ容量によテーションのプロセッサ能力及びメモリ容量により対処できる仕事の大きさが決定されるり対処できる仕事の大きさが決定されるり対処できる仕事の大きさが決定されるり対処できる仕事の大きさが決定されるり対処できる仕事の大きさが決定されるり対処できる仕事の大きさが決定されるり対処できる仕事の大きさが決定されるり対処できる仕事の大きさが決定される

•• サーバの能力は接続されるクライアント数やサーバの能力は接続されるクライアント数やサーバの能力は接続されるクライアント数やサーバの能力は接続されるクライアント数やサーバの能力は接続されるクライアント数やサーバの能力は接続されるクライアント数やサーバの能力は接続されるクライアント数やサーバの能力は接続されるクライアント数やサービス処理能力で規定されるが、十分なサーサービス処理能力で規定されるが、十分なサーサービス処理能力で規定されるが、十分なサーサービス処理能力で規定されるが、十分なサーサービス処理能力で規定されるが、十分なサーサービス処理能力で規定されるが、十分なサーサービス処理能力で規定されるが、十分なサーサービス処理能力で規定されるが、十分なサービス資源を確保するためにはオーバースペックビス資源を確保するためにはオーバースペックビス資源を確保するためにはオーバースペックビス資源を確保するためにはオーバースペックビス資源を確保するためにはオーバースペックビス資源を確保するためにはオーバースペックビス資源を確保するためにはオーバースペックビス資源を確保するためにはオーバースペックになりやすいになりやすいになりやすいになりやすいになりやすいになりやすいになりやすいになりやすい

Page 20: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 20

ネットワーク依存ネットワーク依存ネットワーク依存ネットワーク依存ネットワーク依存ネットワーク依存ネットワーク依存ネットワーク依存

•• ネットワークの障害や過負荷はユーザに対するネットワークの障害や過負荷はユーザに対するネットワークの障害や過負荷はユーザに対するネットワークの障害や過負荷はユーザに対するネットワークの障害や過負荷はユーザに対するネットワークの障害や過負荷はユーザに対するネットワークの障害や過負荷はユーザに対するネットワークの障害や過負荷はユーザに対する性能と応答を低下させる性能と応答を低下させる性能と応答を低下させる性能と応答を低下させる性能と応答を低下させる性能と応答を低下させる性能と応答を低下させる性能と応答を低下させる

•• 高信頼性ネットワークの構築はいまだ研究段階高信頼性ネットワークの構築はいまだ研究段階高信頼性ネットワークの構築はいまだ研究段階高信頼性ネットワークの構築はいまだ研究段階高信頼性ネットワークの構築はいまだ研究段階高信頼性ネットワークの構築はいまだ研究段階高信頼性ネットワークの構築はいまだ研究段階高信頼性ネットワークの構築はいまだ研究段階であり、ネットワークの安定性を求めるには、であり、ネットワークの安定性を求めるには、であり、ネットワークの安定性を求めるには、であり、ネットワークの安定性を求めるには、であり、ネットワークの安定性を求めるには、であり、ネットワークの安定性を求めるには、であり、ネットワークの安定性を求めるには、であり、ネットワークの安定性を求めるには、ネットワーク自身の多重化などの投資を必要とネットワーク自身の多重化などの投資を必要とネットワーク自身の多重化などの投資を必要とネットワーク自身の多重化などの投資を必要とネットワーク自身の多重化などの投資を必要とネットワーク自身の多重化などの投資を必要とネットワーク自身の多重化などの投資を必要とネットワーク自身の多重化などの投資を必要とするするするするするするするする

•• 残念ながら、現状ではネットワークの障害を完残念ながら、現状ではネットワークの障害を完残念ながら、現状ではネットワークの障害を完残念ながら、現状ではネットワークの障害を完残念ながら、現状ではネットワークの障害を完残念ながら、現状ではネットワークの障害を完残念ながら、現状ではネットワークの障害を完残念ながら、現状ではネットワークの障害を完全に避けることは出来ない全に避けることは出来ない全に避けることは出来ない全に避けることは出来ない全に避けることは出来ない全に避けることは出来ない全に避けることは出来ない全に避けることは出来ない

•• インターネットなどでは、通信の特性からインターネットなどでは、通信の特性からインターネットなどでは、通信の特性からインターネットなどでは、通信の特性からインターネットなどでは、通信の特性からインターネットなどでは、通信の特性からインターネットなどでは、通信の特性からインターネットなどでは、通信の特性からQoSQoSななななななななどの品質保証が難しいどの品質保証が難しいどの品質保証が難しいどの品質保証が難しいどの品質保証が難しいどの品質保証が難しいどの品質保証が難しいどの品質保証が難しい

Page 21: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 21

セキュリティの問題セキュリティの問題セキュリティの問題セキュリティの問題セキュリティの問題セキュリティの問題セキュリティの問題セキュリティの問題

•• 現在の分散システムは多くの場合解放型のアーキテク現在の分散システムは多くの場合解放型のアーキテク現在の分散システムは多くの場合解放型のアーキテク現在の分散システムは多くの場合解放型のアーキテク現在の分散システムは多くの場合解放型のアーキテク現在の分散システムは多くの場合解放型のアーキテク現在の分散システムは多くの場合解放型のアーキテク現在の分散システムは多くの場合解放型のアーキテクチャモデルに基づいて設計されているチャモデルに基づいて設計されているチャモデルに基づいて設計されているチャモデルに基づいて設計されているチャモデルに基づいて設計されているチャモデルに基づいて設計されているチャモデルに基づいて設計されているチャモデルに基づいて設計されている

•• このアーキテクチャでは任意のクライアントがサーバのこのアーキテクチャでは任意のクライアントがサーバのこのアーキテクチャでは任意のクライアントがサーバのこのアーキテクチャでは任意のクライアントがサーバのこのアーキテクチャでは任意のクライアントがサーバのこのアーキテクチャでは任意のクライアントがサーバのこのアーキテクチャでは任意のクライアントがサーバのこのアーキテクチャでは任意のクライアントがサーバのサービスポートとの接続を保証するように設計されていサービスポートとの接続を保証するように設計されていサービスポートとの接続を保証するように設計されていサービスポートとの接続を保証するように設計されていサービスポートとの接続を保証するように設計されていサービスポートとの接続を保証するように設計されていサービスポートとの接続を保証するように設計されていサービスポートとの接続を保証するように設計されているるるるるるるる

•• したがって、故意や偶然の違反からユーザのプライバしたがって、故意や偶然の違反からユーザのプライバしたがって、故意や偶然の違反からユーザのプライバしたがって、故意や偶然の違反からユーザのプライバしたがって、故意や偶然の違反からユーザのプライバしたがって、故意や偶然の違反からユーザのプライバしたがって、故意や偶然の違反からユーザのプライバしたがって、故意や偶然の違反からユーザのプライバシーやシステムそのものを保護するための処置が必要シーやシステムそのものを保護するための処置が必要シーやシステムそのものを保護するための処置が必要シーやシステムそのものを保護するための処置が必要シーやシステムそのものを保護するための処置が必要シーやシステムそのものを保護するための処置が必要シーやシステムそのものを保護するための処置が必要シーやシステムそのものを保護するための処置が必要であるであるであるであるであるであるであるである

•• 現在では、暗号化や適切な認証機構に基づくセキュリ現在では、暗号化や適切な認証機構に基づくセキュリ現在では、暗号化や適切な認証機構に基づくセキュリ現在では、暗号化や適切な認証機構に基づくセキュリ現在では、暗号化や適切な認証機構に基づくセキュリ現在では、暗号化や適切な認証機構に基づくセキュリ現在では、暗号化や適切な認証機構に基づくセキュリ現在では、暗号化や適切な認証機構に基づくセキュリティの強化が施されてきているが、まだ完全なものではティの強化が施されてきているが、まだ完全なものではティの強化が施されてきているが、まだ完全なものではティの強化が施されてきているが、まだ完全なものではティの強化が施されてきているが、まだ完全なものではティの強化が施されてきているが、まだ完全なものではティの強化が施されてきているが、まだ完全なものではティの強化が施されてきているが、まだ完全なものではないないないないないないないない

Page 22: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 22

分散システムのアーキテクチャ分散システムのアーキテクチャ分散システムのアーキテクチャ分散システムのアーキテクチャ分散システムのアーキテクチャ分散システムのアーキテクチャ分散システムのアーキテクチャ分散システムのアーキテクチャ

•• クライアントクライアントクライアントクライアントクライアントクライアントクライアントクライアント--サーバモデルサーバモデルサーバモデルサーバモデルサーバモデルサーバモデルサーバモデルサーバモデル

•• プロセッサプールモデルプロセッサプールモデルプロセッサプールモデルプロセッサプールモデルプロセッサプールモデルプロセッサプールモデルプロセッサプールモデルプロセッサプールモデル

•• 統合モデル統合モデル統合モデル統合モデル統合モデル統合モデル統合モデル統合モデル

Page 23: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 23

クライアントクライアントクライアントクライアントクライアントクライアントクライアントクライアント--サーバモデルサーバモデルサーバモデルサーバモデルサーバモデルサーバモデルサーバモデルサーバモデル

Page 24: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 24

プロセッサプールモデルプロセッサプールモデルプロセッサプールモデルプロセッサプールモデルプロセッサプールモデルプロセッサプールモデルプロセッサプールモデルプロセッサプールモデル

Page 25: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 25

統合モデル統合モデル統合モデル統合モデル統合モデル統合モデル統合モデル統合モデル

Page 26: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 26

分散システムの設計目標分散システムの設計目標分散システムの設計目標分散システムの設計目標分散システムの設計目標分散システムの設計目標分散システムの設計目標分散システムの設計目標

•• 位置透過性位置透過性位置透過性位置透過性位置透過性位置透過性位置透過性位置透過性–– レベルレベルレベルレベルレベルレベルレベルレベル00、レベル、レベル、レベル、レベル、レベル、レベル、レベル、レベル11、レベル、レベル、レベル、レベル、レベル、レベル、レベル、レベル22

•• 一貫性一貫性一貫性一貫性一貫性一貫性一貫性一貫性–– 障害独立性障害独立性障害独立性障害独立性障害独立性障害独立性障害独立性障害独立性

–– データベースの一貫性データベースの一貫性データベースの一貫性データベースの一貫性データベースの一貫性データベースの一貫性データベースの一貫性データベースの一貫性

–– ユーザインターフェイスの一貫性ユーザインターフェイスの一貫性ユーザインターフェイスの一貫性ユーザインターフェイスの一貫性ユーザインターフェイスの一貫性ユーザインターフェイスの一貫性ユーザインターフェイスの一貫性ユーザインターフェイスの一貫性

–– ウィンドウサーバウィンドウサーバウィンドウサーバウィンドウサーバウィンドウサーバウィンドウサーバウィンドウサーバウィンドウサーバ

•• 効率効率効率効率効率効率効率効率–– 応答速度応答速度応答速度応答速度応答速度応答速度応答速度応答速度

–– 拡張性拡張性拡張性拡張性拡張性拡張性拡張性拡張性

–– 信頼性、対故障性、障害回復性信頼性、対故障性、障害回復性信頼性、対故障性、障害回復性信頼性、対故障性、障害回復性信頼性、対故障性、障害回復性信頼性、対故障性、障害回復性信頼性、対故障性、障害回復性信頼性、対故障性、障害回復性

•• トランザクションに基づくファイルサーバトランザクションに基づくファイルサーバトランザクションに基づくファイルサーバトランザクションに基づくファイルサーバトランザクションに基づくファイルサーバトランザクションに基づくファイルサーバトランザクションに基づくファイルサーバトランザクションに基づくファイルサーバ

Page 27: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 27

分散データベース分散データベース分散データベース分散データベース分散データベース分散データベース分散データベース分散データベース

•• 分散データベースシステム分散データベースシステム分散データベースシステム分散データベースシステム分散データベースシステム分散データベースシステム分散データベースシステム分散データベースシステム(Distributed (Distributed DataBaseDataBaseSystem: DDBS)System: DDBS)

–– コンピュータネットワークを介して論理的に結合された複数のコンピュータネットワークを介して論理的に結合された複数のコンピュータネットワークを介して論理的に結合された複数のコンピュータネットワークを介して論理的に結合された複数のコンピュータネットワークを介して論理的に結合された複数のコンピュータネットワークを介して論理的に結合された複数のコンピュータネットワークを介して論理的に結合された複数のコンピュータネットワークを介して論理的に結合された複数のデータベースの集まりとデータベースの集まりとデータベースの集まりとデータベースの集まりとデータベースの集まりとデータベースの集まりとデータベースの集まりとデータベースの集まりと

•• 分散データベース管理システム分散データベース管理システム分散データベース管理システム分散データベース管理システム分散データベース管理システム分散データベース管理システム分散データベース管理システム分散データベース管理システム(Distributed(Distributed•• DabaBaseDabaBase Management System: DDBMS)Management System: DDBMS)

–– 分散データベースシステムを管理し、ユーザに対して分散透分散データベースシステムを管理し、ユーザに対して分散透分散データベースシステムを管理し、ユーザに対して分散透分散データベースシステムを管理し、ユーザに対して分散透分散データベースシステムを管理し、ユーザに対して分散透分散データベースシステムを管理し、ユーザに対して分散透分散データベースシステムを管理し、ユーザに対して分散透分散データベースシステムを管理し、ユーザに対して分散透過性を保証するようなソフトウェアシステム過性を保証するようなソフトウェアシステム過性を保証するようなソフトウェアシステム過性を保証するようなソフトウェアシステム過性を保証するようなソフトウェアシステム過性を保証するようなソフトウェアシステム過性を保証するようなソフトウェアシステム過性を保証するようなソフトウェアシステム

•• 分散透過性分散透過性分散透過性分散透過性分散透過性分散透過性分散透過性分散透過性(distributed transparency)(distributed transparency)–– ユーザに分散配置されたデータベースを意識させないことユーザに分散配置されたデータベースを意識させないことユーザに分散配置されたデータベースを意識させないことユーザに分散配置されたデータベースを意識させないことユーザに分散配置されたデータベースを意識させないことユーザに分散配置されたデータベースを意識させないことユーザに分散配置されたデータベースを意識させないことユーザに分散配置されたデータベースを意識させないこと

Page 28: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 28

分散分散分散分散分散分散分散分散データデータデータデータデータデータデータデータベースベースベースベースベースベースベースベースの例の例の例の例の例の例の例の例

Page 29: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 29

何を分散するのか何を分散するのか何を分散するのか何を分散するのか何を分散するのか何を分散するのか何を分散するのか何を分散するのか

•• データデータデータデータデータデータデータデータ(data)(data)は図に示すとおり、それぞれのサイトのは図に示すとおり、それぞれのサイトのは図に示すとおり、それぞれのサイトのは図に示すとおり、それぞれのサイトのは図に示すとおり、それぞれのサイトのは図に示すとおり、それぞれのサイトのは図に示すとおり、それぞれのサイトのは図に示すとおり、それぞれのサイトの役割毎に必要なデータが分散されている役割毎に必要なデータが分散されている役割毎に必要なデータが分散されている役割毎に必要なデータが分散されている役割毎に必要なデータが分散されている役割毎に必要なデータが分散されている役割毎に必要なデータが分散されている役割毎に必要なデータが分散されている

•• また、それぞれのサイトではデータベースをローカルまた、それぞれのサイトではデータベースをローカルまた、それぞれのサイトではデータベースをローカルまた、それぞれのサイトではデータベースをローカルまた、それぞれのサイトではデータベースをローカルまた、それぞれのサイトではデータベースをローカルまた、それぞれのサイトではデータベースをローカルまた、それぞれのサイトではデータベースをローカルに管理するためのに管理するためのに管理するためのに管理するためのに管理するためのに管理するためのに管理するためのに管理するためのデータベースプロセスデータベースプロセスデータベースプロセスデータベースプロセスデータベースプロセスデータベースプロセスデータベースプロセスデータベースプロセス(process=(process=応応応応応応応応用プログラム用プログラム用プログラム用プログラム用プログラム用プログラム用プログラム用プログラム))が存在しているが存在しているが存在しているが存在しているが存在しているが存在しているが存在しているが存在している

•• それらのプロセスは他のサイトのデータベースプロセそれらのプロセスは他のサイトのデータベースプロセそれらのプロセスは他のサイトのデータベースプロセそれらのプロセスは他のサイトのデータベースプロセそれらのプロセスは他のサイトのデータベースプロセそれらのプロセスは他のサイトのデータベースプロセそれらのプロセスは他のサイトのデータベースプロセそれらのプロセスは他のサイトのデータベースプロセスと協調しながら、自身の必要とするスと協調しながら、自身の必要とするスと協調しながら、自身の必要とするスと協調しながら、自身の必要とするスと協調しながら、自身の必要とするスと協調しながら、自身の必要とするスと協調しながら、自身の必要とするスと協調しながら、自身の必要とする機能機能機能機能機能機能機能機能(function)(function)を正しく実行出来なければならないを正しく実行出来なければならないを正しく実行出来なければならないを正しく実行出来なければならないを正しく実行出来なければならないを正しく実行出来なければならないを正しく実行出来なければならないを正しく実行出来なければならない

•• さらに、必要ならば遠隔地にあるデータベースをさらに、必要ならば遠隔地にあるデータベースをさらに、必要ならば遠隔地にあるデータベースをさらに、必要ならば遠隔地にあるデータベースをさらに、必要ならば遠隔地にあるデータベースをさらに、必要ならば遠隔地にあるデータベースをさらに、必要ならば遠隔地にあるデータベースをさらに、必要ならば遠隔地にあるデータベースを制御制御制御制御制御制御制御制御(control)(control)して、必要なデータを更新したりする。しかし、して、必要なデータを更新したりする。しかし、して、必要なデータを更新したりする。しかし、して、必要なデータを更新したりする。しかし、して、必要なデータを更新したりする。しかし、して、必要なデータを更新したりする。しかし、して、必要なデータを更新したりする。しかし、して、必要なデータを更新したりする。しかし、それらはローカルな制御と完全に同調して機能しなけそれらはローカルな制御と完全に同調して機能しなけそれらはローカルな制御と完全に同調して機能しなけそれらはローカルな制御と完全に同調して機能しなけそれらはローカルな制御と完全に同調して機能しなけそれらはローカルな制御と完全に同調して機能しなけそれらはローカルな制御と完全に同調して機能しなけそれらはローカルな制御と完全に同調して機能しなければならないればならないればならないればならないればならないればならないればならないればならない

Page 30: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 30

分散データベースの利点分散データベースの利点分散データベースの利点分散データベースの利点分散データベースの利点分散データベースの利点分散データベースの利点分散データベースの利点

1.1. ローカルな自律性ローカルな自律性ローカルな自律性ローカルな自律性ローカルな自律性ローカルな自律性ローカルな自律性ローカルな自律性(local autonomy)(local autonomy)2.2. 性能向上性能向上性能向上性能向上性能向上性能向上性能向上性能向上(Improved Performance)(Improved Performance)3.3. 信頼性/可用性の向上信頼性/可用性の向上信頼性/可用性の向上信頼性/可用性の向上信頼性/可用性の向上信頼性/可用性の向上信頼性/可用性の向上信頼性/可用性の向上(Improved (Improved

Reliability/Availability)Reliability/Availability)4.4. 経済性経済性経済性経済性経済性経済性経済性経済性(Economics) (Economics) 5.5. 拡張性拡張性拡張性拡張性拡張性拡張性拡張性拡張性(Expandability) (Expandability) 6.6. 共有性共有性共有性共有性共有性共有性共有性共有性((ShareabilityShareability))

Page 31: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 31

分散データベースの欠点分散データベースの欠点分散データベースの欠点分散データベースの欠点分散データベースの欠点分散データベースの欠点分散データベースの欠点分散データベースの欠点

1.1. 経験不足経験不足経験不足経験不足経験不足経験不足経験不足経験不足(Lack of Experience)(Lack of Experience)2.2. 複雑性複雑性複雑性複雑性複雑性複雑性複雑性複雑性(Complexity) (Complexity) 3.3. 価格価格価格価格価格価格価格価格(Cost) (Cost) 4.4. セキュリティセキュリティセキュリティセキュリティセキュリティセキュリティセキュリティセキュリティ(Security) (Security) 5.5. 変更の困難性変更の困難性変更の困難性変更の困難性変更の困難性変更の困難性変更の困難性変更の困難性(Difficulty of Change)(Difficulty of Change)

Page 32: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 32

複雑性の要因複雑性の要因複雑性の要因複雑性の要因複雑性の要因複雑性の要因複雑性の要因複雑性の要因

•• 分散された環境におけるデータの複製分散された環境におけるデータの複製分散された環境におけるデータの複製分散された環境におけるデータの複製分散された環境におけるデータの複製分散された環境におけるデータの複製分散された環境におけるデータの複製分散された環境におけるデータの複製

–– 検索の場合:要求されたデータが記憶されている複製の中か検索の場合:要求されたデータが記憶されている複製の中か検索の場合:要求されたデータが記憶されている複製の中か検索の場合:要求されたデータが記憶されている複製の中か検索の場合:要求されたデータが記憶されている複製の中か検索の場合:要求されたデータが記憶されている複製の中か検索の場合:要求されたデータが記憶されている複製の中か検索の場合:要求されたデータが記憶されている複製の中から、ある一つを選択するら、ある一つを選択するら、ある一つを選択するら、ある一つを選択するら、ある一つを選択するら、ある一つを選択するら、ある一つを選択するら、ある一つを選択する

–– 更新の場合:データの複製全部に対して影響を及ぼすことを更新の場合:データの複製全部に対して影響を及ぼすことを更新の場合:データの複製全部に対して影響を及ぼすことを更新の場合:データの複製全部に対して影響を及ぼすことを更新の場合:データの複製全部に対して影響を及ぼすことを更新の場合:データの複製全部に対して影響を及ぼすことを更新の場合:データの複製全部に対して影響を及ぼすことを更新の場合:データの複製全部に対して影響を及ぼすことを確認しなければならない確認しなければならない確認しなければならない確認しなければならない確認しなければならない確認しなければならない確認しなければならない確認しなければならない

•• データの更新中の障害(ハードウェア、ソフトウェアのデータの更新中の障害(ハードウェア、ソフトウェアのデータの更新中の障害(ハードウェア、ソフトウェアのデータの更新中の障害(ハードウェア、ソフトウェアのデータの更新中の障害(ハードウェア、ソフトウェアのデータの更新中の障害(ハードウェア、ソフトウェアのデータの更新中の障害(ハードウェア、ソフトウェアのデータの更新中の障害(ハードウェア、ソフトウェアの障害あるいは通信異状)障害あるいは通信異状)障害あるいは通信異状)障害あるいは通信異状)障害あるいは通信異状)障害あるいは通信異状)障害あるいは通信異状)障害あるいは通信異状)

–– その更新が障害箇所に影響を及ぼすかどうかを直ちに調べその更新が障害箇所に影響を及ぼすかどうかを直ちに調べその更新が障害箇所に影響を及ぼすかどうかを直ちに調べその更新が障害箇所に影響を及ぼすかどうかを直ちに調べその更新が障害箇所に影響を及ぼすかどうかを直ちに調べその更新が障害箇所に影響を及ぼすかどうかを直ちに調べその更新が障害箇所に影響を及ぼすかどうかを直ちに調べその更新が障害箇所に影響を及ぼすかどうかを直ちに調べなければならないなければならないなければならないなければならないなければならないなければならないなければならないなければならない

•• サイト間での動作の情報の共有サイト間での動作の情報の共有サイト間での動作の情報の共有サイト間での動作の情報の共有サイト間での動作の情報の共有サイト間での動作の情報の共有サイト間での動作の情報の共有サイト間での動作の情報の共有

–– 複数箇所での処理の同期は集中型の場合より難しい複数箇所での処理の同期は集中型の場合より難しい複数箇所での処理の同期は集中型の場合より難しい複数箇所での処理の同期は集中型の場合より難しい複数箇所での処理の同期は集中型の場合より難しい複数箇所での処理の同期は集中型の場合より難しい複数箇所での処理の同期は集中型の場合より難しい複数箇所での処理の同期は集中型の場合より難しい

Page 33: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 33

分散データベースの問題点分散データベースの問題点分散データベースの問題点分散データベースの問題点分散データベースの問題点分散データベースの問題点分散データベースの問題点分散データベースの問題点

•• 設計上の問題設計上の問題設計上の問題設計上の問題設計上の問題設計上の問題設計上の問題設計上の問題–– 配置問題:分割と複製配置問題:分割と複製配置問題:分割と複製配置問題:分割と複製配置問題:分割と複製配置問題:分割と複製配置問題:分割と複製配置問題:分割と複製

–– フラグメンテーションと分散フラグメンテーションと分散フラグメンテーションと分散フラグメンテーションと分散フラグメンテーションと分散フラグメンテーションと分散フラグメンテーションと分散フラグメンテーションと分散

•• 分散質問処理分散質問処理分散質問処理分散質問処理分散質問処理分散質問処理分散質問処理分散質問処理

•• 分散ディレクトリ管理分散ディレクトリ管理分散ディレクトリ管理分散ディレクトリ管理分散ディレクトリ管理分散ディレクトリ管理分散ディレクトリ管理分散ディレクトリ管理

•• 分散同時実行制御分散同時実行制御分散同時実行制御分散同時実行制御分散同時実行制御分散同時実行制御分散同時実行制御分散同時実行制御

•• 分散デッドロック管理分散デッドロック管理分散デッドロック管理分散デッドロック管理分散デッドロック管理分散デッドロック管理分散デッドロック管理分散デッドロック管理

•• 分散分散分散分散分散分散分散分散DBMSDBMSの信頼性の信頼性の信頼性の信頼性の信頼性の信頼性の信頼性の信頼性

•• OSOSのサポートのサポートのサポートのサポートのサポートのサポートのサポートのサポート

•• 異種データベース問題異種データベース問題異種データベース問題異種データベース問題異種データベース問題異種データベース問題異種データベース問題異種データベース問題

•• 問題の相関関係問題の相関関係問題の相関関係問題の相関関係問題の相関関係問題の相関関係問題の相関関係問題の相関関係

Page 34: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 34

配置問題配置問題配置問題配置問題配置問題配置問題配置問題配置問題

•• 分割分割分割分割分割分割分割分割

–– データベースが異なる場所にばらばらに分割されデータベースが異なる場所にばらばらに分割されデータベースが異なる場所にばらばらに分割されデータベースが異なる場所にばらばらに分割されデータベースが異なる場所にばらばらに分割されデータベースが異なる場所にばらばらに分割されデータベースが異なる場所にばらばらに分割されデータベースが異なる場所にばらばらに分割されて保存されるて保存されるて保存されるて保存されるて保存されるて保存されるて保存されるて保存される

•• 複製複製複製複製複製複製複製複製

–– すべての場所にデータベースの全体が複製されるすべての場所にデータベースの全体が複製されるすべての場所にデータベースの全体が複製されるすべての場所にデータベースの全体が複製されるすべての場所にデータベースの全体が複製されるすべての場所にデータベースの全体が複製されるすべての場所にデータベースの全体が複製されるすべての場所にデータベースの全体が複製される(fully replicated)(fully replicated)場合場合場合場合場合場合場合場合

–– とすべての場所でなく、1つ以上の場所に記憶されとすべての場所でなく、1つ以上の場所に記憶されとすべての場所でなく、1つ以上の場所に記憶されとすべての場所でなく、1つ以上の場所に記憶されとすべての場所でなく、1つ以上の場所に記憶されとすべての場所でなく、1つ以上の場所に記憶されとすべての場所でなく、1つ以上の場所に記憶されとすべての場所でなく、1つ以上の場所に記憶される部分複製されるる部分複製されるる部分複製されるる部分複製されるる部分複製されるる部分複製されるる部分複製されるる部分複製される(partially replicated)(partially replicated)場合場合場合場合場合場合場合場合

Page 35: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 35

フラグメンテーションと分散フラグメンテーションと分散フラグメンテーションと分散フラグメンテーションと分散フラグメンテーションと分散フラグメンテーションと分散フラグメンテーションと分散フラグメンテーションと分散

•• フラグメントフラグメントフラグメントフラグメントフラグメントフラグメントフラグメントフラグメント(fragment)(fragment):データベースの分割された部:データベースの分割された部:データベースの分割された部:データベースの分割された部:データベースの分割された部:データベースの分割された部:データベースの分割された部:データベースの分割された部分分分分分分分分

–– どの様な分割を行うかどの様な分割を行うかどの様な分割を行うかどの様な分割を行うかどの様な分割を行うかどの様な分割を行うかどの様な分割を行うかどの様な分割を行うか

•• 分散:フラグメント化されたデータベースの最適配置分散:フラグメント化されたデータベースの最適配置分散:フラグメント化されたデータベースの最適配置分散:フラグメント化されたデータベースの最適配置分散:フラグメント化されたデータベースの最適配置分散:フラグメント化されたデータベースの最適配置分散:フラグメント化されたデータベースの最適配置分散:フラグメント化されたデータベースの最適配置の問題であるの問題であるの問題であるの問題であるの問題であるの問題であるの問題であるの問題である

•• 研究の現状研究の現状研究の現状研究の現状研究の現状研究の現状研究の現状研究の現状–– データベースの記憶、トランザクション処理、及び通信にからデータベースの記憶、トランザクション処理、及び通信にからデータベースの記憶、トランザクション処理、及び通信にからデータベースの記憶、トランザクション処理、及び通信にからデータベースの記憶、トランザクション処理、及び通信にからデータベースの記憶、トランザクション処理、及び通信にからデータベースの記憶、トランザクション処理、及び通信にからデータベースの記憶、トランザクション処理、及び通信にから

むコストを最小化する為の数学的アプローチを含むむコストを最小化する為の数学的アプローチを含むむコストを最小化する為の数学的アプローチを含むむコストを最小化する為の数学的アプローチを含むむコストを最小化する為の数学的アプローチを含むむコストを最小化する為の数学的アプローチを含むむコストを最小化する為の数学的アプローチを含むむコストを最小化する為の数学的アプローチを含む

–– 不幸にして、主要な問題不幸にして、主要な問題不幸にして、主要な問題不幸にして、主要な問題不幸にして、主要な問題不幸にして、主要な問題不幸にして、主要な問題不幸にして、主要な問題NPNP--困難困難困難困難困難困難困難困難((NPNP--hard)hard)であるであるであるであるであるであるであるである

–– したがって、発見的したがって、発見的したがって、発見的したがって、発見的したがって、発見的したがって、発見的したがって、発見的したがって、発見的(heuristic)(heuristic)アプローチがとられることが多アプローチがとられることが多アプローチがとられることが多アプローチがとられることが多アプローチがとられることが多アプローチがとられることが多アプローチがとられることが多アプローチがとられることが多いいいいいいいい

Page 36: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 36

質問処理質問処理質問処理質問処理質問処理質問処理質問処理質問処理

•• ユーザからの質問を解析し、データベースが取り扱うユーザからの質問を解析し、データベースが取り扱うユーザからの質問を解析し、データベースが取り扱うユーザからの質問を解析し、データベースが取り扱うユーザからの質問を解析し、データベースが取り扱うユーザからの質問を解析し、データベースが取り扱うユーザからの質問を解析し、データベースが取り扱うユーザからの質問を解析し、データベースが取り扱うことの出来るデータに変換するアルゴリズムの実行ことの出来るデータに変換するアルゴリズムの実行ことの出来るデータに変換するアルゴリズムの実行ことの出来るデータに変換するアルゴリズムの実行ことの出来るデータに変換するアルゴリズムの実行ことの出来るデータに変換するアルゴリズムの実行ことの出来るデータに変換するアルゴリズムの実行ことの出来るデータに変換するアルゴリズムの実行

–– いくつかの可換な質問構造に対して、いかにして最低コストいくつかの可換な質問構造に対して、いかにして最低コストいくつかの可換な質問構造に対して、いかにして最低コストいくつかの可換な質問構造に対して、いかにして最低コストいくつかの可換な質問構造に対して、いかにして最低コストいくつかの可換な質問構造に対して、いかにして最低コストいくつかの可換な質問構造に対して、いかにして最低コストいくつかの可換な質問構造に対して、いかにして最低コストでネットワーク上のデータベースに質問を分散させるかというでネットワーク上のデータベースに質問を分散させるかというでネットワーク上のデータベースに質問を分散させるかというでネットワーク上のデータベースに質問を分散させるかというでネットワーク上のデータベースに質問を分散させるかというでネットワーク上のデータベースに質問を分散させるかというでネットワーク上のデータベースに質問を分散させるかというでネットワーク上のデータベースに質問を分散させるかということである。ことである。ことである。ことである。ことである。ことである。ことである。ことである。

•• 要因要因要因要因要因要因要因要因–– データの分散、通信コスト、情報の有効性などデータの分散、通信コスト、情報の有効性などデータの分散、通信コスト、情報の有効性などデータの分散、通信コスト、情報の有効性などデータの分散、通信コスト、情報の有効性などデータの分散、通信コスト、情報の有効性などデータの分散、通信コスト、情報の有効性などデータの分散、通信コスト、情報の有効性など

•• 目的目的目的目的目的目的目的目的–– 並列処理が向上するように最適化することであ並列処理が向上するように最適化することであ並列処理が向上するように最適化することであ並列処理が向上するように最適化することであ並列処理が向上するように最適化することであ並列処理が向上するように最適化することであ並列処理が向上するように最適化することであ並列処理が向上するように最適化することであ

–– 一般に問題は一般に問題は一般に問題は一般に問題は一般に問題は一般に問題は一般に問題は一般に問題はNPNP--困難困難困難困難困難困難困難困難((NPNP--hard)hard)であり、やはり発見的アプであり、やはり発見的アプであり、やはり発見的アプであり、やはり発見的アプであり、やはり発見的アプであり、やはり発見的アプであり、やはり発見的アプであり、やはり発見的アプローチに頼らざるを得ない。ローチに頼らざるを得ない。ローチに頼らざるを得ない。ローチに頼らざるを得ない。ローチに頼らざるを得ない。ローチに頼らざるを得ない。ローチに頼らざるを得ない。ローチに頼らざるを得ない。

Page 37: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 37

分散ディレクトリ管理分散ディレクトリ管理分散ディレクトリ管理分散ディレクトリ管理分散ディレクトリ管理分散ディレクトリ管理分散ディレクトリ管理分散ディレクトリ管理

•• ディレクトリディレクトリディレクトリディレクトリディレクトリディレクトリディレクトリディレクトリ}(directory)}(directory):データベース上のデータについての情:データベース上のデータについての情:データベース上のデータについての情:データベース上のデータについての情:データベース上のデータについての情:データベース上のデータについての情:データベース上のデータについての情:データベース上のデータについての情報(種類や位置など、メタデータともいわれる)報(種類や位置など、メタデータともいわれる)報(種類や位置など、メタデータともいわれる)報(種類や位置など、メタデータともいわれる)報(種類や位置など、メタデータともいわれる)報(種類や位置など、メタデータともいわれる)報(種類や位置など、メタデータともいわれる)報(種類や位置など、メタデータともいわれる)

•• ディレクトリ管理に関連ある問題はデータベースの配置問題に類ディレクトリ管理に関連ある問題はデータベースの配置問題に類ディレクトリ管理に関連ある問題はデータベースの配置問題に類ディレクトリ管理に関連ある問題はデータベースの配置問題に類ディレクトリ管理に関連ある問題はデータベースの配置問題に類ディレクトリ管理に関連ある問題はデータベースの配置問題に類ディレクトリ管理に関連ある問題はデータベースの配置問題に類ディレクトリ管理に関連ある問題はデータベースの配置問題に類似似似似似似似似

•• ディレクトリは分散データベースシステムに対して大域的におかディレクトリは分散データベースシステムに対して大域的におかディレクトリは分散データベースシステムに対して大域的におかディレクトリは分散データベースシステムに対して大域的におかディレクトリは分散データベースシステムに対して大域的におかディレクトリは分散データベースシステムに対して大域的におかディレクトリは分散データベースシステムに対して大域的におかディレクトリは分散データベースシステムに対して大域的におかれたり、ローカルなサイトのみにおかれたりするれたり、ローカルなサイトのみにおかれたりするれたり、ローカルなサイトのみにおかれたりするれたり、ローカルなサイトのみにおかれたりするれたり、ローカルなサイトのみにおかれたりするれたり、ローカルなサイトのみにおかれたりするれたり、ローカルなサイトのみにおかれたりするれたり、ローカルなサイトのみにおかれたりする

•• ディレクトリは一箇所に集めておかれたり、いくつかの場所に分ディレクトリは一箇所に集めておかれたり、いくつかの場所に分ディレクトリは一箇所に集めておかれたり、いくつかの場所に分ディレクトリは一箇所に集めておかれたり、いくつかの場所に分ディレクトリは一箇所に集めておかれたり、いくつかの場所に分ディレクトリは一箇所に集めておかれたり、いくつかの場所に分ディレクトリは一箇所に集めておかれたり、いくつかの場所に分ディレクトリは一箇所に集めておかれたり、いくつかの場所に分散しておかれたり出来る散しておかれたり出来る散しておかれたり出来る散しておかれたり出来る散しておかれたり出来る散しておかれたり出来る散しておかれたり出来る散しておかれたり出来る

•• もちろん、1つ以上の複製を含んでいてもかまわないもちろん、1つ以上の複製を含んでいてもかまわないもちろん、1つ以上の複製を含んでいてもかまわないもちろん、1つ以上の複製を含んでいてもかまわないもちろん、1つ以上の複製を含んでいてもかまわないもちろん、1つ以上の複製を含んでいてもかまわないもちろん、1つ以上の複製を含んでいてもかまわないもちろん、1つ以上の複製を含んでいてもかまわない

•• したがって、先に述べたデータベースの配置問題でのアプローチしたがって、先に述べたデータベースの配置問題でのアプローチしたがって、先に述べたデータベースの配置問題でのアプローチしたがって、先に述べたデータベースの配置問題でのアプローチしたがって、先に述べたデータベースの配置問題でのアプローチしたがって、先に述べたデータベースの配置問題でのアプローチしたがって、先に述べたデータベースの配置問題でのアプローチしたがって、先に述べたデータベースの配置問題でのアプローチに類似した手法が適用できるに類似した手法が適用できるに類似した手法が適用できるに類似した手法が適用できるに類似した手法が適用できるに類似した手法が適用できるに類似した手法が適用できるに類似した手法が適用できる

Page 38: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 38

分散同時実行制御分散同時実行制御分散同時実行制御分散同時実行制御分散同時実行制御分散同時実行制御分散同時実行制御分散同時実行制御

•• 同時実行制御同時実行制御同時実行制御同時実行制御同時実行制御同時実行制御同時実行制御同時実行制御(concurrency control)(concurrency control):分散さ:分散さ:分散さ:分散さ:分散さ:分散さ:分散さ:分散さ

れたデータベースへのアクセスに関する同期れたデータベースへのアクセスに関する同期れたデータベースへのアクセスに関する同期れたデータベースへのアクセスに関する同期れたデータベースへのアクセスに関する同期れたデータベースへのアクセスに関する同期れたデータベースへのアクセスに関する同期れたデータベースへのアクセスに関する同期制御制御制御制御制御制御制御制御

–– 分散型の同時実行制御は集中型の場合と若干異分散型の同時実行制御は集中型の場合と若干異分散型の同時実行制御は集中型の場合と若干異分散型の同時実行制御は集中型の場合と若干異分散型の同時実行制御は集中型の場合と若干異分散型の同時実行制御は集中型の場合と若干異分散型の同時実行制御は集中型の場合と若干異分散型の同時実行制御は集中型の場合と若干異なるなるなるなるなるなるなるなる

–– すなわち、単独のデータベースの一貫性保持だけすなわち、単独のデータベースの一貫性保持だけすなわち、単独のデータベースの一貫性保持だけすなわち、単独のデータベースの一貫性保持だけすなわち、単独のデータベースの一貫性保持だけすなわち、単独のデータベースの一貫性保持だけすなわち、単独のデータベースの一貫性保持だけすなわち、単独のデータベースの一貫性保持だけでなく、複数のデータベースの同期処理による一でなく、複数のデータベースの同期処理による一でなく、複数のデータベースの同期処理による一でなく、複数のデータベースの同期処理による一でなく、複数のデータベースの同期処理による一でなく、複数のデータベースの同期処理による一でなく、複数のデータベースの同期処理による一でなく、複数のデータベースの同期処理による一貫性の維持を達成しなければならない貫性の維持を達成しなければならない貫性の維持を達成しなければならない貫性の維持を達成しなければならない貫性の維持を達成しなければならない貫性の維持を達成しなければならない貫性の維持を達成しなければならない貫性の維持を達成しなければならない

–– 同一内容をもつすべてのデータに対する命令は相同一内容をもつすべてのデータに対する命令は相同一内容をもつすべてのデータに対する命令は相同一内容をもつすべてのデータに対する命令は相同一内容をもつすべてのデータに対する命令は相同一内容をもつすべてのデータに対する命令は相同一内容をもつすべてのデータに対する命令は相同一内容をもつすべてのデータに対する命令は相互一致互一致互一致互一致互一致互一致互一致互一致(mutual consistency)(mutual consistency)と呼ばれていると呼ばれていると呼ばれていると呼ばれていると呼ばれていると呼ばれていると呼ばれていると呼ばれている

Page 39: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 39

分散同時実行制御分散同時実行制御分散同時実行制御分散同時実行制御分散同時実行制御分散同時実行制御分散同時実行制御分散同時実行制御(2)(2)

•• 分散同時実行制御の問題の解決策分散同時実行制御の問題の解決策分散同時実行制御の問題の解決策分散同時実行制御の問題の解決策分散同時実行制御の問題の解決策分散同時実行制御の問題の解決策分散同時実行制御の問題の解決策分散同時実行制御の問題の解決策–– 悲観的制御:実行が始まる前に、ユーザの要求を悲観的制御:実行が始まる前に、ユーザの要求を悲観的制御:実行が始まる前に、ユーザの要求を悲観的制御:実行が始まる前に、ユーザの要求を悲観的制御:実行が始まる前に、ユーザの要求を悲観的制御:実行が始まる前に、ユーザの要求を悲観的制御:実行が始まる前に、ユーザの要求を悲観的制御:実行が始まる前に、ユーザの要求を同期させる同期させる同期させる同期させる同期させる同期させる同期させる同期させる

–– 楽観的制御:まず実行してみて、データベースが一楽観的制御:まず実行してみて、データベースが一楽観的制御:まず実行してみて、データベースが一楽観的制御:まず実行してみて、データベースが一楽観的制御:まず実行してみて、データベースが一楽観的制御:まず実行してみて、データベースが一楽観的制御:まず実行してみて、データベースが一楽観的制御:まず実行してみて、データベースが一致しなくなったかどうかをチェックする致しなくなったかどうかをチェックする致しなくなったかどうかをチェックする致しなくなったかどうかをチェックする致しなくなったかどうかをチェックする致しなくなったかどうかをチェックする致しなくなったかどうかをチェックする致しなくなったかどうかをチェックする

•• 技術的な方法論技術的な方法論技術的な方法論技術的な方法論技術的な方法論技術的な方法論技術的な方法論技術的な方法論–– locking: locking: データアクセスの排他制御データアクセスの排他制御データアクセスの排他制御データアクセスの排他制御データアクセスの排他制御データアクセスの排他制御データアクセスの排他制御データアクセスの排他制御

–– timestampingtimestamping: : 順序処理のためのタグの挿入順序処理のためのタグの挿入順序処理のためのタグの挿入順序処理のためのタグの挿入順序処理のためのタグの挿入順序処理のためのタグの挿入順序処理のためのタグの挿入順序処理のためのタグの挿入

•• この2つの基本構造を組み合わせた種々のアこの2つの基本構造を組み合わせた種々のアこの2つの基本構造を組み合わせた種々のアこの2つの基本構造を組み合わせた種々のアこの2つの基本構造を組み合わせた種々のアこの2つの基本構造を組み合わせた種々のアこの2つの基本構造を組み合わせた種々のアこの2つの基本構造を組み合わせた種々のアルゴリズムが考案されているルゴリズムが考案されているルゴリズムが考案されているルゴリズムが考案されているルゴリズムが考案されているルゴリズムが考案されているルゴリズムが考案されているルゴリズムが考案されている

Page 40: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 40

分散デッドロック分散デッドロック分散デッドロック分散デッドロック分散デッドロック分散デッドロック分散デッドロック分散デッドロック

•• 分散データベースのデッドロック問題は分散データベースのデッドロック問題は分散データベースのデッドロック問題は分散データベースのデッドロック問題は分散データベースのデッドロック問題は分散データベースのデッドロック問題は分散データベースのデッドロック問題は分散データベースのデッドロック問題はOSOSのののののののの出会う問題と類似している出会う問題と類似している出会う問題と類似している出会う問題と類似している出会う問題と類似している出会う問題と類似している出会う問題と類似している出会う問題と類似している

•• 同期のメカニズムがロッキングを基本とする同期のメカニズムがロッキングを基本とする同期のメカニズムがロッキングを基本とする同期のメカニズムがロッキングを基本とする同期のメカニズムがロッキングを基本とする同期のメカニズムがロッキングを基本とする同期のメカニズムがロッキングを基本とする同期のメカニズムがロッキングを基本とする場合、資源(分散データベースの場合はデー場合、資源(分散データベースの場合はデー場合、資源(分散データベースの場合はデー場合、資源(分散データベースの場合はデー場合、資源(分散データベースの場合はデー場合、資源(分散データベースの場合はデー場合、資源(分散データベースの場合はデー場合、資源(分散データベースの場合はデータ)へのユーザからのアクセスの競合はデッドタ)へのユーザからのアクセスの競合はデッドタ)へのユーザからのアクセスの競合はデッドタ)へのユーザからのアクセスの競合はデッドタ)へのユーザからのアクセスの競合はデッドタ)へのユーザからのアクセスの競合はデッドタ)へのユーザからのアクセスの競合はデッドタ)へのユーザからのアクセスの競合はデッドロックを引き起こすロックを引き起こすロックを引き起こすロックを引き起こすロックを引き起こすロックを引き起こすロックを引き起こすロックを引き起こす

•• OSOSのこの状態に関する予防、回避、検出/のこの状態に関する予防、回避、検出/のこの状態に関する予防、回避、検出/のこの状態に関する予防、回避、検出/のこの状態に関する予防、回避、検出/のこの状態に関する予防、回避、検出/のこの状態に関する予防、回避、検出/のこの状態に関する予防、回避、検出/

回復策は分散データベースにも適用できる回復策は分散データベースにも適用できる回復策は分散データベースにも適用できる回復策は分散データベースにも適用できる回復策は分散データベースにも適用できる回復策は分散データベースにも適用できる回復策は分散データベースにも適用できる回復策は分散データベースにも適用できる

Page 41: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 41

まとめまとめまとめまとめまとめまとめまとめまとめ

•• 分散という概念分散という概念分散という概念分散という概念分散という概念分散という概念分散という概念分散という概念

–– 何を分散するのか何を分散するのか何を分散するのか何を分散するのか何を分散するのか何を分散するのか何を分散するのか何を分散するのか

–– 利点と欠点は利点と欠点は利点と欠点は利点と欠点は利点と欠点は利点と欠点は利点と欠点は利点と欠点は

•• 分散データベース分散データベース分散データベース分散データベース分散データベース分散データベース分散データベース分散データベース

–– 利点と欠点利点と欠点利点と欠点利点と欠点利点と欠点利点と欠点利点と欠点利点と欠点

Page 42: データベース論 - dsl.gr.jpokuyama/lecture/2006/tut/tut-database-20060619.pdf · 2006/06/19 データベース論(10回目) 4 なぜ分散なのか? • vlsiプロセッサやメモリ構成要素のコストが劇的に下がり、いまな

2006/06/19 データベース論(10回目) 42

練習問題練習問題練習問題練習問題練習問題練習問題練習問題練習問題

•• データベースにおける分散とはどのようなものデータベースにおける分散とはどのようなものデータベースにおける分散とはどのようなものデータベースにおける分散とはどのようなものデータベースにおける分散とはどのようなものデータベースにおける分散とはどのようなものデータベースにおける分散とはどのようなものデータベースにおける分散とはどのようなものか。か。か。か。か。か。か。か。きちんと定義せよ。きちんと定義せよ。きちんと定義せよ。きちんと定義せよ。きちんと定義せよ。きちんと定義せよ。きちんと定義せよ。きちんと定義せよ。

•• 分散データベースの各種の問題に見られる分散データベースの各種の問題に見られる分散データベースの各種の問題に見られる分散データベースの各種の問題に見られる分散データベースの各種の問題に見られる分散データベースの各種の問題に見られる分散データベースの各種の問題に見られる分散データベースの各種の問題に見られるNPNP困難性を解決するための手段はあるか。困難性を解決するための手段はあるか。困難性を解決するための手段はあるか。困難性を解決するための手段はあるか。困難性を解決するための手段はあるか。困難性を解決するための手段はあるか。困難性を解決するための手段はあるか。困難性を解決するための手段はあるか。考えよ。考えよ。考えよ。考えよ。考えよ。考えよ。考えよ。考えよ。


Top Related