オルタナティブ・ブログ > 吉政忠志のベンチャービジネス千里眼 >

IT業界でベンチャービジネスの支援をしている執筆者が日々の活動ログと感じたことを、徒然なるままに書き綴っていきます。

グーグルのクラウドを支えるテクノロジー > 第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

Comment(0)