×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
(c)長岡技術科学大学 電気系 1 データベースと応用システム Google 山本和英 長岡技術科学大学 電気系 Google、Google ロゴ、Google 検索 ロゴ、Google 音声検索™、Google 音声検索 ロゴは、Google Inc.の商標または登録商標です。
Slide 2
Slide 2 text
(c)長岡技術科学大学 電気系 2 Googleの歴史 ● 1998年9月7日 – 創業。検索件数1万件/日 – 8台のパソコンと40個以上のHDD ● 1999年9月 – 検索件数300万件/日 ● 2000年 – 検索件数1800万件/日 ● 2004年 – NASDAQに株式公開
Slide 3
Slide 3 text
(c)長岡技術科学大学 電気系 3 Googleの基本的な考え方 ● ソフトウェアで信頼性を高める – UPSやハードウェアRAIDは使わない ● 機器の高性能化よりも負荷分散 – コストパフォーマンス ● 基本部分は独自技術で – GFS (Google File System) – Work Queue
Slide 4
Slide 4 text
(c)長岡技術科学大学 電気系 4 検索エンジン
Slide 5
Slide 5 text
(c)長岡技術科学大学 電気系 5 検索エンジンの仕組み ● 検索バックエンド – クローリング(Webデータ収集) – インデックスの作成 – 時間をかけて処理して構わない ● 検索サーバー – インデックスを参照して検索結果を返す – 可能な限り高速に処理する必要がある – 処理の分散化 – 検索キーはすべて数値化してインデックスを作成
Slide 6
Slide 6 text
(c)長岡技術科学大学 電気系 6 クローリング:注意点 ● 特定サイトにアクセスが集中しすぎてはいけない – アクセスの分散 ● アクセスできないこともある – アクセスの再試行 ● 1ページ1秒でも1日86,400ページしかアクセスでき ない – 並列処理、URLサーバーによる制御 ● ページを自動生成するサイトがある – ページ収集がいつまでも終わらない
Slide 7
Slide 7 text
(c)長岡技術科学大学 電気系 7 インデックスの作成 ● Webページの構造解析 – 検索に必要なタイトル、テキスト、URL等を抽出 ● 単語情報の抽出 – ページID, 単語ID, 位置, サイズ, スタイル, … ● 転置インデックスの作成 – 単語IDからページIDへ ● リンク情報のインデックス作成 – ページAからページBへ ● ランキング情報のインデックス – PageRankの計算
Slide 8
Slide 8 text
(c)長岡技術科学大学 電気系 8 実際の検索処理の流れ ● まとめ役(Google Web Server, GWS)が各インデッ クスサーバーに検索依頼 – インデックスサーバーは別個のページ集合を担当してい る。 ● 各インデックスサーバーが検索上位を返す – 検索要求があった時に全インデックスサーバーにランキン グ上位ページIDを提出する。 ● GWSが結果をまとめて上位ページを決定 ● GWSが関係するドキュメントサーバーに要約作成を依 頼 ● ドキュメントサーバーは要約作成してGWSに返す
Slide 9
Slide 9 text
(c)長岡技術科学大学 電気系 9 検索サーバー その他の処理 ● 「もしかして」検索 ● 広告の選別、作成 ● キャッシングによる処理の高速化
Slide 10
Slide 10 text
(c)長岡技術科学大学 電気系 10 Google File System (GFS)
Slide 11
Slide 11 text
(c)長岡技術科学大学 電気系 11 GFSの概要と特徴 ● 巨大なストレージを作り上げる技術 ● 全ファイルは常に3ヶ所に保存されている ● 大きなファイル(数百MB)の書き込みに適している ● 何度も書き込むことに向いていない ● ファイルをロックする機能がない
Slide 12
Slide 12 text
(c)長岡技術科学大学 電気系 12 GFSの役割分担 ● マスタ – GFS全体を管理。どのチャンクサーバーに何が保存さ れているかをすべて管理・制御する ● チャンクサーバー – ファイル置き場。ファイルの断片(64MB)が大量に保存 されている。 – 1ファイルは3チャンクサーバーに保存される。 ● クライアント – ファイルの読み書きをマスタに依頼する。
Slide 13
Slide 13 text
(c)長岡技術科学大学 電気系 13 GFSの障害対策 ● チャンクの障害 – チェックサムの照合によって同一性を判断する – 「暇」な時にチェックサムを再確認する ● チャンクサーバの障害 – マスタとの交信によって障害や新規設置が分かる ● マスタの障害 – GFS外部で常に監視し、異常の時は即時交代 – 更新ログを常に別の計算機にコピー – チャンクの情報はチャンクサーバが教えてくれる
Slide 14
Slide 14 text
(c)長岡技術科学大学 電気系 14 GFSの復旧時間:実験結果 ● チャンクサーバ数:200、各チャンクサーバーは 15,000程度のチャンク(=600GB) ● チャンクサーバ1台が故障 – 新しいコピーが作られるまで23分 ● チャンクサーバ2台が故障 – 266チャンクがコピーなし状態になる – このようなチャンクは優先的にコピーされる – 2コピー以上の状態に復旧するまでの時間:2分 ● 結論:データの損失可能性は限りなく低い
Slide 15
Slide 15 text
(c)長岡技術科学大学 電気系 15 Bigtable
Slide 16
Slide 16 text
(c)長岡技術科学大学 電気系 16 Bigtable ● RDBでは扱えないほどの大量のデータにアクセス するための分散システム ● 列は行キーとコラムキーの2種類ある。コラムキーの 数は行によって違っていても構わない。 ● 時間概念(タイムスタンプ)があり、行キーとコラム キーが同じでも時刻が異なる複数バージョンのデー タがある。 ● 例:検索エンジンインデックス – 行キー:ページURL – コラムキー:リンク元ページ情報 – タイムスタンプ:ページ収集時間
Slide 17
Slide 17 text
(c)長岡技術科学大学 電気系 17 Bigtable:続き ● トランザクション処理がある。 ● テーブルはタブレット(tablet)という単位に分割さ れ、複数のサーバで分散管理される。 ● 行キーはソートされ、タブレットには連続する行キー が含まれる。 ● タブレットはメタデータという形で管理される。メタ データはルートタブレットが管理し、ルートタブレッ トの場所はChubbyが保存する。 – 以上はB+木形式で管理されている。
Slide 18
Slide 18 text
(c)長岡技術科学大学 電気系 18 高速アクセスの工夫 ● ファイルの圧縮 ● メタデータなどのオンメモリ化 ● 読み込みキャッシュ – スキャンキャッシュ:最近アクセスされたデータ – ブロックキャッシュ:「続き」のデータ ● 書き込みの工夫 – コミットログの一括処理 – コミットログの書き込み先を2つ用意
Slide 19
Slide 19 text
(c)長岡技術科学大学 電気系 19 Chubby
Slide 20
Slide 20 text
(c)長岡技術科学大学 電気系 20 Chubby ● 小さな分散ファイルシステム ● 以下の機能を持つ: – ファイルシステム – ロックサービス(排他制御) – イベント通知 ● 実データというよりも、データ・システム管理のため の設定や情報を書き込む。Windowsのレジストリの ようなものに近い。 ● DNSの代替としても使われる。各マシンがChubby に自分でアドレスを書き込む。
Slide 21
Slide 21 text
(c)長岡技術科学大学 電気系 21 Chubby:システム構成 ● 1セット(Cell)は5台の計算機(レプリカ)からなる。 うち1台をマスタと呼ぶ。 ● マスタとレプリカは全く同じ情報が書かれている。 マスタの情報を変更すると直ちに4台のレプリカにコ ピーされる。 ● クライアント(他の計算機)との情報の読み書きは すべてマスタに対して行う。マスタが故障すると直ち にレプリカの1台がマスタになる。 ● レプリカが半数以上故障すると、セルは活動を停 止する。
Slide 22
Slide 22 text
(c)長岡技術科学大学 電気系 22 Chubby:ファイルアクセス ● 1つのファイルサイズは最大256KB ● ファイルやディレクトリは(読み込み、書き込み、変 更)が可能なユーザを定義する。 ● ファイルは共有ロック、排他ロックが可能。これを 使って外部資源(例えばGFS)のロックに使える。 ● 障害時対応のため、クライアントと定期的(10秒~ 60秒)に通信を行っており、通信がない場合は自 動的にロック解除される。
Slide 23
Slide 23 text
(c)長岡技術科学大学 電気系 23 イベント通知 ● ファイルの作成や内容変更時にクライアントに通知 される。 ● 利用例1:サーバ監視 – サーバが一時ファイルに自分のアドレスを書いてマスタ が監視。プロセス停止すると一時ファイルが自動削除 されるので、起動中のサーバリストが得られる。 ● 利用例2:マスタ決定 – 各サーバは競争してマスタになろうとする。排他ロックで きたプロセスだけが自分のアドレスを書き込むことがで き、書き込まれた場合は監視しているサーバに通知され る。
Slide 24
Slide 24 text
(c)長岡技術科学大学 電気系 24 データセンター https://www.youtube.com/watch?v=7h3LtXxR55Y
Slide 25
Slide 25 text
(c)長岡技術科学大学 電気系 25 http://www.google.com/about/datacenters/inside/locations/index.html
Slide 26
Slide 26 text
(c)長岡技術科学大学 電気系 26
Slide 27
Slide 27 text
(c)長岡技術科学大学 電気系 27 計算機 ● Google保有の計算機は2800万台(2019年6月)? – https://news.netcraft.com/archives/2019/06/17/june-2019-web-server-survey.html ● 10万円 x 2800万台 = 2.8兆円 ● 5年で交換したとすると、毎年5600億円 – (ネパール、パラグアイ、リビアの国家予算に匹敵) ● 必ずしも高機能、高額な製品を使うわけではな い。価格性能比の最も高い製品を選ぶ。
Slide 28
Slide 28 text
(c)長岡技術科学大学 電気系 28 電気代 ● 1kWhで10円、1台100Wとして、2800万台を終日稼 働させると、年に2500億円 – (ブルネイ、ラオス、モザンビークの国家予算に匹敵) – (長岡市の今年度予算:2,185億円) ● CPU性能の向上に伴って使用電力も向上傾向 ● 消費電力を削減する様々な工夫 – CPUのクロック周波数を落とす – PC電源を開発して電源効率を上げる – パワーキャッピングによるデータセンター電力の平準化
Slide 29
Slide 29 text
(c)長岡技術科学大学 電気系 29 ハードディスクの故障 ● Googleが2007年に10万台以上のHDDドライブの 故障傾向について調査 ● 結論 – 使い始めの頃はやや壊れやすい – 長く使うと壊れやすくなるわけではない – よく使うと壊れやすくなるとも限らない – 温度が高いほど壊れやすいということもない。30~4 0度に保つと最も故障率を低下させる。 – 結局、いつどこで作られたかが一番影響している?