A Morning with MongoDB Barcelona: Introduction

Preview:

Citation preview

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

Recommended