For the first time in four decades something new is happening in the database world. Five years ago a multitude of so called NoSQL databases were born to address the Big Data challenge. Data volumes and often also user volumes have grown a hundred or thousand times larger compared to what we were dealing with just one decade ago. Also the data has evolved to be more complex and more heterogeneous, and it doesn't easily fit into rows and columns anymore.
MongoDB is the leading NoSQL database. The hundreds of thousands of MongoDB clusters out there range from startups and their server side JavaScript architectures to bankers and government officials with their Java stacks. In this talk we will explore 5 features that made MongoDB stand out from the NoSQL crowd.
Henrik Ingo - About the Speaker
Henrik Ingo is a MongoDB Solutions Architect based in Helsinki and leads the Telecom Solution Architecture team. Prior to MongoDB he worked as a database performance architect at Nokia, and in various roles in MySQL, Sun Microsystems, MariaDB and Galera.
3. 5 Reasons that made MongoDB
the Leading NoSQL Database
Henrik Ingo
Solutions Architect, MongoDB
4. 4
1. Open Source
2. Replication
3. Sharding
4. Schemaless
5. Cloud, Big Data...
5 MongoDB features that are
NOT reasons to choose MongoDB
5. 5
1. Open Source
2. Replication
3. Sharding
4. Schemaless
5. Cloud, Big Data...
Reasons to move FROM relational TO NoSQL
...all NoSQL Databases do this.
6. Ok, so what ARE the
Top 5 reasons to choose MongoDB?
8. 8
1. General Purpose Database
Big Data Product & Asset
Catalogs
Security &
Fraud
Internet of
Things
Database-as-a-
Service
Mobile
Apps
Customer Data
Management
Data
Hub
Social &
Collaboration
Content
Management
Intelligence Agencies
Top Investment and
Retail Banks
Top US Retailer
Top Global Shipping
Company
Top Industrial Equipment
Manufacturer
Top Media Company
Top Investment and
Retail Banks
10. 10
MongoDB is a Document Database
MongoDB
Rich Queries
• Find Paul’s cars
• Find everybody in London with a car
built between 1970 and 1980
Geospatial
• Find all of the car owners within 5km of
Trafalgar Sq.
Text Search
• Find all the cars described as having
leather seats
Aggregation
• Calculate the average value of Paul’s
car collection
Map Reduce
• What is the ownership pattern of colors
by geography over time? (is purple
trending up in China?)
{
first_name: ‘Paul’,
surname: ‘Miller’,
city: ‘London’,
location:
[45.123,47.232],
cars: [
{ model: ‘Bentley’,
year: 1973,
value: 100000, … },
{ model: ‘Rolls Royce’,
year: 1965,
value: 330000, … }
}
}
23. 23
Rich query language = less code
MongoDB
Rich Queries
• Find Paul’s cars
• Find everybody in London with a car
built between 1970 and 1980
Geospatial
• Find all of the car owners within 5km of
Trafalgar Sq.
Text Search
• Find all the cars described as having
leather seats
Aggregation
• Calculate the average value of Paul’s
car collection
Map Reduce
• What is the ownership pattern of colors
by geography over time? (is purple
trending up in China?)
{
first_name: ‘Paul’,
surname: ‘Miller’,
city: ‘London’,
location:
[45.123,47.232],
cars: [
{ model: ‘Bentley’,
year: 1973,
value: 100000, … },
{ model: ‘Rolls Royce’,
year: 1965,
value: 330000, … }
}
}
33. 33
Big Data warning: data may be dirty
db.collection.find( { "firstname" : "Henrik" } )
db.pubs.find( { "addr:city" : { $exists : false } } ).count()
2291
db.pubs.find( { "addr:city" : { $exists : true } } ).count()
701
34. 34
Sharding is a first class citizen
db.collection.find( { "firstname" : "Henrik" } )
{ $match : ... }
{ $group : ... }
{ $sort : ... }
DB DB DB
Query Router