コンテンツにスキップ
Wikipedia

Google File System

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Google File System
対応OS Linux
種別 分散ファイルシステム
ライセンス プロプライエタリソフトウェア
テンプレートを表示

Google File System(GFSGoogleFS)は、Googleが自社のシステムのために開発した分散ファイルシステムである。大規模なデータセンターに特化した、効率的で信頼性の高いシステムとして設計されている[1] 。2010年には後継のColossusというファイルシステムが利用されている[2]

概要

[編集 ]

Google File System(GFS)は、同社の主要なサービスである検索エンジンや各種サービスのデータストレージとして利用されている。創業者であるラリー・ペイジおよびサーゲイ・ブリンが同社の初期に開発したデータベースであるBigFilesから発展して生まれた[1] 。通常のファイルシステムと似ており、データは64メガバイトにサイズを固定(チャンクと呼ばれる)して分割し保存される。ファイルに上書きをすることはほとんど無く、通常は追記と読み込みを中心に利用される。

オープンソースHadoop Distributed File System(HDFS)は、GFSとほぼ同じ仕組みを採用している。

設計

[編集 ]
Google File Systemの構成

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サーバーの状態を監視する役目もある。

関連事項

[編集 ]

参照

[編集 ]
  1. ^ a b 英語版Wikipediaより
  2. ^ "Colossus: Successor to the Google File System (GFS)". 2018年1月1日閲覧。
  3. ^ a b c "The Google File System". 2018年1月1日閲覧。
  4. ^ a b "GFS: The Google File System". 2018年1月1日閲覧。
Alphabet歴史サービス
企業
イベント・取り組み
人物
役員
創業者
部門
不動産
開発
オペレーティングシステム
ライブラリ・
フレームワーク
ツール
探索アルゴリズム
ファイルフォーマット
その他
サービス
娯楽
伝達・交流
検索
組織・管理
ビジネス・金融
その他
ハードウェア
Nexus
スマートフォン
タブレット
その他
Google Pixel
Google Play Edition
Android One
その他
X
ディスク
光ディスク / 磁気テープ
Flashメモリ / SSD
分散ファイルシステム
ネットワーク型
特殊用途
疑似・仮想
暗号化
その他
カテゴリ カテゴリ


AltStyle によって変換されたページ (->オリジナル) /