Your SlideShare is downloading. ×
0
Charity Majors
@mipsytipsy
</>
Mobile Backend as a Service
Data Storage
Push Notifications
Analytics
Server-Side Code
300K
250K
200K
150K
100K
50K
0
2011 2012 2013 2014 2015
Apps Built On Parse
270,000+
250%developers
500%api requests
a love^Wless hateful story
MongoDB + Ops:
?
MongoDB + Ops:
?
Reliability
Flexibility
Automation
1
2
3
Reliability
Flexibility
Automation
1
2
3
re · li · abil · i · ty (noun)	

ri-ˌlī-ə-ˈbi-lə-tē
1. Through resiliency	

2. Magic of the replica set
Replica Set
Pets?
No Pets!
Arbiters
Extra Votes
Spanning AZs
Spanning DCs
Non-voting
Hidden
Client Logic
More!
Planning for failure.
Reliability
Flexibility
Automation
1
2
3
When you change a schema, everything breaks!
DATA MODEL FLEXIBILITY
DATA MODELWORKLOAD FLEXIBILITY
270kapps hosted on Parse
270kapps hosted on Parse
270kdifferent workloads
=
270kapps hosted on Parse
270kdifferent workloads
=
Every app must be individually performant!
DEPLOYMENT
BACKUPS
RECOVERY
DISASTER RECOVERY
DRIVERS
PARTIAL FAILURES
PERFORMANCE TUNING
INDEXING PLAN
DESIGN FAILOVER PL...
ONEre-usable solution
Reliability
Flexibility
Automation
1
2
3
Replica Set
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VPC
VP...
+
PLEASE. SHARE YOUR TOOLS.
MongoDB Chef Cookbook
github.com/ParsePlatform/Ops/tree/master/chef/cookbooks/mongodb
AWS Chef Cookbook (ec2 raid recipe)
...
Mongo Proxy
github.com/xxxxxx
Flashback
github.com/xxxxxx
NEW
NEW
Mongo Proxy
url url url url -- naitik shah (& blog post url)
NEW
Flashback
url url url url -- kai liu (& blog post url)
NEW
a love story[*]. The End
* mutual loathing, bitterness, mistrust. Love the one you’re with.
MongoDB + Ops:
“Which database do I hate
the most?”
“Which database do I hate
the most?”
“The one I’m using right now”
Charity Majors	

@mipsytipsy
Mongo db parse-v17
Mongo db parse-v17
Mongo db parse-v17
Mongo db parse-v17
Mongo db parse-v17
Mongo db parse-v17
Mongo db parse-v17
Mongo db parse-v17
Upcoming SlideShare
Loading in...5
×

Mongo db parse-v17

1,246

Published on

Parse powers over 250k mobile apps on MongoDB. Since we can have no prior knowledge of the schemas or usage patterns or scaling requirements for each app, we rely on advanced operational techniques and best practices for managing MongoDB and maintaining peak performance. In this talk we will talk about the unique challenges of this use case, such as dealing with cotenancy issues and how to automatically generate good indexes for each app. I will talk about some of the interesting operational techniques involved in managing hundreds of databases and millions of collections on MongoDB, as well as running large and growing database ecosystems on AWS. I will also talk about some of our favorite black belt tips for tuning and scaling MongoDB. And finally we will talk about how to recover from performance-impacting incidents gracefully, without making everything worse for yourself.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,246
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
15
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Mongo db parse-v17"

  1. 1. Charity Majors @mipsytipsy
  2. 2. </> Mobile Backend as a Service Data Storage Push Notifications Analytics Server-Side Code
  3. 3. 300K 250K 200K 150K 100K 50K 0 2011 2012 2013 2014 2015 Apps Built On Parse 270,000+
  4. 4. 250%developers 500%api requests
  5. 5. a love^Wless hateful story MongoDB + Ops:
  6. 6. ? MongoDB + Ops: ?
  7. 7. Reliability Flexibility Automation 1 2 3
  8. 8. Reliability Flexibility Automation 1 2 3
  9. 9. re · li · abil · i · ty (noun) ri-ˌlī-ə-ˈbi-lə-tē 1. Through resiliency 2. Magic of the replica set
  10. 10. Replica Set
  11. 11. Pets?
  12. 12. No Pets!
  13. 13. Arbiters Extra Votes Spanning AZs Spanning DCs Non-voting Hidden Client Logic More!
  14. 14. Planning for failure.
  15. 15. Reliability Flexibility Automation 1 2 3
  16. 16. When you change a schema, everything breaks!
  17. 17. DATA MODEL FLEXIBILITY
  18. 18. DATA MODELWORKLOAD FLEXIBILITY
  19. 19. 270kapps hosted on Parse
  20. 20. 270kapps hosted on Parse 270kdifferent workloads =
  21. 21. 270kapps hosted on Parse 270kdifferent workloads = Every app must be individually performant!
  22. 22. DEPLOYMENT BACKUPS RECOVERY DISASTER RECOVERY DRIVERS PARTIAL FAILURES PERFORMANCE TUNING INDEXING PLAN DESIGN FAILOVER PLAN OPERATIONAL EXPERTISE
  23. 23. ONEre-usable solution
  24. 24. Reliability Flexibility Automation 1 2 3
  25. 25. Replica Set
  26. 26. VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC VPC
  27. 27. +
  28. 28. PLEASE. SHARE YOUR TOOLS.
  29. 29. MongoDB Chef Cookbook github.com/ParsePlatform/Ops/tree/master/chef/cookbooks/mongodb AWS Chef Cookbook (ec2 raid recipe) github.com/opscode-cookbooks/aws Continuous Compaction blog.parse.com/2013/03/26/always-be-compacting/ Warmup Scripts blog.parse.com/2013/03/07/techniques-for-warming-up-mongodb/
  30. 30. Mongo Proxy github.com/xxxxxx Flashback github.com/xxxxxx NEW NEW
  31. 31. Mongo Proxy url url url url -- naitik shah (& blog post url) NEW
  32. 32. Flashback url url url url -- kai liu (& blog post url) NEW
  33. 33. a love story[*]. The End * mutual loathing, bitterness, mistrust. Love the one you’re with. MongoDB + Ops:
  34. 34. “Which database do I hate the most?”
  35. 35. “Which database do I hate the most?” “The one I’m using right now”
  36. 36. Charity Majors @mipsytipsy
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×