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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
miuranobuaki
May 09, 2016
Technology
2.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Aerospikeで大規模データを扱う
Aerospike Meetup #3での発表資料です。
#4で発表した際に若干追加したので、
資料を更新しました
miuranobuaki
May 09, 2016
More Decks by miuranobuaki
See All by miuranobuaki
組織の変化に必要なことは 投資ではないだろうか? / What is needed to change the organization Isn't it an investment?
miuranobuki
2
4.2k
Scrumのロールだけでは足りなかったピースとしてのマネージャー / The roll of Scrum wasn't enough. Manager as a piece
miuranobuki
14
4.7k
普通の開発メンバーが リーダーになってやったこと
miuranobuki
21
14k
Other Decks in Technology
See All in Technology
AI時代のエンジニアキャリアについて今一度考える
sakamoto_582
2
1.3k
知見・人・API・DB・予算 ─ ナイナイ尽くしだった人事データ整備 with dbt、5年間の学び
ken6377
1
170
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
1
130
次世代ランサムウェア対策の考察 / 20260704 Mitsutoshi Matsuo
shift_evolve
PRO
5
1.7k
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
3.6k
SRE Lounge Hiroshimaへの招待
grimoh
0
390
プロンプト_きのこカンファレンス2026_LT
yurufuwahealer
0
140
ゼロをイチにする仕事が終わったあと
smasato
0
310
証券システムを10年Scalaで作り続けるということ - 関数型まつり2026
krrrr38
3
740
グローバルチームと挑むプロダクト開発
sansantech
PRO
1
160
Control Planeで育てるBtoB SaaSの認証基盤 - SRE NEXT 2026
pokohide
1
1.5k
最近評価が難しくなった
maroon8021
0
250
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
960
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Visualization
eitanlees
152
17k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
400
How to Talk to Developers About Accessibility
jct
2
280
The Spectacular Lies of Maps
axbom
PRO
1
850
Building Adaptive Systems
keathley
44
3.1k
Paper Plane (Part 1)
katiecoart
PRO
0
9.5k
Being A Developer After 40
akosma
91
590k
Raft: Consensus for Rubyists
vanstee
141
7.6k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
170
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
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ൃੜ࣌ͷෛՙݕূ Λ ɾසൟʹআ͞ΕΔ ߹ݕূ͖͢
࠷ޙʹ ҰॹʹؤுΔ ؒ Λืू͍ͯ͠·͢ʂ େنσʔλ Λ ࠷৽ٕज़ Ͱ ࠷ߴͷՁ Λಧ͚Δ͜ͱʹڵຯ͕͋Δํ
ੋඇɺ͝࿈བྷ͍ͩ͘͞ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠