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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Cybozu
PRO
March 14, 2025
Technology
220
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
分散システムにおける 無兆候データ破損の影響について
第14期サイボウズ・ラボユース成果発表会
https://cybozu.connpass.com/event/347931/
木田碧
Cybozu
PRO
March 14, 2025
More Decks by Cybozu
See All by Cybozu
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
12
88k
新卒1年目QAが リリース基準の"なぜ"をたどってみた
cybozuinsideout
PRO
1
800
kintone リサーチ副部/UXリサーチャー 業務紹介
cybozuinsideout
PRO
0
160
私たちが『JaSST協賛』から『外部コネクト』チームになった理由
cybozuinsideout
PRO
0
570
LLMでもいつものテスト技術〜意外と半分はこれまでのテストでした〜
cybozuinsideout
PRO
1
1.1k
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
1
1.6k
LLMアプリの品質保証
cybozuinsideout
PRO
1
800
技術広報チームに丸投げしない!「一緒につくる」スポンサー活動
cybozuinsideout
PRO
0
290
テクニカルライター (グループウェア) について
cybozuinsideout
PRO
0
280
Other Decks in Technology
See All in Technology
V8コントリビュート超入門
riyaamemiya
0
140
AI時代に、プロダクトの数だけ積み上がる所有コストをどうエンジニアリングするか / Engineering the Cost of Ownership
kzkmaeda
0
1k
AIに丸投げしないトイル削減 / Eliminating Toil Without Leaving It All to AI
kohbis
3
780
Benchmarking Vector Databases: pgvector vs. LanceDB
tsho
0
150
grill-me(grilling):AI駆動開発を超助けてくれるSkill / grill me
mathbullet
0
110
AIで仕事のやり方を変える
matsu7874
1
890
生成AI時代の クレデンシャルとパーミッション設計
nrinetcom
PRO
3
1.5k
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
160
AI-DLCって実際どう? 〜聞きたいこと全部聞いてみる〜
news_it_enj
0
240
DGX Sparkを2台使って いろいろ動かす話
sonoda_mj
1
130
enechainの内製セルフサービスプラットフォーム
hiyosi
0
120
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
370
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
It's Worth the Effort
3n
188
29k
Building the Perfect Custom Keyboard
takai
2
860
Balancing Empowerment & Direction
lara
6
1.3k
The agentic SEO stack - context over prompts
schlessera
0
900
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
360
A Modern Web Designer's Workflow
chriscoyier
698
190k
Agile that works and the tools we love
rasmusluckow
331
22k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
710
So, you think you're a good person
axbom
PRO
2
2.1k
Testing 201, or: Great Expectations
jmmastey
46
8.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
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂʂ