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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
無ければ作る! バイブコーディングで作ったものを一気に紹介
tatsuya1970
0
110
Azure SRE Agent x PagerDutyによる近未来インシデント対応への期待 / The Future of Incident Response: Azure SRE Agent x PagerDuty
aeonpeople
0
280
Tebiki Engineering Team Deck
tebiki
0
23k
分析画面のクリック操作をそのままコード化 ! エンジニアとビジネスユーザーが共存するAI-ReadyなBI基盤
ikumi
0
130
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
4
4k
KubeCon + CloudNativeCon NA ‘25 Recap, Extensibility: Gateway API / NRI
ladicle
0
170
Werner Vogelsが14年間 問い続けてきたこと
yusukeshimizu
2
310
AI時代、1年目エンジニアの悩み
jin4
1
150
今日から始めるAmazon Bedrock AgentCore
har1101
4
320
GCASアップデート(202510-202601)
techniczna
0
240
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
160
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
2
910
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.8k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
280
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
52
GitHub's CSS Performance
jonrohan
1032
470k
Abbi's Birthday
coloredviolet
1
4.6k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
320
BBQ
matthewcrist
89
10k
Visualization
eitanlees
150
17k
[SF Ruby Conf 2025] Rails X
palkan
0
740
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
240
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
77
How to Ace a Technical Interview
jacobian
281
24k
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ൃੜ࣌ͷෛՙݕূ Λ ɾසൟʹআ͞ΕΔ ߹ݕূ͖͢
࠷ޙʹ ҰॹʹؤுΔ ؒ Λืू͍ͯ͠·͢ʂ େنσʔλ Λ ࠷৽ٕज़ Ͱ ࠷ߴͷՁ Λಧ͚Δ͜ͱʹڵຯ͕͋Δํ
ੋඇɺ͝࿈བྷ͍ͩ͘͞ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠