Mongodb

34
Document-oriented Storage Group : 25 Minoo Rouhi Vejdani Jitendra Kasaudhan Foteini Petridi Argon Lohaj Habtom Kahsay Gidey

description

Presentation about basic concepts on Document based database system MongoDB for beginners.

Transcript of Mongodb

Page 1: Mongodb

Document-oriented Storage

Group : 25Minoo Rouhi VejdaniJitendra Kasaudhan

Foteini PetridiArgon Lohaj

Habtom Kahsay Gidey

Page 2: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 2

Outline:

• Overview & Key features• Trade-offs & Comparisons• Use Cases & Competitors• Hands-on• Performance Test (My SQL vs Mongo)

7/1/2014

Page 3: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 3

Where we are in terms of SDLC:

7/1/2014

Page 4: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 4

What is MongoDB?

MongoDB is a ____ Database.

• No-SQL• Document-oriented • Cross-platform

7/1/2014

Page 5: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 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

Page 6: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 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

Page 7: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 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

Page 8: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 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

Page 9: Mongodb

9

Trade-offs(2)

7/1/2014 Minoo, Jitendra, Foteini, Agon, Habtom

Ref: http://fr.slideshare.net/DavidPeyruc/transmart-community-meeting-57-nov-13-session-2-mongodb-what-why-and-when

Page 10: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 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, update etc

Flexible data manipulation using object oriented API.

7/1/2014

Page 11: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 11

Relational vs. Non-Relational

Relational Non RelationalConsistency 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

Page 12: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 12

Big Data:Organizations are serving more data, more users, more insight with greater ease.

Customer Data Management:

Embracing new ways of managing and serving information about users, including metadata, preferences, user state and others

Content Management and Delivery:

Leading organizations are relying on MongoDB to build next-generation content management and achieve superior user experience.

Data Hub:MongoDB is often used as the central data hub for all of company data because of its ease of use, and scalability.

Use CasesMongoDB is a general purpose database suitable for most applications and use cases.

7/1/2014

Page 13: Mongodb

Use Cases

7/1/2014 Minoo, Jitendra, Foteini, Agon, Habtom 13

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/

Page 14: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 14

Use Case: Telefónica

Drawbacks of Oracle-based solution:

• Low performance issues

• Oversized storage requirements

• Data outdated

“Customers Data were neither shared nor usable”

They built a Personalisation Server using Oracle 11g to store customers profile data

Goal : “Rich services to market faster than ever before.”

7/1/2014

Page 15: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 15

Use case: Telefónica(2)

Results:

• Simple, extensible and maintainable schema

• Performance boost

• Lower storage requirements

(one third)

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.

MongoDB Solution:

7/1/2014

Page 16: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 16

Use case: Telefónica(3) Benefits :

• Cost Reduction

• Low time to market and more extensibility

• New opportunities for other products in market

7/1/2014

Source : http://www.mongodb.com/presentations/business-track-how-mongodb-helps-telefonica-digital-accelerate-time-market

Page 17: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 17

Major Competitors

7/1/2014

Page 18: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 18

No-SQL database comparison

7/1/2014

Page 19: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 197/1/2014

Hands On

1. Database Structure (Schema Design)

1.1. Concept Overview – Referenced vs. Embedded

2. CRUD Operations

3. MongoDB Web UI

4. MongoDB Trainings

5. Data View

Contents:

Page 20: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 207/1/2014

Performance Test(My SQL vs Mongo)

Page 21: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 217/1/2014

Thank You!Q&A

Page 22: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 227/1/2014

Backup Slides

Page 23: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 23

Installation Process(Windows)

1. Download the latest production release of MongoDB :

7/1/2014

Page 24: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 24

Installation Process(Windows)

2. Extract the downloaded archive to C:

7/1/2014

Page 25: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 25

Installation Process(Windows)

3. MongoDB requires a data folder to store its files. The default location for the MongoDB data directory is C:\data\db.

4. To start MongoDB, execute from the Command Prompt: C:\mongodb\bin\mongod.exe

7/1/2014

Page 26: Mongodb

5. Connect to MongoDB using the mongo.exe shell. Open another Command Prompt and issue the command: C:\mongodb\bin\mongod.exe

Installation Process(Windows)

Page 27: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 27

Backup Slides

7/1/2014

Hands On (1)

Page 28: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 28

Backup Slides

7/1/2014

Hands On (2)

Page 29: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 29

Backup Slides

7/1/2014

Hands On (3)

Page 30: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 30

Backup Slides

7/1/2014

Hands On (4)

Page 31: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 31

Backup Slides

7/1/2014

Hands On (5)

Page 32: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 32

Backup Slides

7/1/2014

Hands On (6)

Page 33: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 33

Backup Slides

7/1/2014

Hands On (7)

Page 34: Mongodb

Minoo, Jitendra, Foteini, Agon, Habtom 34

Reference

• http://www.mongodb.org/• http://en.wikipedia.org/wiki/MongoDB• http

://docs.mongodb.org/manual/tutorial/isolate-sequence-of-operations/• http://docs.mongodb.org/manual/faq/fundamentals/#does-mongodb-sup

port-transactions• http://www.mongodb.com/document-databases• http://www.mongodb.com/presentations/

7/1/2014