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
170
1
Share
分散システムにおける 無兆候データ破損の影響について
第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
10
78k
kintone リサーチ副部/UXリサーチャー 業務紹介
cybozuinsideout
PRO
0
49
私たちが『JaSST協賛』から『外部コネクト』チームになった理由
cybozuinsideout
PRO
0
260
LLMでもいつものテスト技術〜意外と半分はこれまでのテストでした〜
cybozuinsideout
PRO
1
650
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
1.1k
LLMアプリの品質保証
cybozuinsideout
PRO
1
510
技術広報チームに丸投げしない!「一緒につくる」スポンサー活動
cybozuinsideout
PRO
0
220
テクニカルライター (グループウェア) について
cybozuinsideout
PRO
0
180
つけまが降ってきた日
cybozuinsideout
PRO
1
670
Other Decks in Technology
See All in Technology
「SaaSの次の時代」に重要性を増すステークホルダーマネジメントの要諦 ~解像度を圧倒的に高めPdMの価値を最大化させる方法~
kakehashi
PRO
3
1.6k
AWS認定資格は本当に意味があるのか?
nrinetcom
PRO
2
280
自分のハンドルは自分で握れ! ― 自分のケイパビリティを増やし、メンバーのケイパビリティ獲得を支援する ― / Take the wheel yourself
takaking22
1
940
The Journey of Box Building
tagomoris
4
3.2k
Hacobu Tech Deck
hacobu
PRO
0
120
Expiration of Secure Boot Certificates for vSphere Virtual Machines
mirie_sd
0
100
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
420
マルチエージェント × ハーネスエンジニアリング × GitLab Duo Agent Platformで実現する「AIエージェントに仕事をさせる時代へ。」 / 20260421 GitLab Duo Agent Platform
n11sh1
0
170
AI バイブコーティングでキーボード不要?!
samakada
0
590
自立を加速させる神器 - EMOasis #11
stanby_inc
0
150
AI時代における技術的負債への取り組み
codenote
1
1.7k
Do Ruby::Box dream of Modular Monolith?
joker1007
1
350
Featured
See All Featured
Everyday Curiosity
cassininazir
0
200
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
100
GitHub's CSS Performance
jonrohan
1032
470k
The Curious Case for Waylosing
cassininazir
0
310
Typedesign – Prime Four
hannesfritz
42
3k
Writing Fast Ruby
sferik
630
63k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
280
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
370
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
150
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
The Cult of Friendly URLs
andyhume
79
6.8k
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
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂʂ