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
Aerospikeで大規模データを扱う
Search
miuranobuaki
May 09, 2016
Technology
1
2.1k
Aerospikeで大規模データを扱う
Aerospike Meetup #3での発表資料です。
#4で発表した際に若干追加したので、
資料を更新しました
miuranobuaki
May 09, 2016
Tweet
Share
More Decks by miuranobuaki
See All by miuranobuaki
組織の変化に必要なことは 投資ではないだろうか? / What is needed to change the organization Isn't it an investment?
miuranobuki
2
4.1k
Scrumのロールだけでは足りなかったピースとしてのマネージャー / The roll of Scrum wasn't enough. Manager as a piece
miuranobuki
14
4.6k
普通の開発メンバーが リーダーになってやったこと
miuranobuki
21
14k
Other Decks in Technology
See All in Technology
Kiroで見直す開発プロセスとAI-DLC
k_adachi_01
0
130
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
qa
0
230
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
200
大規模ECサイトのあるバッチのパフォーマンスを改善するために僕たちのチームがしてきたこと
panda_program
1
380
AI時代のIssue駆動開発のススメ
moongift
PRO
0
160
AgentCoreとLINEを使った飲食店おすすめアプリを作ってみた
yakumo
2
230
データマネジメント戦略Night - 4社のリアルを語る会
ktatsuya
1
220
スピンアウト講座05_実践活用事例
overflowinc
0
1.1k
【AWS】CloudTrail LakeとCloudWatch Logs Insightsの使い分け方針
tsurunosd
0
120
A4)シラバスを超えて語る、テストマネジメント
moritamasami
0
120
韓非子に学ぶAI活用術
tomfook
1
160
Physical AI on AWS リファレンスアーキテクチャ / Physical AI on AWS Reference Architecture
aws_shota
1
120
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Thoughts on Productivity
jonyablonski
75
5.1k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
490
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
WENDY [Excerpt]
tessaabrams
9
37k
A Tale of Four Properties
chriscoyier
163
24k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
91
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
92
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
[SF Ruby Conf 2025] Rails X
palkan
2
850
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
Transcript
Aerospike Ͱ େنσʔλΛѻ͏ ࡾӜ৳໌ גࣜձࣾαΠόʔΤʔδΣϯτ / גࣜձࣾRightSegment 2016/08/02 - Aerospike
meetup
ࣗݾհ ࡾӜ৳໌ (@miuranobuak) גࣜձࣾαΠόʔΤʔδΣϯτ ΞυςΫελδΦ גࣜձࣾRightSegment ʹͯ PrivateDMP Λ։ൃ ΤϯδχΞ
Podcast (http:/ /lean-agile.fm/)
ࠓ͓͢Δ͜ͱ ɾAerospike ΛͲ͏͍ͬͯΔ͔ ɾղܾ͖ͯͨ͠ ɾ࠷ۙࢼͯ͠Έͨ͜ͱ ɾࠓޙͬͯΈΑ͏ͱ͍ͯ͠Δ͜ͱ
AerospikeΛͲ͏͍ͬͯΔ͔
RightSegmentͰͷ͍ํ ϦΞϧλΠϜϢʔβఆ ͔݅ΒϢʔβΛநग़
RightSegment ߦಈใձһใɾࠂޮՌσʔλͳͲΛੵ ͠ɺDSPΞυωοτϫʔΫͱ࿈ಈͯ͠Ϣʔβͷଐ ੑࠂ৮ΛϕʔεʹߴͳੳʗϚʔέςΟϯ άΛߦ͏͜ͱ͕ՄೳͳϓϥΠϕʔτDMP ແཧཧγϯϓϧʹݴ͏ͱ • ϢʔβʹదͳΞϓϩʔνऔΕΔΑ͏ʹఆ • దͳΓޱͰࠂ৴
ϦΞϧλΠϜϢʔβఆ
ϦΞϧλΠϜϢʔβఆ • ࣄલʹઃఆͨ݅͠ʹ͋ͯ·Δ͔ఆ • 35,000 ʙ 40,000 TPS
શମͷΠϝʔδ
͔݅ΒϢʔβΛநग़
͔݅ΒϢʔβΛநग़ • ݅ʹ߹க͢ΔશϢʔβͷϦετΛ࡞ • 1ϢʔβϦετ ඦ ʙ ઍສ݅ • நग़ͨ͠ϢʔβϦετΛ࿈ܞઌʹૹ৴
• Secondary IndexΛ༻
શମΠϝʔδ
ղܾ͖ͯͨ͠
ղܾ͖ͯͨ͠ • ਪSSDͰͳ͍ͱύϑΥʔϚϯε͕ग़ͳ͍(স) • ίϨΫγϣϯͷIndex͕͑ͳ͍(࣌) • ΫϥΠΞϯτͷઃఆεϖοΫ • αʔόͷઃఆ •
etc... AerospikeͷαϙʔτͱҰॹʹղܾ શྗͰαϙʔτͯ͘͠ΕΔ
ղܾͨ͠ΛϐοΫΞοϓ
ղܾͨ͠ ͦͷ1 λΠϜΞτසൃ • 1ϢʔβͰઍͷ݅ʹͯ·Δ߹͋Δ • Secondary Index ͕ ݪҼ
• େྔRead/Write ͩͱ͑ΒΕͳ͍Β͍͠(࣌) ղܾํ๏ • Secondary Index༗ແͷ ΫϥελΛ࡞Δ • ͖ͬͱࠓͳΒେৎʁ
ղܾͨ͠ ͦͷ2 ΫϥελʹউखʹΈࠐ·ΕΔ • AerospikeͷΫϥελ͍͢͝ศར • ࡞ۀϛε͋Γɺผͷ2ͭͷΫϥελ͕ͬͭ͘͘ • ϊʔυΛΫϥελؒͰҠಈͤ͞Δͱ͖ʹൃੜ ղܾํ๏
• શڥͰNameSpaceΛΘ͚Δ
ղܾͨ͠ ͦͷ3 σʔλআ͕͍͔ͭͳ͍ • আ͕ଟ͍ͱ࣮ࡍʹফ͑Δ·Ͱ͕͔͔࣌ؒΔ • ૣ͘͢Δ͜ͱͰ͖Δ͕ύϑΥʔϚϯε͕མͪΔ • େྔʹআ͢ΔͳΒؾΛ͚ͭͨํ͕ྑͦ͞͏ ղܾํ๏
• σʔλͷੜଘظؒΛͪΌΜͱઃఆ͢Δ • ύʔςΟγϣϯαΠζม͑ͨΒྑ͘ͳͬͨΓ͠·
࠷ۙͬͯΈͨ͜ͱ
࠷৽όʔδϣϯΛࢼͯ͠Έͨ ɾ3.5.15 → 3.9.0.1 όʔδϣϯΞοϓ ɾόʔδϣϯΞοϓҎ֎Կ͍ͯ͠ͳ͍ ͜ΕͰͲΕ͚ͩมΘΔͷ͔
Migration NodeՃΓ͠Λͯ͠IN/OUT͕0ʹͳΔ·Ͱ ɾMigrationThread=1 20h -> 5h ɾMigrationThread=50 4h -> 50min
5ഒͷεϐʔυ!!
ॻ͖ࠐΈੑೳ • Secondary Index Λ༻ • UDFΛར༻ͨ͠ॻ͖ࠐΈ 3.5.15 -> 22,000TPS
3.9.0.1 -> 45,000TPSʂʂ ݶք·ͰݕূͰ͖ͳ͔ͬͨ ͚Ͳɺ·ͩ·͍͚ͩͦ͏
ࠓޙͬͯΈΑ͏ͱ͍ͯ͠Δ͜ͱ
Migration • σʔλྔ͕ଟ͍ͱ Migration ͷෛՙ͕ߴ͍ • σʔλྔ͕ଟ͍ͱόΧʹͳΒͳ͍ • ϦΞϧλΠϜॲཧʹக໋తʹ •
NodeͷՃා͍ • NodeΛൈ͘ͷͬͱා͍
ϋʔυোͷରԠ • ͱݴͬͯϋʔυઈରʹյΕΔ ͯ͞ɺͲ͏ͨ͠ͷ͔ • λΠϜΞτ͕େྔൃੜ͢Δঢ়گආ͚͍ͨ • ͏ҰݸΫϥελͭ͘Εྑ͍Μ͡Ό? • XDRͰ͖Δ͡ΌΜʂ
ͱ͍͏Θ͚Ͱ • ݱࡏXDRڥΛߏஙɺݕূத • ݩͷΫϥελΛ2ͭʹ͚ͯ࡞ • ग़དྷΔݶΓmigrationΛආ͚Δ • όʔδϣϯΞοϓʹॊೈʹରԠͰ͖ΔͷͰʁ
৭ʑͱΛ͖͋͛ͯ·͕ͨ͠
ݱঢ়ͷΈ Aerospike Ͱͳ͍ͱ࣮ݱͰ͖͍ͯͳ͍
͔ͳΓཁٻ͕ߴ͘ͳ͍ͬͯ·͢ ࣮ࡍɺ͍Ͱ͢ɻ αϙʔτੌ͍ʂ
·ͱΊ ɾ͍͚Ͳɺۜͷؙ͡Όͳ͍ ɾσʔλಛੑ Λཧղͯ͠ઃܭ͢Δ ɾmigrationൃੜ࣌ͷෛՙݕূ Λ ɾසൟʹআ͞ΕΔ ߹ݕূ͖͢
࠷ޙʹ ҰॹʹؤுΔ ؒ Λืू͍ͯ͠·͢ʂ େنσʔλ Λ ࠷৽ٕज़ Ͱ ࠷ߴͷՁ Λಧ͚Δ͜ͱʹڵຯ͕͋Δํ
ੋඇɺ͝࿈བྷ͍ͩ͘͞ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠