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
Tatsuya Sato
July 25, 2017
Technology
0
2.7k
小宇宙は燃えているか?
JAZUG #7 LT の資料
Tatsuya Sato
July 25, 2017
Tweet
Share
More Decks by Tatsuya Sato
See All by Tatsuya Sato
受託開発受注のためのちょっとしたコツ 〜「何でもかんでもやります」じゃなく、まずはデモ〜 / demonstation first
satoryu
0
1.5k
これが私のXP 〜 eXtreme Punning 〜 変化をウケろ / this is my XP
satoryu
1
1.9k
音のような言葉 〜ちゃちゃっとチャットで楽しむちょっとしたコツ〜 / words like sounds
satoryu
1
3.7k
ふらっと立ち寄れる 廊下のある風景 - フラットでオープンネスがもたらす魅力 / The Corridor
satoryu
1
2.9k
Make it fun
satoryu
1
4.1k
なぜ私はチームにい続けるのか。あるいは、エンジニアとしての成長のためのチームの活用について。 / Why I continue to be in the team #RSGT2021
satoryu
0
6.3k
リモート時代のソロプログラミング - soloprogramming for work from home
satoryu
0
1.4k
Why do you fear contributing OSS? #xpjug
satoryu
5
12k
あるOSSの死と再生、それとこれから先 / How an OSS also arises
satoryu
0
310
Other Decks in Technology
See All in Technology
La gouvernance territoriale des données grâce à la plateforme Terreze
bluehats
0
180
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
180
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
460
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
190
Modern Linux
oracle4engineer
PRO
0
150
テストを軸にした生き残り術
kworkdev
PRO
0
210
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
260
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.3k
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
200
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.5k
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
120
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
430
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
KATA
mclloyd
32
14k
GitHub's CSS Performance
jonrohan
1032
460k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Docker and Python
trallard
46
3.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Optimizing for Happiness
mojombo
379
70k
Transcript
খӉ೩͍͑ͯΔ͔ʁ - Azure Cosmos DBΛյͪ͠Όͬͨ - JAZUG Night, 25h Jul
2017 Tatsuya Sato Rakuten, Inc.
2 ࠤ౻ཽ ৽نαʔϏε։ൃ෦ Ruby, Agile, Azure
ઌɺͱ͋ΔΤϰΝʹհ͞Εͨهࣄ͕όζΓ·ͨ͠ɻ 3 ϝιουͷϒϩά http://simplearchitect.hatenablog.com/entry/2017/06/19/080036
Ϟϒϓϩάϥϛϯάͯ͠·͢ɻ 4 ίί
ࠓͷ͓ • Azure Cosmos DBΛۀͰͬͯΈͨΒɺյ ͪ͠Όͬͨɻ • ͬͨ͜ͱɺࠔͬͨʢͯΔʣ͜ͱͷ • Cosmos
DBͷ͍ํͷ͠·ͤΜɻ • υΩϡϝϯτΛಡΜͰɺͬͯΈͯ͘ ͍ͩ͞ɻ 5
ͬ͘͟Γͱ͓ࣄʹ͍ͭͯ • ৽نࣄۀ։ൃ • ·ͩPoCͷஈ֊ • σϞˠϑΟʔυόοΫˠमਖ਼ˠσϞ ͷαΠ ΫϧΛૣ͘ճ͍ͨ࣌͠ظ 6
WHY DO WE CHOOSE COSMOS DBʁ ͳͥCosmos DBΛબΜͩͷ͔ 7
બࢶ • Azure SQL Database • Azure Database for MySQL
• Azure Cosmos DB 8
Azure SQL Database • ։ൃڥߏங͕େมͦ͏ • ϝϯόʔͷڥ͕MacɺWinࠞࡏ • ϝϯόʔͷ୭ར༻ܦݧͳ͠ •
Ͱɺ͙͢ʹϓϩμΫτ։ൃʹணख͍ͨ͠… 9
Azure Database for MySQL • MySQLɺ·͡MySQL • ͜Ε·Ͱͷܦݧ͕׆͔ͤͦ͏ʂ • ͔͠͠ɺPreview൛…
• ͦ͜Ͱ᪴͘ΑΓ͔ɺϓϩμΫτ։ൃʹूத ͍ͨ͠… 10
Azure Cosmos DBͷಛ • ϚϧνσʔλϞσϧ • SQL, Mongo API, Key-Value,
Graph • Ϧʔδϣϯލ͍ͩϨϓϦέʔγϣϯ • ߴ͍SLA • ಉ͡ϦʔδϣϯͰ͋ΕಡΈࠐΈ10msҎ Λ99%Ͱอূ 11
Azure Cosmos DB • ͨ·ͨ·ϝϯόʔશһʹMongoDBͷར༻ܦݧ ͕͋ͬͨɻ • ϩʔΧϧͰͷ։ൃڥMongoDBΛΠϯε τʔϧ͢ΕOK •
PHPͷAzure DocumentDB API ͷϥΠϒϥ Ϧ͚͋ͬͨͲɺ։ൃ͕ࢭ·ͬͯͨɻ 12
ଞͷAPIͰܨ͙ Document DBλΠϓʹMongo APIͰɺMongoλΠϓʹDocumentDB APIͰܨ͙ 13
େͳ͜ͱ 14 ଞͷAPIͰͷଓใϙʔλϧ ʹࡌͬͯͳ͍ɻ
େͳ͜ͱ 15 ଞͷAPIͰͷଓใͷऔಘํ๏ υΩϡϝϯτʹʢ͓ͦΒ͘ʣͳ͍ɻ
DocumentDB MongoDB 16
17 ͔͠͠ޓੑ͋Δɻ
DocumentDBʹMongo APIͰܨ͙࣌ͷURL • mongodb://ΞΧϯτ໊:ϚελʔΩʔ@ ΞΧϯτ໊.documents.azure.com: 10255/?ssl=true • Ϣʔβʔ໊ɺΞΧϯτ໊ • ύεϫʔυʹɺϚελʔΩʔ
• SSLͰͳ͍ͱଓͰ͖ͳ͍ͷͰҙ 18
MongoDBʹDocumentDB APIͰܨ͙࣌ͷURL • https://ΞΧϯτ໊.documents.azure.com:443 • ϚελʔΩʔͱͯ͠ɺMongoDB ͷύε ϫʔυΛͦͷ··͑Δɻ 19
ଞͷAZUREͷαʔϏεͱܨ͛Δ Functions, DataFactory ͳͲDocumentDB APIΛαϙʔτ 20
࠷ۙग़͖ͯͨཁ݅ • ڠྗձ͔ࣾΒσʔλΛऔΓࠐΈ͍ͨɻ • Treasuredata͔ΒAzure Blob Storageʹ CSVΛग़ྗՄೳ • ͔ͦ͜ΒઌΛͲ͏͠Α͏ʁ
• Functions? 21
Azure DataFactory • σʔλͷύΠϓϥΠ ϯɺεέδϡʔϦϯά ͷαʔϏε • ୯७ͳσʔλͷΠϯ ϙʔτͳΒJSONͰઃ ఆΛॻ͚ͩ͘ɻ
22
͜Μͳײ͡ 23 ΄ͱΜͲίʔυΛॻ͔ͣʹσʔλ࿈ܞΛ࣮ݱʂ
Cosmos DBɺյΕͨ… 24 “Blender Cycles - Armageddon” by NGCHunter2 /
CC BY-NC-ND
Կ͕ى͖ͨͷ͔ʁ • MongoDBʹDocumentDB APIܦ༝ͰσʔλΛೖΕΔͱյΕ Δɻ • InsertͰ͖Δ͚ͲɺRead͕Ͱ͖ͳ͘ͳͬͨɻ • Data FactoryԿͳ͘σʔλΛೖΕଓ͚Δ…
25
Ͳ͏ΒશʹޓͰͳ͍ͬΆ͍ • DocumentDB ʹMongo APIͰσʔλՃ ʢࠓͷͱ͜Ζʣͳ͍ • DocumentDBΛ͑େৎʁ • ͚Ͳɺσʔλͷ࣋ͪํҟͳΔɻ
26
DocumentDB APIͰೖΕͨυΩϡϝϯτͷߏ • API͝ͱͰߏͷݟ͑ํ͕ҟͳΔɻ 27 DocumentDB API Mongo API
DocumentDBʹMongoAPI͔ΒಡΈॻ͖͢Δ࣌ͷϙΠϯτ • ঢ়گʹΑΓಠࣗʹIDΛ࠾൪͢Δඞཁ͋Γ • DocumentDB ͕͚ΔID "_rid" Mongo API͔Β͑ͳ͍ɻ •
ͦͷࡍͷIDͷ໊લɺDocumentDB͕͚Δଐੑ໊ͱҟͳΔ ͷ͕ྑ͍ɻ • ෦Ͱ໊લ͕มߋ͞Εͯ͠·͏ɻʢྫɿ _rid -> $_rid ʣ • DocumentDB APIͱMongo APIͰ͏͜ͱΛߟྀͨ͠ํ͕ྑ͍ɻ 28
·ͱΊ • MongoDB ʹDocumentDB APIͰσʔλΛೖΕΔͱ ʢࠓͷͱ͜Ζʣ2ͱ͑·ͤΜɻ • DocumentDB ͳΒMongo APIͰDocumentDB
API ͰಡΈॻ͖OK • DocumentDBͷ߹ɺMongoDBͱυΩϡϝϯτͷߏ ͕ҟͳΔͷͰσʔλઃܭ࣌ʹҙ͠·͠ΐ͏ɻ 29