2. Outline:
•
•
•
•
•
Overview & Key features
Trade-offs & Comparisons
Use Cases & Competitors
Hands-on
Performance Test (My SQL vs Mongo)
7/1/2014
Minoo, Jitendra, Foteini, Agon, Habtom
2
3. Where we are in terms of SDLC:
7/1/2014
Minoo, Jitendra, Foteini, Agon, Habtom
3
4. What is MongoDB?
MongoDB is a ____ Database.
• No-SQL
• Document-oriented
• Cross-platform
7/1/2014
Minoo, Jitendra, Foteini, Agon, Habtom
4
5. History
• It is developed by 10gen
• In 2007 as a component of a planned platform as a
service product
• In 2009 as a commercial standalone product
7/1/2014
Minoo, Jitendra, Foteini, Agon, Habtom
5
6. Key Features
• Document Database: The possibility to store data in JSON like
documents
• Dynamic schema(schemeless): Flexible insertion of data without a
pre-defined schema.
7/1/2014
Minoo, Jitendra, Foteini, Agon, Habtom
6
7. Key Features(2)
• Auto-Sharding: Automatic and Easy scaling of the database
• Map/Reduce: Providing Flexible aggregation
• Open Source and Free!
7/1/2014
Minoo, Jitendra, Foteini, Agon, Habtom
7
8. Trade-offs
• High performance and availability.
• Dynamic schema: minimizes cost and time
when application
requirements changes.
• No joins: If you see yourself doing mission critical decisions inside your
application where you will need data from multiple documents
/collections, then you should think twice before using MongoDB.
• No complex transactions:
MongoDB does provide some basic
transactional capabilities. Atomic operations are possible within the scope
of a single document but multi-collection commits with rollback generally
aren’t feasible.
7/1/2014
Minoo, Jitendra, Foteini, Agon, Habtom
8
10. Relational vs. Non-Relational
Relational
Non Relational
Scaling
Less scalable.
Vertical scaling i.e a single server must
be made increasingly powerful in order
to deal with increased demand. It is
possible to spread SQL databases over
many servers, but significant additional
engineering is generally required.
Highly scalable.
Horizontal scaling i.e to
add capacity, a database
administrator can simply
add more commodity
servers or cloud instances.
The database automatically
spreads data across servers
as necessary.
Data
Manipulation
Specific language using select, insert, Flexible data manipulation
update etc
using object oriented API.
7/1/2014
Minoo, Jitendra, Foteini, Agon, Habtom
10
11. Relational vs. Non-Relational
Relational
Non Relational
Consistency
Provides better consistency.
Compromised consistency
in case of multi-object
transactions
Schemas
Structure and data types are fixed in
advance. To store information about a
new data item, the entire database
must be altered, during which time the
database must be taken offline.
Dynamic schema. Records
can add new information
on the fly, and unlike SQL
table rows, dissimilar data
can be stored together as
necessary.
7/1/2014
Minoo, Jitendra, Foteini, Agon, Habtom
11
12. Use Cases
MongoDB is a general purpose database suitable for most applications and use cases.
Big Data:
Organizations
are
serving more data,
more
users,
more
insight with greater
ease.
Content Management
and Delivery:
Leading organizations
are
relying
on
MongoDB to build nextgeneration
content
management
and
achieve superior user
experience.
7/1/2014
Customer Data
Management:
Embracing new ways of
managing and serving
information
about
users,
including
metadata, preferences,
user state and others
Data Hub:
MongoDB is often used
as the central data hub
for all of company data
because of its ease of
use, and scalability.
Minoo, Jitendra, Foteini, Agon, Habtom
12
13. Use Cases
MongoDB was selected for the enterprise content management (ECM)
section of the SAP’s platform-as-a-service (PaaS).
Storing Media Metadata on MongoDB: Includes pictures of every item for
sale on eBay.
McAfee Global Threat Intelligence (GTI) is a cloud-based intelligence service
that correlates data from millions of sources. MongoDB enables big data
analytics and supports the real-time flow of cyberthreat (viruses etc) data
between GTI and client products. It currently stores 4 billion documents –
terabytes of data.
“MetLife Wall” :An application allowing MetLife to see a 360-degree view of
all of the customer preferences and interactions, including policy details and
transactions across lines of business.
http://www.mongodb.com/presentations/
7/1/2014
Minoo, Jitendra, Foteini, Agon, Habtom
13
14. Use Case: Telefónica
Goal : “Rich services to market faster than ever before.”
They built a Personalisation Server using Oracle 11g to
store customers profile data
Drawbacks of Oracle-based solution:
•
Low performance issues
•
Oversized storage requirements
•
Data outdated
“Customers Data were neither shared nor usable”
7/1/2014
Minoo, Jitendra, Foteini, Agon, Habtom
14
15. Use case: Telefónica(2)
MongoDB Solution:
They built an new version of the Personalisation Server with MongoDB 2.0 in 3
months using only 3-4 developers. Some existing features were enhanced and new
ones were added.
Results:
•
Simple, extensible and maintainable schema
•
Performance boost
•
Lower storage requirements
(one third)
7/1/2014
Minoo, Jitendra, Foteini, Agon, Habtom
15
16. Use case: Telefónica(3)
Benefits :
•
Cost
Reduction
•
Low time to market and
more extensibility
•
New opportunities for other
products in market
Source : http://www.mongodb.com/presentations/business-trackhow-mongodb-helps-telefonica-digital-accelerate-time-market
7/1/2014
Minoo, Jitendra, Foteini, Agon, Habtom
16
25. Installation Process(Windows)
3.
4.
7/1/2014
MongoDB requires a data folder to store its files. The default location
for the MongoDB data directory is C:datadb.
To start MongoDB, execute from the Command Prompt:
C:mongodbbinmongod.exe
Minoo, Jitendra, Foteini, Agon, Habtom
25