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
1
57
分散システムにおける 無兆候データ破損の影響について
第14期サイボウズ・ラボユース成果発表会
https://cybozu.connpass.com/event/347931/
木田碧
Cybozu
PRO
March 14, 2025
Tweet
Share
More Decks by Cybozu
See All by Cybozu
PSIRTでAIテストを実施するまでの道のり
cybozuinsideout
PRO
0
85
無理なく続けるサイボウズの社内勉強会
cybozuinsideout
PRO
1
1.2k
タンパク質構造のシミュレーションソフトウェア試行錯誤
cybozuinsideout
PRO
1
47
読みやすいアセンブリ言語
cybozuinsideout
PRO
1
38
Wasmで拡張できる軽量マークアップ⾔語Brack(後編)
cybozuinsideout
PRO
1
31
Wasmで拡張できる軽量マークアップ⾔語Brack(前編)
cybozuinsideout
PRO
1
35
kintone開発組織のAWSエンジニアの紹介
cybozuinsideout
PRO
0
230
kintone開発組織のサービスプラットフォームチームの紹介
cybozuinsideout
PRO
0
120
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
6
41k
Other Decks in Technology
See All in Technology
ゆるSRE #11 LT
okaru
1
610
脅威をモデリングしてMCPのセキュリティ対策を考えよう
flatt_security
4
1.7k
RubyOnRailsOnDevin+α / DevinMeetupJapan#2
ginkouno
0
400
Devin(Deep) Wiki/Searchの活用で変わる開発の世界観/devin-wiki-search-impact
tomoki10
0
320
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
240
Javalinの紹介
notoh
0
110
Tenstorrent HW/SW 概要説明
tenstorrent_japan
0
400
新規プロダクト開発、AIでどう変わった? #デザインエンジニアMeetup
bengo4com
0
450
「どこにある?」の解決。生成AI(RAG)で効率化するガバメントクラウド運用
toru_kubota
2
410
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
12k
工具人的一生: 開發很多 AI 工具讓我 慵懶過一生
line_developers_tw
PRO
0
150
QAはソフトウェアエンジニアリングを学んで実践するのが大事なの
ymty
1
400
Featured
See All Featured
The Language of Interfaces
destraynor
158
25k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
GitHub's CSS Performance
jonrohan
1031
460k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Docker and Python
trallard
44
3.4k
Gamification - CAS2011
davidbonilla
81
5.3k
Being A Developer After 40
akosma
90
590k
Scaling GitHub
holman
459
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Rails Girls Zürich Keynote
gr2m
94
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
A better future with KSS
kneath
239
17k
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
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂʂ