11
NoSQL at About.me Luke Gotszling Aol about.me/luke [email protected] February 8, 2012 NoSQL in the Real World 1

Gotszling mogo db-membase

Embed Size (px)

Citation preview

Page 1: Gotszling mogo db-membase

NoSQL at About.me

Luke GotszlingAol

about.me/[email protected]

February 8, 2012NoSQL in the Real World

1

Page 2: Gotszling mogo db-membase

NoSQL

★ Membase

• Sessions

• User profile data

• Dashboard data

• Rate limits

• ...

★ MongoDB

• User profile data

• Dashboard data

• Asynchronous task queues

• ...

2

Page 3: Gotszling mogo db-membase

• Don’t roll your own client-side key hashing algorithm

• Scales up and down

• No change in application

• No new libraries

• Web console for admin

• 20MB object limit by default

• Operational differences

• Need to be aware of utilization

Membasehttp://www.couchbase.com/membase

3

Page 4: Gotszling mogo db-membase

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

http://www.couchbase.com/membase

4

Page 5: Gotszling mogo db-membase

Image used with permission from Couchbase

Membase:Architecture

http://www.couchbase.com/docs/membase-manual-1.7/membase-deployment.html

5

Page 6: Gotszling mogo db-membase

Image used with permission from Couchbase

Membase:Web Console

http://www.couchbase.com/docs/membase-manual-1.7/membase-admin-web-console.html

6

Page 7: Gotszling mogo db-membase

MongoDB: Part 1

★ Document store• Some user data and memoized

information• about.me: 44kB avg. document size

http://www.mongodb.org

7

Page 8: Gotszling mogo db-membase

MongoDB: Part 2

★Message queue• Not AMQP• Tailored persistence• Async operations• Batch processes• Per message

(document) atomicity

• Ability to re-shard dynamically

• Operational familiarity

• But... need to poll• See my mongoSV

presentation: bit.ly/mongo-as-mq

http://www.mongodb.org

8

Page 9: Gotszling mogo db-membase

MongoDB: Part 3

★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

http://www.mongodb.org

9

Page 10: Gotszling mogo db-membase

Don’t forget to Shard each collection

10

Page 11: Gotszling mogo db-membase

Questions?

aol.it/aol-jobs

11