Azure Monitor & Application Insight to monitor Infrastructure & Application
Gotszling mogo db-membase
1. NoSQL at About.me
Luke Gotszling
Aol
about.me/luke
luke@about.me
February 8, 2012
NoSQL in the Real World
1
2. NoSQL
★ Membase ★ MongoDB
• Sessions • User profile data
• User profile data • Dashboard data
• Dashboard data • Asynchronous task
queues
• Rate limits
• ...
• ...
2
3. Membase
http://www.couchbase.com/membase
• Don’t roll your own
client-side key hashing
algorithm
• Scales up and down • Operational differences
• No change in application • Need to be aware of
utilization
• No new libraries
• Web console for admin
• 20MB object limit by
default
3
4. Membase
http://www.couchbase.com/membase
• Like memcached (ascii and binary)
• Sharding invisible to the application
(moxi proxy)
• Disk persistence / failover options
• Dynamically add and remove nodes
• 3ms inter-datacenter retrieval
(including application latency)
• New version: Couchbase
4
5. Membase:
Architecture
http://www.couchbase.com/docs/membase-manual-1.7/membase-deployment.html
Image used with permission from Couchbase
5
6. Membase:
Web Console
http://www.couchbase.com/docs/membase-manual-1.7/membase-admin-web-console.html
Image used with permission from Couchbase
6
7. MongoDB: Part 1
http://www.mongodb.org
★ Document store
• Some user data and memoized
information
• about.me: 44kB avg. document size
7
8. MongoDB: Part 2
http://www.mongodb.org
★ Message queue • Ability to re-shard
• Not AMQP dynamically
• Tailored persistence • Operational
• Async operations familiarity
• Batch processes • But... need to poll
• Per message • See my mongoSV
(document) presentation:
atomicity bit.ly/mongo-as-mq
8
9. MongoDB: Part 3
http://www.mongodb.org
★ Auto-increment document store
• Autoincrementing data storage classes
• Custom class-based ORM
• AutoIncrement: side counting collection
or optimistic loop [1]
• ACID
[1] http://www.mongodb.org/display/DOCS/How+to+Make+an+Auto
+Incrementing+Field
9