グーグルのクラウドを支えるテクノロジー > 第3回 ユースケースからデザインされたGoogle File System(パート1)

※この記事は読者によって投稿されたユーザー投稿のため、編集部の見解や意向と異なる場合があります。また、編集部はこの内容について正確性を保証できません。

「CTC教育サービスはコラム「グーグルのクラウドを支えるテクノロジー > 第3回 ユースケースからデザインされたGoogle File System(パート1) 」を公開しました。」

はじめに
 今回は、2003年に発表された論文「The Google File System」から、Google File System(GFS)を紹介します。GFSは、数千台規模のクライアントがアクセスする分散型の共有ファイルシステムを実現するソフトウェアで、2003年に発表されたこの論文において、Google社内の開発、データ分析、そして、実サービス環境で使用されていることが公表されました。

 GFSの特徴は、Google社内における共有ファイルの利用パターンに特化して設計されている点にあります。特定の目的を実現するために、できるだけシンプルで、そして、高性能なシステムを根本から設計するという点で、システム設計の考え方を学ぶ上でも参考になります。それほど難しい内容ではありませんので、ぜひ一度、論文そのものにも目を通してみることをお勧めします。

 なお、論文の中では、ディスク容量やネットワーク速度など、性能に関わる具体的な数値も記載されていますが、これはあくまで、2003年当時(つまり、10年以上前)の数値である点には注意が必要です(*1)。

GFSの最適化目標
 GFSが特化する「Google社内における共有ファイルの利用パターン」とは、どのようなものでしょうか? 論文の中では、次のような点が説明されています。

•100MB以上(場合によっては、数GB)のサイズのファイルを多数保存する。
•リードアクセスは、シリアルに読み込んでいく処理が中心となる。(ランダムアクセスが必要な場合でも、性能を重視するアプリケーションは、一定の容量をまとめて読み出すように設計されている。)
•ライトアクセスは、既存ファイルの末尾に追記する処理が中心となる。特に、複数のクライアントが同一のファイルに同時に追記する処理のサポートが求められる。
•アクセス開始時の遅延を低減するよりも、安定的に高いスループットを維持することが求められる。
 このようなファイルアクセスを行う例としては、サーバー間での大容量データの受け渡し、あるいは、データ集計のストリーミング処理(多数のサーバーが並列処理した結果を1つのファイルに書き出しながら、それを別のサーバーが読み出していく)が挙げられています(図1)。GFSは、これら以外の処理(小さなサイズのファイルの保存、ランダムな書き込み処理など)にも対応はしていますが、性能面では考慮の対象外とされています。

この続きは以下をご覧ください
http://www.school.ctc-g.co.jp/columns/nakai2/nakai203.html

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

インデックス
検索エンジンがWebページをデータベースに保存しているデータベース。データベース ...→用語集へ

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]