ops jumpstart: mongodb administration 101

29
Ops 101 Asya Kam Principal Community Advoc Mong

Upload: mongodb

Post on 27-Nov-2014

577 views

Category:

Technology


4 download

DESCRIPTION

New to MongoDB? We'll provide an overview of installation, high availability through replication, scale out through sharding, and options for monitoring and backup. No prior knowledge of MongoDB is assumed. This session will jumpstart your knowledge of MongoDB operations, providing you with context for the rest of the day's content.

TRANSCRIPT

Page 1: Ops Jumpstart: MongoDB Administration 101

Ops 101

Asya KamskyPrincipal Community Advocate

MongoDB

Page 2: Ops Jumpstart: MongoDB Administration 101

Operational Database Landscape

Page 3: Ops Jumpstart: MongoDB Administration 101

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 4: Ops Jumpstart: MongoDB Administration 101

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 5: Ops Jumpstart: MongoDB Administration 101

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 6: Ops Jumpstart: MongoDB Administration 101

ShellCommand-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”

}

Haskell

Page 7: Ops Jumpstart: MongoDB Administration 101

Scalability

Page 8: Ops Jumpstart: MongoDB Administration 101

Automatic Sharding

• Increase or decrease capacity as you go

• Automatic balancing

• Three types of sharding:

hash-based

range-based

tag-aware

Page 9: Ops Jumpstart: MongoDB Administration 101

Query Routing

• Multiple query optimization models

• Many sharding options appropriate for different apps

Page 10: Ops Jumpstart: MongoDB Administration 101

High Availability

Page 11: Ops Jumpstart: MongoDB Administration 101

• 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 12: Ops Jumpstart: MongoDB Administration 101

Replica Sets

• Replica Set – two or more copies

• “Self-healing” shard

• Addresses many concerns:

- High Availability

- Disaster Recovery

- Maintenance

Page 13: Ops Jumpstart: MongoDB Administration 101

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 14: Ops Jumpstart: MongoDB Administration 101

Performance

Page 15: Ops Jumpstart: MongoDB Administration 101

Better Data Locality

Performance

In-Memory Caching In-Place Updates

Page 16: Ops Jumpstart: MongoDB Administration 101

Performance at Scale

• 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

Page 17: Ops Jumpstart: MongoDB Administration 101

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 18: Ops Jumpstart: MongoDB Administration 101

Key Deployment Considerations

Capacity Planning

• Requirements

• Testing

• Monitoring

Page 19: Ops Jumpstart: MongoDB Administration 101

Key Performance Considerations

Capacity Planning

• Requirements

• Testing

• Monitoring

Performance Tuning

• Understanding

• Adjusting

• Monitoring

Page 20: Ops Jumpstart: MongoDB Administration 101

Monitoring

Page 21: Ops Jumpstart: MongoDB Administration 101

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 22: Ops Jumpstart: MongoDB Administration 101

MongoDB Management ServiceCloud-based suite of services for managing MongoDB deployments

Page 23: Ops Jumpstart: MongoDB Administration 101

MongoDB Management Service

• Charts, custom dashboards and automated alerting

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

• 15,000+ users

Cloud-based suite of services for managing MongoDB deployments

Page 24: Ops Jumpstart: MongoDB Administration 101

• 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 25: Ops Jumpstart: MongoDB Administration 101

A Picture Speaks a Thousand Words

Page 26: Ops Jumpstart: MongoDB Administration 101

Symptoms

High Use CPU Similar Query Pattern

Page 27: Ops Jumpstart: MongoDB Administration 101

Monitoring Best Practices

• Monitor Logs– Alert, escalate– Correlate

• Disk– Monitor

• Instrument/Monitor App (including logs!)• Know your application and application (write) characteristics

Page 28: Ops Jumpstart: MongoDB Administration 101
Page 29: Ops Jumpstart: MongoDB Administration 101