Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Google File System
Search
hama_du
October 19, 2018
Technology
0
83
Google File System
Google File Systemの中身を紹介
hama_du
October 19, 2018
Tweet
Share
More Decks by hama_du
See All by hama_du
Distinct Query using HyperLogLog
hamadu
2
85
木の上を歩こう
hamadu
1
1k
linear-algebra-in-n-minutes
hamadu
0
250
Other Decks in Technology
See All in Technology
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
1.4k
エンジニアとPMのドメイン知識の溝をなくす、 AIネイティブな開発プロセス
applism118
4
1.3k
今からでも間に合う!速習Devin入門とその活用方法
ismk
1
700
Snowflakeでデータ基盤を もう一度作り直すなら / rebuilding-data-platform-with-snowflake
pei0804
5
1.5k
グレートファイアウォールを自宅に建てよう
ctes091x
0
150
CARTAのAI CoE が挑む「事業を進化させる AI エンジニアリング」 / carta ai coe evolution business ai engineering
carta_engineering
0
1.4k
年間40件以上の登壇を続けて見えた「本当の発信力」/ 20251213 Masaki Okuda
shift_evolve
PRO
1
130
Database イノベーショントークを振り返る/reinvent-2025-database-innovation-talk-recap
emiki
0
170
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
380
Challenging Hardware Contests with Zephyr and Lessons Learned
iotengineer22
0
210
Debugging Edge AI on Zephyr and Lessons Learned
iotengineer22
0
200
AWSセキュリティアップデートとAWSを育てる話
cmusudakeisuke
0
280
Featured
See All Featured
Writing Fast Ruby
sferik
630
62k
Automating Front-end Workflow
addyosmani
1371
200k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
GitHub's CSS Performance
jonrohan
1032
470k
Why Our Code Smells
bkeepers
PRO
340
57k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
100
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Making Projects Easy
brettharned
120
6.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Transcript
The Google File System SDDษڧձ@r-n-i 2018/10/19
֓ཁ • Google ͷϓϩμΫτ෦ͰΘΕ͍ͯͨ େنσʔλ͚ͷϑΝΠϧγεςϜ • ΦʔϓϯιʔεͰͳ͍ • HadoopͷࢄϑΝΠϧεςϜ͕ࢀߟʹͨ͠ •
ઍ ͷαʔό͔ͨͪΒΔ
※2003ͷจͰ͢
࣌ͷঢ়گ(จ͔Βൈਮ) • Dual 1.4GHz Pentium III Processor • 2GB Memory
• 80GB 5400 rpm disk ×2 • 100Mbps full-duplex Ethernet
ϋʔυΣΞͷલఏ • γεςϜΛߏ͢Δύʔπ յΕΔ • ࣓ؾσΟεΫ • ωοτϫʔΫέʔϒϧ • ͰϥοΫյ
• ҆ՁͳͷΛར༻ͯ͠ͳΜͱ͔͍ͨ͠
Ϣʔεέʔεͷલఏ • Read ΫΤϦ >> WriteΫΤϦ • ॻ͖͑ຆͲͳ͍ɺAppend(ه) ͷΈ
ΫϥΠΞϯτ͔Βݟͨ Google File System
ϑΝΠϧγεςϜʁ • ԾతͳπϦʔσΟϨΫτϦΛ࣋ͭ • ΫϥΠΞϯτ͔Βී௨ͷϑΝΠϧʹݟ͍͑ͯΔ • ϑΝΠϧͷ࣮ମ֤αʔόʹࢄஔ • POSIXޓͰͳ͍͕ͦΕͬΆ͍APIΛ࣋ͭ •
GFS্ͷ(ΫϥΠΞϯτ͔Βݟͨ)ϑΝΠϧͷ͜ͱΛҎ߱ ԾϑΝΠϧ ͱݺͿ͜ͱʹ͠·͢
ߏཁૉͷհ
ΞʔΩςΫνϟ
νϟϯΫ / Chunk • 1ԾϑΝΠϧ has many νϟϯΫ • 1νϟϯΫ
= 64MB • ෳͷϨϓϦΧ͕νϟϯΫαʔόʹଘࡏ • 1ͭͷϓϥΠϚϦʔ • NݸͷηΧϯμϦʔ
νϟϯΫαʔό / Chunk server • νϟϯΫͨͪΛ࣮ࡍʹཧతʹ࣋ͭ • ΫϥΠΞϯτ͕σʔλऔಘ࣌ʹ ͰΞΫηε͢Δ •
ଳҬͷઅͷͨΊ
Ϛελʔαʔό / Master server • ԾϑΝΠϧ(ͱͦͷΦϑηοτ)ͱνϟϯΫͷϚοϓ • ֤νϟϯΫ͕ͲͷνϟϯΫαʔόʹ͋Δ͔ • νϟϯΫαʔόͷࢮ׆ࢹ
• ૢ࡞ϩάΛه • Ϋϥογϡͯ͠෮ݩͰ͖ΔΑ͏ʹ
Read Operation
None
खॱ 1. (ԾϑΝΠϧ໊,νϟϯΫ൪߸) Λ ϚελʔʹϦΫΤετ 2. ֘νϟϯΫ͕͋ΔαʔόͷॴΛڭ͑ͯΒ͏ 3. νϟϯΫαʔόʹ (νϟϯΫϋϯυϧ,
νϟϯΫͰ ཉ͍͠byteͷൣғ)ΛϦΫΤετ 4. νϟϯΫαʔό͔Βσʔλ͕Β͑Δ
Write Operation
None
खॱ 1. νϟϯΫϋϯυϧ ΛϚελʔʹϦΫΤετ 2. ֘νϟϯΫͷϓϥΠϚϦʔϨϓϦΧͱ ηΧϯμϦʔϨϓϦΧͷॴΛڭ͑ͯΒ͏ 3. σʔλΛҙͷϨϓϦΧʹૹΔ σʔλΛड͚औͬͨϨϓϦΧ࣍ͷϨϓϦΧʹྲྀ͢
4. શϨϓϦΧ͕σʔλΛೝࣝͨ͠Βɺ WriteϦΫΤετΛϓϥΠϚϦʔʹૹΔ
खॱ 5. ϓϥΠϚϦʔWriteϦΫΤετΛडɺ ϦΫΤετʹγϦΞϧ൪߸Λ͚ͭΔ(ૢ࡞ͷॱংΛܾఆ) ·ͣϓϥΠϚϦʔͰૢ࡞Λ࣮ߦ 6. ϓϥΠϚϦʔ͕WriteϦΫΤετΛଞͷϨϓϦΧʹૹΔɻ ֤ϨϓϦΧϦΫΤετΛγϦΞϧ൪߸ॱʹॲཧ 7. ηΧϯμϦʔૢ࡞͕ऴΘͬͨΒͦͷࢫΛ
ϓϥΠϚϦʔʹ͑Δ 8. ϓϥΠϚϦʔ͕ૢ࡞ྃΛΫϥΠΞϯτʹ͑Δ
Write Operationͷࣦഊ • ॻ͖ࠐΈʹࣦഊͨ͠ϨϓϦΧ͕͋Δͱ͖ ΫϥΠΞϯτ σʔλૹ৴ૢ࡞͔ΒΓ͢ • ֤ͦͦϨϓϦΧͷbyteྻ͕ಉҰͰ͋Δ͜ͱΛ อূ͍ͯ͠ͳ͍ •
Appendͷͱ͖֤ϨϓϦΧͷ࠷େoffsetΛΈΔ
Snapshot Operation
Snapshot Operation • ԾϑΝΠϧσΟϨΫτϦͷίϐʔΛ࡞Δ • Copy-on-Writeઓུ • ରνϟϯΫʹ Write Operation
͕དྷͨͱ͖ ৽νϟϯΫ͕ݩνϟϯΫͱಉҰͷॴʹ࡞ΒΕΔ • νϟϯΫσʔλ͕ωοτϫʔΫΛඈͼަ͏͜ͱΛ ͍Ͱ͍Δ
ࢀߟจݙ • The Google File System