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
社内LT2019/11/21
Search
Kento Matsumoto
November 21, 2019
Programming
0
64
社内LT2019/11/21
MongoDBについて
Kento Matsumoto
November 21, 2019
Tweet
Share
More Decks by Kento Matsumoto
See All by Kento Matsumoto
ストーリーポイント.pdf
stepanve
0
88
社内LT2020/01/23
stepanve
0
45
社内LT2019/11/7
stepanve
0
80
社内LT2019/10/24
stepanve
0
66
Other Decks in Programming
See All in Programming
Rancher と Terraform
fufuhu
2
240
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
140
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
400
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
220
MCPで実現するAIエージェント駆動のNext.jsアプリデバッグ手法
nyatinte
7
1.1k
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
250
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
470
為你自己學 Python - 冷知識篇
eddie
1
350
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
510
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
490
Featured
See All Featured
Building an army of robots
kneath
306
46k
We Have a Design System, Now What?
morganepeng
53
7.8k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
4 Signs Your Business is Dying
shpigford
184
22k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Faster Mobile Websites
deanohume
309
31k
Building Adaptive Systems
keathley
43
2.7k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
The Cult of Friendly URLs
andyhume
79
6.6k
Fireside Chat
paigeccino
39
3.6k
Transcript
Mongoの簡単な説明 (AWS DocumentDB) 社内勉強会:2019/11/21
MongoはNoSQLである。 NoSQL RDB NoSQL KVS ドキュメントDB リレーショナル DB 列指向型DB グラフSQL
キーバリュー ワイドカラム 用途 セッション ログ 正規化する必要 のないデータ 販売履歴と商 品 年間のレ ポート SNSの相関 図 例 Redis, MemoChach e, DataStore DynamoDB , Couchbase MongoDB, DocumentDB MySQL, PostgreSQL BigQuery, RedShift Neo4j, Polyglot
簡単なデモ
使っているツールの紹介 • Robo 3T https://robomongo.org/ ◦ シンプル ◦ 簡単なコマンドを叩く時 •
MongoDB Compass https://www.mongodb.com/products/compass ◦ 機能豊富 ◦ データの操作をする時
これから使えそうな機能
ジョインができる - Left Outer Joinのみできる db.facilities.aggregate( [ {$lookup: { from:
'facilityIds', // 結合するコレクション localField: 'id', // 結合元コレクションのフィールド foreignField: 'id', // 結合コレクションのフィールド as: 'c2' // 別名 } } ] );
バリデーションを設定できる - レベルがstrict、moderateを設定できる // strict 今のレコードも適応される updateもできなくなる db.runCommand( { collMod:
"facilities", // コレクション指定 validator: { phone: { $exists: true } }, validationLevel: "strict" // 不要 } ) // moderate 今のレコードは無視する。updateも問題なし。 db.runCommand( { collMod: "facilities", validator: { phone: { $exists: true } }, validationLevel: "moderate" } )
その他の機能 - 地図情報に対して、インデックスが張れる -> 貼ったindexに対して、近いものを選べる。$near .limit - トランザクション機能(Mongo4.0~) -> AWS
DocumentDBでは使えなさそう。。 - GridFS(ファイル保存:用途不明?)、全文検索(日本語未対応。。) etc.