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.8k
小宇宙は燃えているか?
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.6k
これが私のXP 〜 eXtreme Punning 〜 変化をウケろ / this is my XP
satoryu
1
2k
音のような言葉 〜ちゃちゃっとチャットで楽しむちょっとしたコツ〜 / 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.4k
リモート時代のソロプログラミング - 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
320
Other Decks in Technology
See All in Technology
その意思決定、まだ続けるんですか? ~痛みを超えて未来を作る、AI時代の撤退とピボットの技術~
applism118
42
24k
新しい風。SolidFlutterで実現するシンプルな状態管理
zozotech
PRO
0
140
ローカルVLM OCRモデル + Gemini 3.0 Proで日本語性能を試す
gotalab555
1
170
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
1
130
プロダクト負債と歩む持続可能なサービスを育てるための挑戦
sansantech
PRO
1
990
LINEギフト・LINEコマース領域の開発
lycorptech_jp
PRO
0
390
入社したばかりでもできる、 アクセシビリティ改善の第一歩
unachang113
2
350
re:Inventにおける製造業のこれまでとこれから
hamadakoji
0
360
LINEヤフー バックエンド組織・体制の紹介
lycorptech_jp
PRO
0
850
スタートアップの事業成長を支えるアーキテクチャとエンジニアリング
doragt
1
7.9k
Pandocでmd→pptx便利すぎワロタwww
meow_noisy
2
950
IPv6-mostly field report from RubyKaigi 2026
sorah
0
190
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
350
Typedesign – Prime Four
hannesfritz
42
2.9k
It's Worth the Effort
3n
187
29k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
GitHub's CSS Performance
jonrohan
1032
470k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Why Our Code Smells
bkeepers
PRO
340
57k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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