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.6k
ふらっと立ち寄れる 廊下のある風景 - フラットでオープンネスがもたらす魅力 / The Corridor
satoryu
1
2.8k
Make it fun
satoryu
1
4k
なぜ私はチームにい続けるのか。あるいは、エンジニアとしての成長のためのチームの活用について。 / Why I continue to be in the team #RSGT2021
satoryu
0
6.3k
リモート時代のソロプログラミング - soloprogramming for work from home
satoryu
0
1.3k
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
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
150
生成AI活用の組織格差を解消する 〜ビジネス職のCursor導入が開発効率に与えた好循環〜 / Closing the Organizational Gap in AI Adoption
upamune
5
3.4k
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
4
540
Fabric + Databricks 2025.6 の最新情報ピックアップ
ryomaru0825
1
140
生成AIでwebアプリケーションを作ってみた
tajimon
2
150
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
2
580
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
120
エンジニア向け技術スタック情報
kauche
1
260
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
140
Кто отправит outbox? Валентин Удальцов, автор канала Пых
lamodatech
0
350
A2Aのクライアントを自作する
rynsuke
1
170
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
17
5.6k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
Building Applications with DynamoDB
mza
95
6.5k
How to train your dragon (web standard)
notwaldorf
94
6.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
KATA
mclloyd
29
14k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
A Modern Web Designer's Workflow
chriscoyier
694
190k
How GitHub (no longer) Works
holman
314
140k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
930
Scaling GitHub
holman
459
140k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
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