分散ファイルシステム分散ファイルシステム (distributed file system) またはネットワークファイルシステム (network file system) とは、複数のホストがコンピュータネットワークを経由して共有しつつファイルにアクセスすることを可能にするファイルシステムである[1]。複数のマシン上で複数のユーザーがファイルやストレージ資源を共有できるようにする。 クライアントノードはファイルシステムを構成している二次記憶装置に直接アクセスすることはできないが、通信プロトコルを使ってネットワーク経由でやり取りする。その通信プロトコルがどう設計されているかにもよるが、アクセスリストまたはケーパビリティに基づいてクライアントとサーバの双方でファイルシステムへのアクセスを制限することも可能である。 これに対してクラスタファイルシステムでは、全ノードがファイルシステムを構成しているストレージ全体に一様に直接アクセスできる。その場合、アクセス制御はクライアント側の責任となる。 分散ファイルシステムには一般に、透過的レプリケーションとフォールトトレラント性に関する機能がある。すなわち、ファイルシステムを構成するノード群の一部がオフラインになっても、データを失うことなくシステムとして機能し続ける。 分散ファイルシステムと分散データストアの違いはあいまいだが、分散データストアは一般にLANでの利用に特化していることが多い[要検証 ]。 歴史と具体例このようなファイルサーバは1970年代に開発された。1976年、DECが DECnet Phase II の一部である Data Access Protocol 実装として File Access Listener (FAL) を開発したのが、世界初の広く使われたネットワークファイルシステムとなった。1985年、サン・マイクロシステムズが世界初の広く使われる Internet Protocol ベースのネットワークファイルシステムとなる Network File System (NFS) を開発した。他のネットワークファイルシステムとしては、Andrew File System (AFS) や Apple Filing Protocol (AFP)、NetWare Core Protocol (NCP)、Server Message Block (SMB)がある。 透過性分散ファイルシステムは透過性を備えていることが多く、プログラムやユーザーから見ればネットワーク経由のファイルがローカルディスク上のファイルと全く同じに扱える。サーバや記憶装置の多様性と分散は隠蔽される。ファイルの配置やデータ転送はファイルシステムに任されている。 性能ネットワークファイルシステムでは、処理にかかる時間も重要な課題である。通常のファイルアクセスならば、これはディスクアクセス時間と少しのCPU処理時間に相当する。ネットワークファイルシステムでは、分散構造であるが故の余分なオーバヘッドが必要となる。このオーバヘッドには、サーバに要求を届けるまでの時間、応答をクライアントまで戻すのにかかる時間などが含まれる。どちらの方向も情報転送時間だけでなく、通信プロトコルソフトウェアの実行にかかるCPU時間が含まれる。ネットワークファイルシステムの性能もある意味でネットワークファイルシステムの透過性の一部と言える。すなわち、理想的なネットワークファイルシステムの性能はローカルなディスクアクセスと同程度になる。 同時ファイル更新ネットワークファイルシステムは複数のクライアントプロセスが同じファイルを同時に更新できるようにしなければならない。あるクライアントのファイル更新によって別のクライアントの参照や更新が妨害されてはならない。そのため並行性制御やロックをファイルシステムに組み込むか、追加プロトコルに組み込む必要がある。 分散データストア分散データストア(Distributed Data Store)とは、ユーザーが自身の情報を複数のノードに格納しておくことを指す概念で、分散データベースとして実装される場合と複数のユーザーがP2Pネットワーク上で情報を格納する場合がある。 分散データベース分散データベースとしての分散データストアは関係データベースではなく、多数のノードがあるデータに素早くアクセスできる。例えば、GoogleのBigTableがあるが、これは分散ファイルシステムあるいはP2Pネットワークに近い[2]。他にも、Amazon.com の Dynamo[3]、Windows Azure Storage[4] などがある。 任意のクエリを可能にすることは可用性ほど重要視されないので、分散データストアは一貫性を犠牲にして可用性を向上させる設計を採用することが多い。しかし、高速な読み書きを可能にすると一貫性が低下するので、CAP定理で証明されている通り、一貫性、可用性、分断耐性を同時に保証することはできない。 P2PネットワークによるデータストアP2Pネットワークのデータストアでは、ユーザーは互いに自らのコンピュータをストレージノードとして提供し、同時に他者のコンピュータをストレージノードとして利用する。ある情報に他のユーザーがアクセスできるかどうかはネットワークの設計に依存する。 多くのP2Pネットワークは、各ユーザーのノードが常にネットワーク上にあるわけではないため、分散データストアを持たない。しかし、BitTorrentなどのシステムではこの区別があいまいとなる。というのも、あるノードがオフラインになってもその内容が相変わらず提供され続けるようになっているためである。なお、これは個々のファイルが再配布者に要求された場合であり、全てのコンピュータが全てのファイルを提供するようになっているFreenetなどのネットワークとは対照的である。 分散データストアでは、誤り検出訂正技法がよく使われる。場合によっては、ファイルの一部が壊れていた場合に前方誤り訂正技法で修復する。そうでない場合は、異なるミラーサイトから同じファイルを再度ダウンロードする。 主なプロトコル分散ファイルシステムは、レプリケーションによるフォールトトレラント性強化を目指したもの、並列化による性能強化を目指したもの、両方を同時に実現しようと設計されたものがある。 分散ファイルシステム
分散フォールトトレラントファイルシステム
分散並列ファイルシステム
分散並列フォールトトレラントファイルシステム
SAN/クラスタファイルシステム
分散データストア分散データベース
P2Pネットワークによるデータストア
脚注
関連項目外部リンク
|
Portal di Ensiklopedia Dunia