webinar: general technical overview of mongodb for ops teams

45
General Technical Overview of MongoDB for Ops Teams Senior Solutions Architect, MongoDB Asya Kamsky #MongoDB

Upload: mongodb

Post on 06-May-2015

1.644 views

Category:

Technology


1 download

DESCRIPTION

MongoDB is the leading open-source, document database. In this webinar we'll dive into the technical details of MongoDB by first focusing on what makes it different from traditional relational database management systems. We'll review data storage, high availability and scaling for MongoDB. Next we'll discuss what's involved in deploying MongoDB in production. Finally, we'll delve into some of the operational challenges including performance tuning, capacity planning and what it takes to deploy robust highly-available cluster topology.

TRANSCRIPT

Page 1: Webinar: General Technical Overview of MongoDB for Ops Teams

General Technical Overview of MongoDB for Ops Teams

Senior Solutions Architect, MongoDB

Asya Kamsky

#MongoDB

Page 2: Webinar: General Technical Overview of MongoDB for Ops Teams

MongoDB

Page 3: Webinar: General Technical Overview of MongoDB for Ops Teams

MongoDB

The leading NoSQL database

Document Database

Open-Source

General Purpose

Page 4: Webinar: General Technical Overview of MongoDB for Ops Teams

MongoDB Business Value

Enabling New Apps Better Customer Experience

Lower TCOFaster Time to Market

Page 5: Webinar: General Technical Overview of MongoDB for Ops Teams

4,000,000+ MongoDB Downloads

100,000+ Online Education Registrants

20,000+ MongoDB User Group Members

20,000+ MongoDB Days Attendees

15,000+ MongoDB Management Service (MMS) Users

Global Community

Page 6: Webinar: General Technical Overview of MongoDB for Ops Teams

MongoDB and Enterprise IT 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 7: Webinar: General Technical Overview of MongoDB for Ops Teams

Data HubUser Data Management

Big Data Content Mgmt & Delivery

Mobile & Social

MongoDB Solutions

Page 8: Webinar: General Technical Overview of MongoDB for Ops Teams

• 10 of the Top Financial Services Institutions

• 10 of the Top Electronics Companies

• 10 of the Top Media and Entertainment Companies

• 8 of the Top Retailers

• 6 of the Top Telcos

• 5 of the Top Technology Companies

• 4 of the Top Healthcare Companies

Fortune 500 & Global 500

Page 9: Webinar: General Technical Overview of MongoDB for Ops Teams

MongoDB Partners (200+)

Software & Services

Cloud & Channel Hardware

Page 10: Webinar: General Technical Overview of MongoDB for Ops Teams

Data Model

Page 11: Webinar: General Technical Overview of MongoDB for Ops Teams

Operational Database Landscape

Page 12: Webinar: General Technical Overview of MongoDB for Ops Teams

RDBMS

Agility

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 13: Webinar: General Technical Overview of MongoDB for Ops Teams

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 14: Webinar: General Technical Overview of MongoDB for Ops Teams

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 15: Webinar: General Technical Overview of MongoDB for Ops Teams

MongoDB is full featured

MongoDBRich 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

every user'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, … } }}

Page 16: Webinar: General Technical Overview of MongoDB for Ops Teams

Shell

Command-line shell for

interacting directly with

database

Shell and Drivers

DriversDrivers for most popular programming languages and frameworks

> db.collection.insert({company:“10gen”, product:“MongoDB”})> > db.collection.findOne(){

“_id” : ObjectId(“5106c1c2fc629bfe52792e86”),

“company” : “10gen”“product” : “MongoDB”

}

Java

Python

Perl

Ruby

Haskell

JavaScript

Page 17: Webinar: General Technical Overview of MongoDB for Ops Teams

Developers are more productive

Page 18: Webinar: General Technical Overview of MongoDB for Ops Teams

Scalability

Page 19: Webinar: General Technical Overview of MongoDB for Ops Teams

Automatic Sharding

• Increase or decrease capacity as you go

• Automatic balancing

• Three types of sharding:

hash-based

range-based

tag-aware

Page 20: Webinar: General Technical Overview of MongoDB for Ops Teams

Query Routing

• Multiple query optimization models

• Many sharding options appropriate for different apps

Page 21: Webinar: General Technical Overview of MongoDB for Ops Teams

High Availability

Page 22: Webinar: General Technical Overview of MongoDB for Ops Teams

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 23: Webinar: General Technical Overview of MongoDB for Ops Teams

Replica Sets

• Replica Set – two or more copies

• “Self-healing” shard

• Addresses many concerns:

- High Availability

- Disaster Recovery

- Maintenance

Page 24: Webinar: General Technical Overview of MongoDB for Ops Teams

Replica Set Benefits

Business Needs Replica Set Benefits

High Availability Automated failover

Disaster Recovery Hot backups offsite

Maintenance Rolling upgrades

Low Latency Locate data near users

Workload Isolation Read from designated nodes

Data Consistency Tunable Consistency

Page 25: Webinar: General Technical Overview of MongoDB for Ops Teams

Deployment Architecture

Page 26: Webinar: General Technical Overview of MongoDB for Ops Teams

MongoDB Architecture

Page 27: Webinar: General Technical Overview of MongoDB for Ops Teams

Deployment

• 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 28: Webinar: General Technical Overview of MongoDB for Ops Teams

Global Deployment/Local Writes

Primary:NYC

Secondary:NYC

Primary:LON

Primary:SYD

Secondary:LON

Secondary:NYC

Secondary:SYD

Secondary:LON

Secondary:SYD

Page 29: Webinar: General Technical Overview of MongoDB for Ops Teams

Global Data Distribution

Real-time

Real-time Real-time

Real-time

Real-time

Real-time

Real-time

Primary

Secondary

Secondary

Secondary

Secondary

Secondary

Secondary

Page 30: Webinar: General Technical Overview of MongoDB for Ops Teams

Performance

Page 31: Webinar: General Technical Overview of MongoDB for Ops Teams

Better Data Locality

Performance

In-Memory Caching

In-Place Updates

Page 32: Webinar: General Technical Overview of MongoDB for Ops Teams

Entertainment Company: 1,400 servers

Craigslist: 5B documents

Carfax: 11B documents

Tier 1 Bank: 30K ops/sec

Major Retailer: 50K ops/sec

Fed Agency: 500K ops/sec

Wordnik: 20B documents, 35,000 ops/sec

Performance at Scale

Page 33: Webinar: General Technical Overview of MongoDB for Ops Teams

MongoDB Performance*

Top 5 Marketing Firm

Government Agency

Top 5 Investment Bank

Data Key/value 10+ fields, arrays, nested documents

20+ fields, arrays, nested documents

Queries Key-based1 – 100 docs/query80/20 read/write

Compound queriesRange queriesMapReduce20/80 read/write

Compound queriesRange queries50/50 read/write

Servers ~250 ~50 ~40

Ops/sec 1,200,000 500,000 30,000

* These figures are provided as examples. Your application governs your performance.

Page 34: Webinar: General Technical Overview of MongoDB for Ops Teams

Capacity Planning

Requirements

Testing

Monitoring

Key Deployment Considerations

Page 35: Webinar: General Technical Overview of MongoDB for Ops Teams

Capacity Planning

Requirements

Testing

Monitoring

Performance Tuning

Understanding

Adjusting

Monitoring

Key Performance Considerations

Page 36: Webinar: General Technical Overview of MongoDB for Ops Teams

Monitoring

Page 37: Webinar: General Technical Overview of MongoDB for Ops Teams

Monitoring

• CLI and internal status commands• mongostat; mongotop;

db.serverStatus()

• Plug-ins for munin, Nagios, cacti, etc.

• Integration via SNMP to other tools

• MMS

Page 38: Webinar: General Technical Overview of MongoDB for Ops Teams

MongoDB Management Service

Cloud-based suite of services for managing MongoDB deployments

Page 39: Webinar: General Technical Overview of MongoDB for Ops Teams

Charts, custom dashboards and automated alerting

Tracks 100+ metrics – performance, resource utilization, availability and response times

15,000+ users

MongoDB Management Service

Cloud-based suite of services for managing MongoDB deployments

Page 40: Webinar: General Technical Overview of MongoDB for Ops Teams

Backup and restore with– point-in-time recovery, – support for sharded

clusters

Cloud-based suite of services for managing MongoDB deployments

• MMS On-Prem included with MongoDB Enterprise (backup coming soon)

MongoDB Management Service

Page 41: Webinar: General Technical Overview of MongoDB for Ops Teams

A Picture Speaks a Thousand Words

Page 42: Webinar: General Technical Overview of MongoDB for Ops Teams

Symptoms

High Use CPU Similar Query Pattern

Page 43: Webinar: General Technical Overview of MongoDB for Ops Teams

Monitoring Best Practices

• Monitor Logs– Alert, escalate– Correlate

• Disk– Monitor

• Instrument/Monitor App (including logs!)

• Know your application and application (write) characteristics

Page 44: Webinar: General Technical Overview of MongoDB for Ops Teams

Questions?

Page 45: Webinar: General Technical Overview of MongoDB for Ops Teams

Thank You

Senior Solutions Architect, MongoDB

Asya Kamsky

#MongoDB