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
Intro to MongoDB
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
20spokes
May 17, 2012
Programming
270
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Intro to MongoDB
Introduction to MongoDB
20spokes
May 17, 2012
More Decks by 20spokes
See All by 20spokes
Start Your Startup: The Essential Steps to Launch Your Idea
ryan_fischer
1
93
Intro to MongoDB (Updated)
ryan_fischer
2
96
MongoDB and Ruby on Rails
ryan_fischer
2
190
Geospatial Indexing with MongoDB
ryan_fischer
3
120
Other Decks in Programming
See All in Programming
引き算の組織 ― アウトカムとAIに全振りするために辞めたこと ― / Organization by Subtraction
hirokiyamamoto14
PRO
0
280
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
130
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
250
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
590
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
280
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
2
420
React本体のコードリーディング
high_g_engineer
1
150
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.6k
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
130
バグを直したら useEffect が消えた
colorful12
3
690
Hono + Inertia + React で LP を構築した話
oukayuka
2
140
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
460
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
The Cost Of JavaScript in 2023
addyosmani
55
10k
So, you think you're a good person
axbom
PRO
2
2.1k
Everyday Curiosity
cassininazir
0
290
Darren the Foodie - Storyboard
khoart
PRO
3
3.7k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
How to Ace a Technical Interview
jacobian
281
24k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Become a Pro
speakerdeck
PRO
31
6.2k
30 Presentation Tips
portentint
PRO
1
370
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Transcript
MongoDB 101 Ryan Fischer @ryanfischer20 Thursday, May 17, 12
What you will hear What is NoSQL Available NoSQL Databases
Intro to MongoDB Thursday, May 17, 12
What is NoSQL Thursday, May 17, 12
Fancy Answer NoSQL is a class of database management system
identified by its non-adherence to the widely-use relational database management system Thursday, May 17, 12
My Answer It’s not SQL Thursday, May 17, 12
Does not use SQL as its query language May not
give full ACID guarantees Distributed architecture Typically optimized for reading and writing operations Thursday, May 17, 12
Advantages Thursday, May 17, 12
Traditional Scaling Bigger is better! (or so they thought) Increase
the size and power of the server Thursday, May 17, 12
Scaling with NoSql Scale horizontally! Distribute across multiple servers More
economical using lower-cost servers Thursday, May 17, 12
Goodbye Schemas Flexible data models Easy to add/change data structures
Thursday, May 17, 12
Disadvantages Thursday, May 17, 12
Goodbye Schemas Flexible data structures Application dependent on integrity Thursday,
May 17, 12
NoSQl is Still Young Does not reduce administration (at least
not yet) Lack of expertise Lack of projects expanding on NoSQL Thursday, May 17, 12
NoSQL Databases Cassandra MongoDB CouchDB Redis Riak Neo4j Thursday, May
17, 12
How is it used? Thursday, May 17, 12
NoSQL out in the Wild Analytics - takes advantage of
read/write optimizations Logging Large Scale Projects Thursday, May 17, 12
MongoDB Thursday, May 17, 12
What is MongoDB Document Oriented Storage Replication & Auto-Sharding Document-based
queries similar to SQL Atomic Updates Map/Reduce Thursday, May 17, 12
Document Oriented No schemas!! No joins for high performance and
scalability embed documents JSON-Style storage Thursday, May 17, 12
High Performance Stores a lot of data in memory Embedding
documents increase read and writes Allows indexing Thursday, May 17, 12
Availability and Scalability Replicated servers with automatic master failover Auto-sharing
across servers Consistent reads distributed over replicated servers Thursday, May 17, 12
Atomic Modifers In place updating documents Does not replace entire
document Ideally suited for write heavy applications Thursday, May 17, 12
Storing data Data is grouped by collections Collection contains documents
of key-value pairs Values can be rich including arrays and documents Stored as BSON - Binary Serialized Document Notation Thursday, May 17, 12
Querying Javascript console allows for functions Returns a cursor -
lazy load of results Queries expressed as JSON Documents auto-assigned ObjectId Thursday, May 17, 12
Examples Interactive time! Goto to https://gist.github.com/2719591 for examples Thursday, May
17, 12
Embed vs Referenced Relationships for models Object Models - Think
differently When in doubt store in different collection Thursday, May 17, 12
Geospatial Queries Thursday, May 17, 12
SQL SELECT * FROM Places WHERE acos(sin(1.3963) * sin(Lat) +
cos(1.3963) * cos(Lat) * cos(Lon - (-0.6981))) * 6371 <= 1000; Thursday, May 17, 12
Exact Queries Search by closest points Ways to search Thursday,
May 17, 12
Query within a rectangle Circle with a center point and
radius Search within a polygon ( >= 1.9 ) Bound Queries Thursday, May 17, 12
Thursday, May 17, 12
Thursday, May 17, 12
Spherical Model Use decimal degrees - 42.53 Use [longitude, latitude]
as ordering Use radians for distance $nearSphere and $centerSphere Thursday, May 17, 12
GridFS Store large files in MongoDB Stores it in chunks
Thursday, May 17, 12
What is Sharding Allows MongoDB to scale horizontally Evenly distributes
chunks of data Performed per collection Thursday, May 17, 12
Thursday, May 17, 12
Disadvantages No inherit transaction support Scaling sometimes isn’t simple Multiple
servers recommended Object modeling can be complex Thursday, May 17, 12
Advantages Active community including 10Gen Driver support for most languages
Many new features to come Thursday, May 17, 12
The big data loss debate Internet flame war history Mongo
performs one write at a time - global lock Stored in memory Replication - fail over Thursday, May 17, 12
The End Follow me - @ryanfischer20 Thursday, May 17, 12
Thursday, May 17, 12