Slide 1

Slide 1 text

Document DBs One of the NoSQL ways to handle your data

Slide 2

Slide 2 text

Document DBs - Definition Document-oriented databases store documents. A document is like a hash, with a unique ID field and values that may be any of a variety of types, including more hashes. Documents can contain nested structures, and so they exhibit a high degree of flexibility, allowing for variable domains. The system imposes few restrictions on incoming data, as long as it meets the basic requirement of being expressible as a document.

Slide 3

Slide 3 text

Document DBs - Major implementations 1. Mongo DB 2. Couch DB

Slide 4

Slide 4 text

Mongo DB - Core design goals Document Database designed with three main goals: scalability, performance and easy data access

Slide 5

Slide 5 text

Mongo DB - Structure

Slide 6

Slide 6 text

Mongo DB - Structure

Slide 7

Slide 7 text

Mongo DB - Create

Slide 8

Slide 8 text

Mongo DB - Read

Slide 9

Slide 9 text

Mongo DB - Read

Slide 10

Slide 10 text

Mongo DB - Read

Slide 11

Slide 11 text

Mongo DB - Read

Slide 12

Slide 12 text

Mongo DB - Read

Slide 13

Slide 13 text

Mongo DB - Read

Slide 14

Slide 14 text

Mongo DB - Update

Slide 15

Slide 15 text

Mongo DB - Update

Slide 16

Slide 16 text

Mongo DB - Delete

Slide 17

Slide 17 text

Mongo DB - Rails Mapping 1. MongoMapper 2. Mongoid

Slide 18

Slide 18 text

Mongo DB - Pro's ● Very flexible data model (No schema and nested values) ● Handle huge amount of data and requests via horizontal and vertical scaling ● Easy to use (Mongo commands close to SQL ones)

Slide 19

Slide 19 text

Mongo DB - Con's ● Encourage denormalization of schemas ● Mongo flexibility (about field names, ...) could be dangerous ● Require some effort to design and manage the data cluster

Slide 20

Slide 20 text

Mongo DB - Additional Features ● Replication ● Sharding ● GeoSpatial Requests ● GridFS

Slide 21

Slide 21 text

Mongo DB - Supporting Companies ● Foursquare ● Bit.ly ● CERN (for the LHC) ● Heroku ● The NY Times

Slide 22

Slide 22 text

References Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement by Eric Redmond and Jim R. Wilson

Slide 23

Slide 23 text

http://platypus.belighted.com/ @stephamant