技術講演会を聴講してきました。エンジニアをされている3名の方から夫々興味深いお話しを聞くことができました。Japanの社員の方々ととても充実した時間を過ごせました。講演を聴きながら残したメモの転記です。Results四半期ごとに人、チーム、会社などの様々なレベルで目標の設定と評価を行なうまずデモを作ってみる...様々なフィードバックをもらえるDesignDoc:開発の目的、実装の方法や手段、QAの方法などをきっちりドキュメントとして作成しレビューを行なう(もちろん英語で!)何のために作るのか、その背景、目的、テスト技法、実装方法はどうするのか、など。アイディアのデータベース。社員であれば誰でも世界中から閲覧できる。全てのソースコードはチーム毎ではなく全員で共有している。リポジトリは一つ!←Googleサービスの全てのソースコードGFS:ペタバイト級のストレージに保存されているクロールしたWebデータなどにもアクセス可能。自分で作ったデモで自由に使える。トングさん英語でスピーチ。拓さんMeCabの人。Correctionなど。:GoogleのDBコア。Groupとして扱う圧縮アルゴリズムやブロックサイズ、検索アルゴリズムなど、扱うデータの特性に合わせて変更している。DBアクセスにはSQLみたいなのは使わない。C++ライブラリを使って直接アクセス。BigTableに関する論文にちょっとしたコードが載っている。コンピュータサイエンスの経験者。複数PJを掛持ち、チーム間の調整など。サービスのアクセス数で制限しています。入社時にNDAを締結。小川さんを目撃してお話しさせて頂きました。私:新しいサーバを用意してDBをミラーリングするみたいなイメージ。工藤さん:TabletもB-Treeで実装されていてツリーが新しく分かれる感じ。GFS上のデータの物理的な配置が変化するとかじゃなくって、それをポイントしているインデックス情報が分離する。ミラーリングとかそもそもない。...プリミティブで、かつGoogleが提供するサービスに最も合う形でデータハンドリングのためのレイヤが組まれている感じ。実際に組めるかどうかは別として、言われてみればこの設計は私の頭でも理解できた。それが各種Googleサービスに綺麗にマッチしているのが凄いんだと思う。雑記TabletsやGFSについては論文と当日のプレゼンでほぼ同じ概念図が使われていたから、復習のためにも時間をとって絶対に読む。