41
MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Embed Size (px)

Citation preview

Page 1: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

MongoDB: What, why, when.

Solutions Architect, MongoDB Inc.

Massimo Brignoli

#mongodb

Page 2: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Who Am I?

• Solutions Architect/Evangelist in MongoDB Inc.

• 24 years of experience in databases and software development

• Former MySQL employee

• Previous life: web, web, web

Page 3: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Innovation

Page 4: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Understanding Big Data – It’s Not Very “Big”

from Big Data Executive Summary – 50+ top executives from Government and F500 firms

64% - Ingest diverse, new data in real-time

15% - More than 100TB of data

20% - Less than 100TB (average of all? <20TB)

Page 5: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

“I have not failed. I've just found 10,000 ways that won't work.” ― Thomas A. Edison

Page 6: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Back in 1970…Cars Were Great!

Page 7: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Lots of Great Innovations Since 1970

Page 8: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Would you use these technologies for your business today?

Page 9: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Including the Relational Database

Page 10: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

For which computers the relational model has been designed for?

Page 11: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

So Were Computers!

Page 12: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

And Storage!

Page 13: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

RDBMS Makes Development Hard

Relational Database

Object Relational Mapping

Application

Code XML Config DB Schema

Page 14: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

And Even Harder To IterateNew Table

New Table

New Colum

n

Name PetPhon

eEmail

New Colum

n

3 months later…

Page 15: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

RDBMS

From Complexity to Simplicity

MongoDB

{

_id : ObjectId("4c4ba5e5e8aabf3"),

employee_name: "Dunham, Justin",

department : "Marketing",

title : "Product Manager, Web",

report_up: "Neray, Graham",

pay_band: “C",

benefits : [

{ type :  "Health",

plan : "PPO Plus" },

{ type :   "Dental",

plan : "Standard" }

]

}

Page 16: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

MongoDB

The leading NoSQL database

Document Database

Open-Source

General Purpose

Page 17: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

7,000,000+ MongoDB Downloads

150,000+ Online Education Registrants

25,000+ MongoDB User Group Members

25,000+ MongoDB Days Attendees

20,000+ MongoDB Management Service (MMS) Users

Global Community

Page 18: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

To provide the best database for how we build and run apps today

MongoDB Vision

Build– New and complex

data– Flexible– New languages– Faster development

Run– Big Data scalability– Real-time– Commodity hardware– Cloud

Page 19: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Enterprise Big Data Stack

EDWHadoop

Man

agem

ent

& M

on

ito

rin

gS

ecurity &

Au

ditin

g

RDBMS

CRM, ERP, Collaboration, Mobile, BI

OS & Virtualization, Compute, Storage, Network

RDBMS

Applications

Infrastructure

Data Management

Online Data Offline Data

Page 20: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Agile

MongoDB Overview

Scalable

Page 21: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Operational Database Landscape

Page 22: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Document Data Model

Relational MongoDB

{ 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, … } ]}

Page 23: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Document Model Benefits

• Agility and flexibility– Data models can evolve easily– Companies can adapt to changes quickly

• Intuitive, natural data representation– Developers are more productive– Many types of applications are a good fit

• Reduces the need for joins, disk seeks– Programming is more simple– Performance can be delivered at scale

Page 24: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Developers are more productive

Page 25: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Developers are more productive

Page 26: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Automatic Sharding

• Three types of sharding: hash-based, range-based, tag-aware

• Increase or decrease capacity as you go

• Automatic balancing

Page 27: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Query Routing

• Multiple query optimization models

• Each sharding option appropriate for different apps

Page 28: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

High Availability – Ensure application availability

during many types of failures

Disaster Recovery – Address the RTO and RPO goals

for business continuity

Maintenance – Perform upgrades and other

maintenance operations with no application downtime

Availability Considerations

Page 29: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Replica Sets

• Replica Set – two or more copies

• “Self-healing” shard

• Addresses many concerns:

- High Availability

- Disaster Recovery

- Maintenance

Page 30: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Single Data Center

• Automated failover

• Tolerates server failures

• Tolerates rack failures

• Number of replicas defines failure tolerance

Primary – A Primary – B Primary – C

Secondary – A

Secondary – A

Secondary – B

Secondary – B

Secondary – C

Secondary – C

Page 31: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Active/Standby Data Center

• Tolerates server and rack failure

• Standby data center

Data Center - West

Primary – A Primary – B Primary – C

Secondary – A

Secondary – B

Secondary – C

Data Center - East

Secondary – A

Secondary – B

Secondary – C

Page 32: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Active/Active Data Center

• Tolerates server, rack, data center failures, network partitions

Data Center - West

Primary – A Primary – B Primary – C

Secondary – A

Secondary – B

Secondary – C

Data Center - East

Secondary – A

Secondary – B

Secondary – C

Secondary – B

Secondary – C

Secondary – A

Data Center - Central

Arbiter – A Arbiter – B Arbiter – C

Page 33: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Global Data Distribution

Real-time

Real-time Real-time

Real-time

Real-time

Real-time

Real-time

Primary

Secondary

Secondary

Secondary

Secondary

Secondary

Secondary

Secondary

Page 34: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Read Global/Write Local

Primary:NYC

Secondary:NYC

Primary:LON

Primary:SYD

Secondary:LON

Secondary:NYC

Secondary:SYD

Secondary:LON

Secondary:SYD

Page 35: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Common Use Cases

Page 36: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

High Volume Data Feeds

• More machine forms, sensors & data

• Variably structured

Machine Generated

Data

• High frequency trading• Daily closing price

Securities Data

• Multiple data sources• Each changes their format

consistently• Student Scores, ISP logs

Social Media /General Public

Page 37: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Operational Intelligence

• Large volume of users• Very strict latency requirements• Sentiment Analysis

Ad Targeting

• Expose data to millions of customers

• Reports on large volumes of data• Reports that update in real time

Real time dashboards

• Join the conversation• Catered Games • Customized Surveys

Social Media Monitoring

Page 38: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Metadata

• Diverse product portfolio• Complex querying and filtering• Multi-faceted product attributes

Product Catalogue

• Data mining• Call records• Insurance Claims

Data analysis

• Retina Scans• FingerprintsBiometric

Page 39: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Content Management

• Comments and user generated content

• Personalization of content and layout

News Site

• Generate layout on the fly• No need to cache static pages

Multi-device rendering

• Store large objects• Simpler modeling of metadataSharing

Page 40: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Questions?

Page 41: MongoDB: What, why, when. Solutions Architect, MongoDB Inc. Massimo Brignoli #mongodb

Thanks!

@massimobrignoli

Massimo Brignoli

#MongoDB

Solutions Architect, MongoDB Inc.

[email protected]