A Morning with MongoDB Barcelona: Introduction
Transcript of A Morning with MongoDB Barcelona: Introduction
Morning with MongoDBBarcelona
Welcome!
Sunday, 21 October 12
Morning with MongoDBBarcelona
Bill Brooks - 10genNorberto Leite - 10gen
Pablo Enfedaque - TelefonicaJavier Perez-Griffo - Besol
Sunday, 21 October 12
Agenda• Introduction to NoSQL/MongoDB• MongoDB Fundamentals• Case Study:Telefonica• Coffee Break• Case Study:Besol• Other Use Cases• Roadmap and Futures• 10gen (the MongoDB company)• Roundtable Q&A• Networking
Sunday, 21 October 12
Database Evolution:Store Everything in RDBMs
Sunday, 21 October 12
Specialized RDBMS for OLAP/BI
Sunday, 21 October 12
MongoDB = Operational 'Big Data'
Sunday, 21 October 12
Increasing Complexity & CostDecreasing Productivity
Sunday, 21 October 12
Data Volume, Type & Use
Agile Development
New Hardware Architectures• Commodity servers• Cloud Computing• Horizontal Scaling
• Trillions of records• 100’s of millions of queries per second
• Real-Time Analytics• Unstructured / semi-structured
• Iterative• Continuous
Forcing Affecting Traditional RDBMS
Sunday, 21 October 12
NoSQL Really Means...non-relational, next-generation
operational datastores and databases
Sunday, 21 October 12
NoSQL Really Means...non-relational, next-generation
operational datastores and databases... focus on the “non-relational” bit.
Sunday, 21 October 12
ColumnKey-Value Document Graph
Cassandra MongoDBRedis Neo4j
NOSQL Categories
Sunday, 21 October 12
Which one is the best?
Sunday, 21 October 12
Which one is the best?
Sunday, 21 October 12
Which one should I use for my use case?
Sunday, 21 October 12
depth of functionality
scal
abili
ty &
per
form
ance •memcached
•key/value
• RDBMS
Sunday, 21 October 12
Why use MongoDB?• Easy to start
• Open source• Drivers in every major language
• Easy to develop• Schemaless document model• Flexible query language• Secondary indexes
• Easy to scale• Built in sharding• Asynchronous replication
Sunday, 21 October 12
Terminology
RDBMS MongoDBTable CollectionRow(s) JSON DocumentIndex IndexJoin Embedding & LinkingPartition ShardPartition Key Shard Key
Sunday, 21 October 12
Schemas in MongoDB
Design documents that simply map to your application
post = {author: "Hergé", date: new Date(), text: "Destination Moon", tags: ["comic", "adventure"]}
> db.posts.save(post)
Sunday, 21 October 12
What MongoDB solves
Sunday, 21 October 12