2. Who am I?
I run engineering at Conversocial.
We help companies do social customer service.
http://www.conversocial.com
Love coding, ultimate frisbee and pudding
3. Growing MongoDB on AWS
Tips for ensuring you can grow MongoDB on
AWS as your business needs grow.
Mandatory meaningless graph
4. Single Server - Ephemeral
Single server with instance storage.
Not really advised.
Must haves:
● Journalling
http://www.mongodb.org/display/DOCS/Journaling
● Regular backups
http://www.mongodb.org/display/DOCS/Backups
5. Single Server - Ephemeral
Pros:
Easy to configure.
Cheap.
Cons:
No redundancy.
Data since last backup is lost on server death.
6. Single Server - EBS
Same as the last but move storage over to
EBS.
EBS is slow.
RAID 10 it.
http://bit.ly/mongodb-raid10
7. Single Server - EBS
Pros:
Easy to configure.
Data should still be available on server death.
Cheapish.
Cons:
No redundancy.
15. Vertical scaling
Use EBS boot.
Turn the server off. Resize. Turn it back on.
Seconds of downtime when using a replica set.
Without replica sets you will have downtime
16. Vertical scaling - SSDs
If you can afford them SSDs are the King.
● Conversocial got 43% faster.
● 90% iowait went to ~3% user, 0% iowait.
All numbers compared to instance with largest
memory (68.4gb)
17. Horizontal read scaling
Add more secondaries and use slave queries.
Really easy.
Make sure you have a hidden backup server.
Backups kill read performance.
Use write concerns for consistent reads.
18. Horizontal write scaling - Sharding
Fairly easy with MongoDB.
Backups get harder.
More to manage and configure. Automate it.
19. When to Shard?
If you know your data structure then sooner
If you don't... later
Changing shard keys is not trivial
20. Enterprise Availability
If you're hunting for the final decimal places of
availability...
You're probably going to break your application
more frequently than Amazon has a whole
region outage.
But...