Google File System対応OSLinux
種別分散ファイルシステム
ライセンスプロプライエタリソフトウェア
テンプレートを表示
Google File System(GFS、GoogleFS)は、Googleが自社のシステムのために開発した分散ファイルシステムである。大規模なデータセンターに特化した、効率的で信頼性の高いシステムとして設計されている[1]。2010年には後継のColossusというファイルシステムが利用されている[2]。 Google File System(GFS)は、同社の主要なサービスである検索エンジンや各種サービスのデータストレージとして利用されている。創業者であるラリー・ペイジおよびサーゲイ・ブリンが同社の初期に開発したデータベースであるBigFilesから発展して生まれた[1]。通常のファイルシステムと似ており、データは64メガバイトにサイズを固定(チャンクと呼ばれる)して分割し保存される。ファイルに上書きをすることはほとんど無く、通常は追記と読み込みを中心に利用される。 オープンソースのHadoop Distributed File System(HDFS)は、GFSとほぼ同じ仕組みを採用している。 Googleでは、一般的に利用されている安価な、いわゆるコモディティなパーソナルコンピュータの部品を利用して大規模なデータセンターを構築している。このため、個々のサーバーが故障してもデータが損失せず、また自動的に復旧できるシステムとして設計されている。実際にGFSは複数のサーバ(ノード)から構成される[3]。具体的には1台のMasterノードと複数台(10-1000台[4])のChunkサーバーである。 クライアントもしくはアプリケーションがGFS領域にデータを書き込むことを考える。データは前述の通りチャンクに分割される。Masterノードは、チャンクが生成された時、各チャンクに64 bitのユニークなIDを付ける[3]。その後、LinuxがインストールされたChunkノードはローカルディスクにチャンクを書き込む。この時、可用性確保のために複数の別々のChunkノードに、同じチャンクを書き込む。デフォルトでは3つのレプリカを作成する。 次に、データの読み出しを考える。Masterノードはアクセスに必要な全てのメタデータ情報をメモリ上に蓄えている[4]。例えば、「名前空間(ディレクトリ構造)」、「アクセス権限」、「原本ファイルとチャンクの対応表」、「チャンクが保存されているサーバの場所」等である。クライアントはまずMasterノードと通信し、チャンクのIDと場所を問い合わせる。続けてクライアントはChunkサーバーに直接アクセスし、チャンクを受け取る。最終的にデータを結合して元のファイルを復元する。 このように、メタデータがメモリにあるため高速な探索が可能であること、データの読み書きはクライアントとChunkサーバー間で直接行われておりキャッシュが介在しないこと、最終的なチャンク (データ) の記録にはLinuxのファイルシステムを利用していることが特徴と言える。 データの書き込みや読み出しはAPIを通して行われ[3]、標準的な"Write"、"Read"、"Open"、"Close"、"Delete"等の命令が揃えられている。ただし、POSIX準拠ではない。オブジェクトストレージとは異なりディレクトリ構造もある。 Masterノードはメタデータ保持以外にも、Chunkサーバーの状態を監視する役目もある。
概要
設計Google File Systemの構成
関連事項
Google
BigTable
Spanner (データベース)
MapReduce
エラー忘却型コンピューティング
参照^ a b 英語版Wikipediaより
^ “Colossus: Successor to the Google File System (GFS)
^ a b c “The Google File System
イベント・取り組み
Android
Developer Challenge
Developer Day
Developer Lab(英語版)
Doodle4Google
Code-in
Code Jam(英語版)
Developer Day(英語版)
Developers Live(英語版)
I/O
Lunar X Prize*
Science Fair(英語版)
Summer of Code
Talks at Google
取り組み・プロジェクト
ATAP(英語版)
ドラゴンフライ*
Made with Code(英語版)
Project Sunroof(英語版)
Cultural Institute
「邪悪になるな」
OKR
人物
デビッド・チェリトン
アル・ゴア
アラン・ユースタス
アラン・ムラーリー
アミット・シングハル(英語版)
アン・メイザー(英語版)
デビッド・ドラモンド(英語版)
エリック・シュミット
ジェフ・ディーン
ジョン・ドーア
ジョン・ハンケ
ジョン・ヘネシー
クリシュナ・バハラット(英語版)
マット・カッツ
パトリック・ピシェット
ポール・オッテリーニ
オミッド・コーデスタニ
レイチェル・ウェッツトン(英語版)
ラム・シュリラム
レイ・カーツワイル
サラー・カマンガー
サンジェイ・ゲマワット(英語版)
シャーリー・ティルマン(英語版)
スーザン・ウォシッキー
ウルス・ヘルツル(英語版)
ヴィントン・サーフ
ハル・ヴァリアン
ニール・モーハン
役員
サンダー・ピチャイ (CEO)
ルース・ポラット (CFO)