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
分散システムにおける 無兆候データ破損の影響について
Search
Cybozu
PRO
March 14, 2025
Technology
170
1
Share
分散システムにおける 無兆候データ破損の影響について
第14期サイボウズ・ラボユース成果発表会
https://cybozu.connpass.com/event/347931/
木田碧
Cybozu
PRO
March 14, 2025
More Decks by Cybozu
See All by Cybozu
新卒1年目QAが リリース基準の"なぜ"をたどってみた
cybozuinsideout
PRO
1
11
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
80k
kintone リサーチ副部/UXリサーチャー 業務紹介
cybozuinsideout
PRO
0
70
私たちが『JaSST協賛』から『外部コネクト』チームになった理由
cybozuinsideout
PRO
0
300
LLMでもいつものテスト技術〜意外と半分はこれまでのテストでした〜
cybozuinsideout
PRO
1
760
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
1.2k
LLMアプリの品質保証
cybozuinsideout
PRO
1
570
技術広報チームに丸投げしない!「一緒につくる」スポンサー活動
cybozuinsideout
PRO
0
230
テクニカルライター (グループウェア) について
cybozuinsideout
PRO
0
200
Other Decks in Technology
See All in Technology
なぜ、IAMロールのプリンシパルに*による部分マッチングが使えないのか? / 20260518-ssmjp-iam-role-principal
opelab
2
140
"スキルファースト"で作る、AIの自走環境
subroh0508
0
630
Directions Asia 2026 | Beyond Buildable AI Agents: Let’s Visualize Partner Value in the AI Era
ryoheig0405
0
120
AIAgentと取り組むKaggle
508shuto
2
430
20260515 ログイン機能だけではないアカウント管理を全体で考える~サービス設計者向け~
oidfj
1
860
O'Reilly Infrastructure & Ops Superstream: Platform Engineering for Developers, Architects & the Rest of Us
syntasso
0
310
Gaussian Splattingの実用化 - 映像制作への展開
gpuunite_official
0
200
M&Aで増え続けるプロダクトに少数QAはどう立ち向かうか─GENDAが挑む、全員で取り組む品質標準化戦略 / GENDA Tech Talk #4
genda
0
230
SpeechTranscriber + AIによる文字起こし機能
kazuki1220
0
120
LookerとADKで作る社内AIエージェント
chanyou0311
0
280
Claude Code で使える DuckDB Skills を試してみた / DuckDB Skills and Claude Code
masahirokawahara
1
1.5k
TypeScriptはどのようにどこまで推論できるのか ─ とにかく as は禁止で
ypresto
0
220
Featured
See All Featured
AI: The stuff that nobody shows you
jnunemaker
PRO
7
640
The Curious Case for Waylosing
cassininazir
1
350
Fireside Chat
paigeccino
42
3.9k
Everyday Curiosity
cassininazir
0
210
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
550
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Become a Pro
speakerdeck
PRO
31
5.9k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
790
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
170
How to Talk to Developers About Accessibility
jct
2
200
WCS-LA-2024
lcolladotor
0
590
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Transcript
ࢄγεςϜʹ͓͚Δ ແஹީσʔλഁଛͷӨڹʹ͍ͭͯ ୈظαΠϘζɾϥϘϢʔεՌൃදձ ాป ܚጯٛक़େֶࡦɾϝσΟΞݚڀՊम࢜ γεςϜιϑτΣΞݚڀ։ൃ ୲͞Μ
ࣗݾհ • ࢯ໊: ా ป • ॴଐ: ܚጯٛक़େֶ ࡦɾϝσΟΞݚڀՊ
म࢜Ұ • ݚڀ: ࢄσʔλϕʔεɺࢄ߹ҙΞϧΰϦζϜ
ແஹީσʔλഁଛͱʁ σʔλ͕ഁଛ͍ͯ͠Δʹ͔͔ΘΒͣɺγεςϜ͕ͦͷഁଛΛݕग़Ͱ͖ͳ͍ݱ IUUQTHSPVQOUUKQOFXTSFMFBTFBIUNM • ιϑτΣΞͰͳ͘ɺϋʔυΣΞʹൃ ੜ͢ΔσʔλഁଛͰɺϋʔυΣΞͷΤϥʔ ݕग़ػߏ (ྫ ECCϝϞϦ,
RAID)Λ͢Γൈ ͚ͨͷ • ओͳݪҼ • ཧతཁҼ (ӈਤࢀߟ) • ϋʔυΣΞཁҼ (ॳظෆྑɺܦྼԽ)
ແஹީσʔλഁଛʹ͓͚ΔӨڹ ແஹީσʔλഁଛେنࢄγεςϜͰಛʹͱͳΔ • Amazon S3Ͱ20087݄20ʢถࠃ࣌ؒʣʹɺαʔϏε ͕9࣌ؒʹΘͨͬͯར༻Ͱ͖ͳ͘ͳΔͱ͍͏ো͕ൃੜͨ͠ [1] • Intel σʔληϯλʔͷΑ͏ͳେྔͷϓϩηοαΛ༻͢
ΔڥͰɺແஹީσʔλഁଛͷΑ͏ͳඇৗʹكͳࣄͰ ɺରࡦ͕ෆՄܽͳ΄Ͳසൟʹൃੜ͢ΔՄೳੑ͕͋Δͱड़ Δ [2] <>IUUQTXFCBSDIJWFPSHXFCIUUQTTUBUVTBXTBNB[PODPNTIUNM <>IUUQTXXXJOUFMDPKQDPOUFOUXXXKQKBDPOUFOUEFUBJMTEBUBDFOUFSTJMFOUEBUBFSSPSTUFDIOJDBMQBQFSIUNM
ࢄγεςϜ ෳͷίϯϐϡʔλ͕ωοτϫʔΫΛհͯ͠ଓ͞Εɺڠௐಈ࡞͢ΔγεςϜ
োੑ (ϑΥʔϧττϨϥϯε) ߏཁૉͷҰ෦ʹো͕ൃੜͯ͠ɺγεςϜ͕ػೳ͠ଓ͚Δೳྗ ❓ 😄
োੑͷྨ Ϋϥογϡোੑ (Crash Fault Tolerance, CFT) োੑ ੑೳɾίετ Ϗβϯνϯোੑ
(Byzantine Fault Tolerance, BFT)
োੑͷྨ Ϋϥογϡোੑ (Crash Fault Tolerance, CFT) োੑ ੑೳɾίετ Ϗβϯνϯোੑ
(Byzantine Fault Tolerance, BFT) ݱࡏͷγεςϜͷओྲྀ
োੑͷྨ Ϋϥογϡোੑ (Crash Fault Tolerance, CFT) োੑ ੑೳɾίετ Ϗβϯνϯোੑ
(Byzantine Fault Tolerance, BFT) ແஹީσʔλഁଛϏβϯνϯ োʹྨ͞ΕΔ
࣮ࢄγεςϜʹແஹީσʔλഁଛೖ • Braft (https://github.com/baidu/braft) • Baiduͷߴ৴པੑ͕ٻΊΒΕΔ༷ʑͳγεςϜΛ ࢧ͍͑ͯΔࢄ߹ҙΞϧΰϦζϜRaft࣮ 3BGUΞʔΩςΫνϟ -FBEFS
'PMMPXFS 'PMMPXFS
Intel PinʹΑΔແஹީσʔλഁଛͷ࠶ݱ • ແஹީσʔλഁଛͷ࠶ݱʹɺDBI (Dynamic Binary Instrument)πʔϧͷ Intel PinΛ༻
• Just-In-Time (JIT) ίϯύΠϥΛ༻͠ ͯϓϩάϥϜΛ࣮ߦதʹมߋ • ࠨͷਤͷApplication͕BraftͰɺPintool ͕ແஹީσʔλഁଛΛҾ͖ى͜͢ιʔ είʔυ [2] ʹͨΔ <>$IJ,FVOH-VL 3PCFSU$PIO 3PCFSU.VUI )BSJTI1BUJM "SUVS ,MBVTFS (FP ff -PXOFZ 4UFWFO8BMMBDF 7JKBZ+BOBQB3FEEJ BOE ,JN)B[FMXPPE1JOCVJMEJOHDVTUPNJ[FEQSPHSBNBOBMZTJT UPPMTXJUIEZOBNJDJOTUSVNFOUBUJPO4*(1-"//PU +VOF rIUUQTEPJPSH <>IUUQTCJUCVDLFUPSHECC f <>
Braftͷ௨ৗͷڍಈ • ΫϥΠΞϯτϦΫΤετͷछྨ • Write: valueʹ1ΛՃ͢Δ • Read: valueͷΛಡΉ
<3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF ࣮ߦϩά
ແஹީσʔλഁଛ͕ൃੜ͢Δͱɺɺ • Write࣌ͷॲཧᶅͰແஹީσʔλഁଛ͕ ൃੜ͠ɺ1Ͱͳ͘ɺ ͕ε ςʔτϚγϯ্ͷvalueʹՃ͞ΕΔɻ −(264 − 1) <3&"%>7BMVF
<83*5&>"EE <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF ࣮ߦϩά
ແஹީσʔλഁଛͷφΠʔϒͳରࡦ๏ 😃ਖ਼͍͠ 😱ޡ͍ͬͯΔ طଘख๏ φΠʔϒͳରࡦ๏ -FBEFS 'PMMPXFS 'PMMPXFS ❓ 😱
-FBEFS 'PMMPXFS 'PMMPXFS ❓ ❓ ❓ 😱 😃 😃
ແஹީσʔλഁଛͷφΠʔϒͳରࡦ๏ 😃ਖ਼͍͠ 😱ޡ͍ͬͯΔ طଘख๏ φΠʔϒͳରࡦ๏ -FBEFS 'PMMPXFS 'PMMPXFS ❓ 😱
-FBEFS 'PMMPXFS 'PMMPXFS ❓ ❓ ❓ 😱 😃 😃 ଟܾͰਖ਼͍͠Λಋ͚Δ
࣮ࡍͷ࣮ߦϩά
͔͠͠ແஹީσʔλഁଛͦΜͳʹ؆୯Ͱͳ͍ 8SJUFૢ࡞ 3FBEૢ࡞ -FBEFS 'PMMPXFS 'PMMPXFS 😃 😱 😱 -FBEFS
'PMMPXFS 'PMMPXFS 😱 😱 😱
ࠓޙͷ՝ • Braftʹແஹީσʔλഁଛͷ ཏతͳੑΛ༩͢Δ (HardPaxos [1]Λࢀߟ) • ූ߸Խͱ࣮ߦΛΈ߹Θ ͤΔ͜ͱͰɺແஹީσʔλഁ
ଛΛݕग़͠ɺσʔλഁଛΛΫ ϥογϡোม͢Δ Πϝʔδਤ <>%#FISFOT %,VWBJTLJJBOE$'FU[FS )BSE1BYPT3FQMJDBUJPO)BSEFOFEBHBJOTU)BSEXBSF&SSPST *&&&SE*OUFSOBUJPOBM 4ZNQPTJVNPO3FMJBCMF%JTUSJCVUFE4ZTUFNT /BSB +BQBO QQ EPJ43%4
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂʂ