Google技術講演会いった=プロジェクト周りからBigtableまで
2月 2nd, 2007
Google 技術講演会ってのに行ってきました。

三人のgoogleのエンジニアの方の講演。
プロジェクト関連からかなりマニアック技術なところまで様々。
以下まとめメモ。
■サマーインターンで去年入社した南野さん 東京R&Dセンター
※最近Googleが東京にも研究開発拠点を作ったようです。
これで米国外だとスウェーデン、インドに続き三箇所目?
『Googleのプロジェクトが生まれてからローンチまで』 コア度:★☆☆
- 一つのプロジェクトはエンジニア4~5人+プロマネ+ユーザーサポートでチーム構成
- 四半期ごとに目標を立て成果を評価する。
個人、チーム、会社全体あらゆるレベルで目標決定。 - まずはデモを作ることから。
チームからの声やアイデアデータベースに登録し世界中から見てもらう。 - Design Doc
○○という背景があって○○を解決したいから実現する、デザインは?といったことを定義したドキュメント。書き始める前に書き、他の人がプロジェクトやソースの概要を把握しやすいために。
※Googleでは他の人にコードを見てもらって初めて承認が降りる。(全て英語) - 社内に一つしかソース置き場がない。
つまりDOC含めて全世界全員が自由にアクセスできる。 - 「みんなで作る」。これGoogleのモットー。他のチームと一緒に仕事して壁がない。
ヒアリングしやすい体制。ようはエンジニアリングチームは世界で一つ!
プロジェクトデータベースや今週何をやったかリストも公開。共有。
■Gmail初期開発メンバー デリックさん
『もっとよりよいWebmailを』 コア度:★★☆
- まずはメールの利用状況を再定義。開発を始める。
- Gmailが提案した新しい仕組み。
細かいメール管理をしない。
使えるSPAMフィルター。
フォルダーの代わりにラベルを利用。 - Technical Challenges for Gmail
容量-常にバックアップを取る体制。→GFF(分散処理技術)の効果的利用。
検索-よりスピーディに。Web検索とは別のアルゴリズム。
(15billion documents 4kb/doc 5TB of text < 20,000 Gmail users)
SPAM対策-クライアントサイドのフィルターはちょっと使えない。
ブラックリストの共有。そしてユーザーからの入力によって学ぶ仕組み。
Emailの構文解析。
UI-Ajax よりアプリケーションちっくに。よりストレスフルに。
会話的メール構造、チャットのように。
■東京R&D 工藤さん 日本語サーチクオリティ担当
『Googleのインフラについて』 コア度:★★★
- Googleではインフラの整備にやばいくらい力を入れている。
- サービス&アプリケーション / 分散システムインフラ / コンピュータープラットホームの三層構造。
- Bigtable
エクセルみたいなDBシステム。ローとカラムと時間軸を用いて多次元。全ての行がソートされる。まあMySQLとかに世界中のページがインデックスされててもビビるけどねw - commit log -メモリーの内容もログとして保持。
- DNSの代わりにChubbyを利用。
- SQLは使わずC++を利用したクラスでアクセス。