メモ

Googleは10億個のファイル・20億行のコード・合計86TBでできている

by Michael Himbeault

Googleのエンジニアリング・マネージャーであるレイチェル・ポートヴィンさんが、「The Motivation for a Monolithic Codebase」と題した講演の中で、Googleのシステムが86TB(テラバイト)でできていることを明かしました。

Google Is 2 Billion Lines of Code—And It's All in One Place | WIRED
http://www.wired.com/2015/09/google-2-billion-lines-codeand-one-place/

講演ムービーはコレ。話は5つのテーマに分けて行われていて、Googleのリポジトリについての話は1番目、3分過ぎから始まります。

The Motivation for a Monolithic Codebase Why Google Stores Billions of L - YouTube


2015年1月時点で、総ファイル数は10億、ソースファイルの数は900万、コードは20億行あり、3500万回のコミットがあって、内容は86TBあるとのこと。そして、営業日1日に対してのコミット回数は4万5000回。


累積コミット数のグラフはこんな感じ。左側の回数目盛りは40までですが、それぞれ1目盛りが1000万回分に相当。2000年1月1日からの数字ですが、コミットが1000万回を越えたのは2012年ごろのこと。回数はぐんぐん増えていて、2015年1月時点で3500万回まで増えています。


Googleで働く「Googler」は2万5000人、世界に12あるオフィスで働いています。1日あたりのコミット回数は4万5000回とありましたが、そのうち1万5000回が人間の手によるもの、3万回が自動化されたシステムによるもの。ファイルリードリクエストは1日に10億回で、ピーク時には80万QPS(秒間クエリ処理数)に到達するとのこと。


これが1週間のコミット数を、人の手によるものと全体とを分けてグラフ化したもの。単位は1000回なので、だいたい人の手によるコミットは週間7万5000回ほど。


Linuxのカーネルが4万ファイルで1500万行あるのに対して、Googleのリポジトリは25万ファイル・1500万行が人の手によって毎週変更されています。累計のサイズは900万ファイルで20億行にもなります。


Windowsの公式Facebookページによると、Windows XPは4500万行のコードでできていたとのこと。数字だけを単純に比較すると、Googleは3週間でWindows XP全体に相当する量のリポジトリを変更している、ということになります。

この記事のタイトルとURLをコピーする

・関連記事
Googleなどを狙った大規模攻撃、目的は各企業のソースコードか - GIGAZINE

無料で商用利用も可能なソースコードを読みやすくするためのタイプフェース「Hack」 - GIGAZINE

Google/Microsoft/Facebookなど20社が1億人の学生にコード学習を提供する「An Hour of Code」 - GIGAZINE

Googleのマテリアルデザインで使える色が並び、クリック一発でカラーコードのコピーも可能な「Material UI Colors」 - GIGAZINE

Appleに対してロシアがソースコードへのアクセス権を要求、その目的は? - GIGAZINE

毎晩スヤスヤと安眠するために知っておくべき6つの食習慣 - GIGAZINE

in メモ,   動画, Posted by logc_nt

You can read the machine translated English article Google is made up of 1 billion files, 2 ….

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy