Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データベースと応用システム:Google
Search
自然言語処理研究室
July 18, 2014
Education
1
2.7k
データベースと応用システム:Google
自然言語処理研究室
July 18, 2014
Tweet
Share
More Decks by 自然言語処理研究室
See All by 自然言語処理研究室
データサイエンス14_システム.pdf
jnlp
0
350
データサイエンス13_解析.pdf
jnlp
0
410
データサイエンス12_分類.pdf
jnlp
0
310
データサイエンス11_前処理.pdf
jnlp
0
430
Recurrent neural network based language model
jnlp
0
110
自然言語処理研究室 研究概要(2012年)
jnlp
0
110
自然言語処理研究室 研究概要(2013年)
jnlp
0
76
自然言語処理研究室 研究概要(2014年)
jnlp
0
89
自然言語処理研究室 研究概要(2015年)
jnlp
0
140
Other Decks in Education
See All in Education
Adobe Express
matleenalaakso
1
7.5k
Semantic Web and Web 3.0 - Lecture 9 - Web Technologies (1019888BNR)
signer
PRO
1
2.5k
セキュリティ・キャンプ全国大会2024 S17 探査機自作ゼミ 事前学習・当日資料
sksat
3
850
AWS All Certが伝える 新AWS認定試験取得のコツ (Machine Learning Engineer - Associate)
nnydtmg
1
580
勉強したらどうなるの?
mineo_matsuya
10
6.5k
Nodiレクチャー 「CGと数学」講義資料 2024/11/19
masatatsu
2
190
Library Prefects 2024-2025
cbtlibrary
0
110
小学生にスクラムを試してみた件~中学受検までの100週間の舞台裏~
ukky86
0
340
HCI Research Methods - Lecture 7 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
710
Introduction - Lecture 1 - Web Technologies (1019888BNR)
signer
PRO
0
4.9k
Adobe Analytics入門講座【株式会社ニジボックス】
nbkouhou
0
19k
アニメに学ぶチームの多様性とコンピテンシー
terahide
0
240
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Building Your Own Lightsaber
phodgson
103
6.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Transcript
(c)長岡技術科学大学 電気系 1 データベースと応用システム Google 山本和英 長岡技術科学大学 電気系 Google、Google ロゴ、Google
検索 ロゴ、Google 音声検索™、Google 音声検索 ロゴは、Google Inc.の商標または登録商標です。
(c)長岡技術科学大学 電気系 2 Googleの歴史 • 1998年9月7日 – 創業。検索件数1万件/日 – 8台のパソコンと40個以上のHDD
• 1999年9月 – 検索件数300万件/日 • 2000年 – 検索件数1800万件/日 • 2004年 – NASDAQに株式公開
(c)長岡技術科学大学 電気系 3 Googleの基本的な考え方 • ソフトウェアで信頼性を高める – UPSやハードウェアRAIDは使わない • 機器の高性能化よりも負荷分散
– コストパフォーマンス • 基本部分は独自技術で – GFS (Google File System) – Work Queue
(c)長岡技術科学大学 電気系 4 検索エンジン
(c)長岡技術科学大学 電気系 5 検索エンジンの仕組み • 検索バックエンド – クローリング(Webデータ収集) – インデックスの作成
– 時間をかけて処理して構わない • 検索サーバー – インデックスを参照して検索結果を返す – 可能な限り高速に処理する必要がある – 処理の分散化 – 検索キーはすべて数値化してインデックスを作成
(c)長岡技術科学大学 電気系 6 クローリング:注意点 • 特定サイトにアクセスが集中しすぎてはいけない – アクセスの分散 • アクセスできないこともある
– アクセスの再試行 • 1ページ1秒でも1日86,400ページしかアクセスでき ない – 並列処理、URLサーバーによる制御 • ページを自動生成するサイトがある – ページ収集がいつまでも終わらない
(c)長岡技術科学大学 電気系 7 インデックスの作成 • Webページの構造解析 – 検索に必要なタイトル、テキスト、URL等を抽出 • 単語情報の抽出
– ページID, 単語ID, 位置, サイズ, スタイル, … • 転置インデックスの作成 – 単語IDからページIDへ • リンク情報のインデックス作成 – ページAからページBへ • ランキング情報のインデックス – PageRankの計算
(c)長岡技術科学大学 電気系 8 実際の検索処理の流れ • まとめ役(Google Web Server, GWS)が各インデッ クスサーバーに検索依頼
– インデックスサーバーは別個のページ集合を担当してい る。 • 各インデックスサーバーが検索上位を返す – 検索要求があった時に全インデックスサーバーにランキン グ上位ページIDを提出する。 • GWSが結果をまとめて上位ページを決定 • GWSが関係するドキュメントサーバーに要約作成を依 頼 • ドキュメントサーバーは要約作成してGWSに返す
(c)長岡技術科学大学 電気系 9 検索サーバー その他の処理 • 「もしかして」検索 • 広告の選別、作成 • キャッシングによる処理の高速化
(c)長岡技術科学大学 電気系 10 Google File System (GFS)
(c)長岡技術科学大学 電気系 11 GFSの概要と特徴 • 巨大なストレージを作り上げる技術 • 全ファイルは常に3ヶ所に保存されている • 大きなファイル(数百MB)の書き込みに適している
• 何度も書き込むことに向いていない • ファイルをロックする機能がない
(c)長岡技術科学大学 電気系 12 GFSの役割分担 • マスタ – GFS全体を管理。どのチャンクサーバーに何が保存さ れているかをすべて管理・制御する •
チャンクサーバー – ファイル置き場。ファイルの断片(64MB)が大量に保存 されている。 – 1ファイルは3チャンクサーバーに保存される。 • クライアント – ファイルの読み書きをマスタに依頼する。
(c)長岡技術科学大学 電気系 13 GFSの障害対策 • チャンクの障害 – チェックサムの照合によって同一性を判断する – 「暇」な時にチェックサムを再確認する
• チャンクサーバの障害 – マスタとの交信によって障害や新規設置が分かる • マスタの障害 – GFS外部で常に監視し、異常の時は即時交代 – 更新ログを常に別の計算機にコピー – チャンクの情報はチャンクサーバが教えてくれる
(c)長岡技術科学大学 電気系 14 GFSの復旧時間:実験結果 • チャンクサーバ数:200、各チャンクサーバーは 15,000程度のチャンク(=600GB) • チャンクサーバ1台が故障 –
新しいコピーが作られるまで23分 • チャンクサーバ2台が故障 – 266チャンクがコピーなし状態になる – このようなチャンクは優先的にコピーされる – 2コピー以上の状態に復旧するまでの時間:2分 • 結論:データの損失可能性は限りなく低い
(c)長岡技術科学大学 電気系 15 Bigtable
(c)長岡技術科学大学 電気系 16 Bigtable • RDBでは扱えないほどの大量のデータにアクセス するための分散システム • 列は行キーとコラムキーの2種類ある。コラムキーの 数は行によって違っていても構わない。
• 時間概念(タイムスタンプ)があり、行キーとコラム キーが同じでも時刻が異なる複数バージョンのデー タがある。 • 例:検索エンジンインデックス – 行キー:ページURL – コラムキー:リンク元ページ情報 – タイムスタンプ:ページ収集時間
(c)長岡技術科学大学 電気系 17 Bigtable:続き • トランザクション処理がある。 • テーブルはタブレット(tablet)という単位に分割さ れ、複数のサーバで分散管理される。 •
行キーはソートされ、タブレットには連続する行キー が含まれる。 • タブレットはメタデータという形で管理される。メタ データはルートタブレットが管理し、ルートタブレッ トの場所はChubbyが保存する。 – 以上はB+木形式で管理されている。
(c)長岡技術科学大学 電気系 18 高速アクセスの工夫 • ファイルの圧縮 • メタデータなどのオンメモリ化 • 読み込みキャッシュ
– スキャンキャッシュ:最近アクセスされたデータ – ブロックキャッシュ:「続き」のデータ • 書き込みの工夫 – コミットログの一括処理 – コミットログの書き込み先を2つ用意
(c)長岡技術科学大学 電気系 19 Chubby
(c)長岡技術科学大学 電気系 20 Chubby • 小さな分散ファイルシステム • 以下の機能を持つ: – ファイルシステム
– ロックサービス(排他制御) – イベント通知 • 実データというよりも、データ・システム管理のため の設定や情報を書き込む。Windowsのレジストリの ようなものに近い。 • DNSの代替としても使われる。各マシンがChubby に自分でアドレスを書き込む。
(c)長岡技術科学大学 電気系 21 Chubby:システム構成 • 1セット(Cell)は5台の計算機(レプリカ)からなる。 うち1台をマスタと呼ぶ。 • マスタとレプリカは全く同じ情報が書かれている。 マスタの情報を変更すると直ちに4台のレプリカにコ
ピーされる。 • クライアント(他の計算機)との情報の読み書きは すべてマスタに対して行う。マスタが故障すると直ち にレプリカの1台がマスタになる。 • レプリカが半数以上故障すると、セルは活動を停 止する。
(c)長岡技術科学大学 電気系 22 Chubby:ファイルアクセス • 1つのファイルサイズは最大256KB • ファイルやディレクトリは(読み込み、書き込み、変 更)が可能なユーザを定義する。 •
ファイルは共有ロック、排他ロックが可能。これを 使って外部資源(例えばGFS)のロックに使える。 • 障害時対応のため、クライアントと定期的(10秒~ 60秒)に通信を行っており、通信がない場合は自 動的にロック解除される。
(c)長岡技術科学大学 電気系 23 イベント通知 • ファイルの作成や内容変更時にクライアントに通知 される。 • 利用例1:サーバ監視 –
サーバが一時ファイルに自分のアドレスを書いてマスタ が監視。プロセス停止すると一時ファイルが自動削除 されるので、起動中のサーバリストが得られる。 • 利用例2:マスタ決定 – 各サーバは競争してマスタになろうとする。排他ロックで きたプロセスだけが自分のアドレスを書き込むことがで き、書き込まれた場合は監視しているサーバに通知され る。
(c)長岡技術科学大学 電気系 24 データセンター https://www.youtube.com/watch?v=7h3LtXxR55Y
(c)長岡技術科学大学 電気系 25 http://www.google.com/about/datacenters/inside/locations/index.html
(c)長岡技術科学大学 電気系 26
(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億円 – (ネパール、パラグアイ、リビアの国家予算に匹敵) • 必ずしも高機能、高額な製品を使うわけではな い。価格性能比の最も高い製品を選ぶ。
(c)長岡技術科学大学 電気系 28 電気代 • 1kWhで10円、1台100Wとして、2800万台を終日稼 働させると、年に2500億円 – (ブルネイ、ラオス、モザンビークの国家予算に匹敵) –
(長岡市の今年度予算:2,185億円) • CPU性能の向上に伴って使用電力も向上傾向 • 消費電力を削減する様々な工夫 – CPUのクロック周波数を落とす – PC電源を開発して電源効率を上げる – パワーキャッピングによるデータセンター電力の平準化
(c)長岡技術科学大学 電気系 29 ハードディスクの故障 • Googleが2007年に10万台以上のHDDドライブの 故障傾向について調査 • 結論 –
使い始めの頃はやや壊れやすい – 長く使うと壊れやすくなるわけではない – よく使うと壊れやすくなるとも限らない – 温度が高いほど壊れやすいということもない。30~4 0度に保つと最も故障率を低下させる。 – 結局、いつどこで作られたかが一番影響している?