General Technical Overview of
MongoDB for Ops Teams
Senior Solutions Architect, MongoDB
Asya Kamsky
#MongoDB
MongoDB
MongoDB
The leading NoSQL database
Document
Database
Open-
Source
General
Purpose
MongoDB Business Value
Enabling New Apps Better Customer Experience
Lower TCOFaster Time to Market
4,000,000+
MongoDB Downloads
100,000+
Online Education Registrants
20,000+
MongoDB User Group Members
20,000+
MongoDB Days...
MongoDB and Enterprise IT Stack
EDWHadoop
Management&Monitoring
Security&Auditing
RDBMS
CRM, ERP, Collaboration, Mobile, B...
Data HubUser Data Management
Big Data Content Mgmt & Delivery Mobile & Social
MongoDB Solutions
• 10 of the Top Financial Services Institutions
• 10 of the Top Electronics Companies
• 10 of the Top Media and Entertainm...
MongoDB Partners (200+)
Software & Services
Cloud & Channel Hardware
Data Model
Operational Database Landscape
RDBMS
Agility
MongoDB
{
_id : ObjectId("4c4ba5e5e8aabf3"),
employee_name: "Dunham, Justin",
department : "Marketing",
titl...
Document Data Model
Relational MongoDB
{
first_name: „Paul‟,
surname: „Miller‟,
city: „London‟,
location: [45.123,47.232],...
Document Model Benefits
• Agility and flexibility
– Data models can evolve easily
– Companiescan adapt to changes quickly
...
MongoDB is full featured
MongoDB
Rich Queries
• Find Paul’s cars
• Find everybody in London with a car
built between 1970 ...
Shell
Command-line shell for interacting
directly with database
Shell and Drivers
Drivers
Drivers for most popular
program...
Developers are more productive
Scalability
Automatic Sharding
• Increase or decrease capacity as you go
• Automatic balancing
• Three types of sharding:
 hash-based...
Query Routing
• Multiple query optimization models
• Many sharding options appropriate for different apps
High Availability
• HighAvailability – Ensure application availability during many
types of failures
• Disaster Recovery –Address the RTO an...
Replica Sets
• Replica Set – two or more copies
• “Self-healing” shard
• Addresses many concerns:
- High Availability
- Di...
Replica Set Benefits
Business Needs Replica Set Benefits
High Availability Automated failover
Disaster Recovery Hot backup...
Deployment Architecture
MongoDB Architecture
Deployment
• Automated failover
• Tolerates server failures
• Tolerates rack failures
• Number of replicas
defines failure...
Global Deployment/Local Writes
Primary:NYC
Secondary:NYC
Primary:LON
Primary:SYD
Secondary:LON
Secondary:NYC
Secondary:SYD...
Global Data Distribution
Real-time
Real-time Real-time
Real-time
Real-time
Real-time
Real-time
Primary
Secondary
Secondary...
Performance
Better Data
Locality
Performance
In-Memory
Caching
In-Place
Updates
• Entertainment Company: 1,400 servers
• Craigslist: 5B documents
• Carfax: 11B documents
• Tier 1 Bank: 30K ops/sec
• Maj...
MongoDB Performance*
Top 5 Marketing
Firm
Government
Agency
Top 5 Investment
Bank
Data Key/value 10+ fields, arrays,
neste...
Capacity Planning
• Requirements
• Testing
• Monitoring
Key Deployment Considerations
Capacity Planning
• Requirements
• Testing
• Monitoring
Performance Tuning
• Understanding
• Adjusting
• Monitoring
Key Pe...
Monitoring
Monitoring
• CLI and internal status commands
• mongostat; mongotop; db.serverStatus()
• Plug-ins for munin, Nagios, cacti...
MongoDB Management Service
Cloud-based suite of services for managing MongoDB deployments
• Charts, custom
dashboards and
automated alerting
• Tracks 100+ metrics –
performance, resource
utilization, availability...
• Backup and restore with
– point-in-time recovery,
– support for sharded clusters
Cloud-based suite of services for manag...
A Picture Speaks a Thousand Words
Symptoms
High Use CPU Similar Query Pattern
Monitoring Best Practices
• Monitor Logs
– Alert, escalate
– Correlate
• Disk
– Monitor
• Instrument/MonitorApp (including...
Questions?
Thank You
Senior Solutions Architect, MongoDB
Asya Kamsky
#MongoDB
Upcoming SlideShare
Loading in...5
×

Webinar: General Technical Overview of MongoDB for Ops Teams

1,681

Published on

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.

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,681
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
51
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Webinar: General Technical Overview of MongoDB for Ops Teams

  1. 1. General Technical Overview of MongoDB for Ops Teams Senior Solutions Architect, MongoDB Asya Kamsky #MongoDB
  2. 2. MongoDB
  3. 3. MongoDB The leading NoSQL database Document Database Open- Source General Purpose
  4. 4. MongoDB Business Value Enabling New Apps Better Customer Experience Lower TCOFaster Time to Market
  5. 5. 4,000,000+ MongoDB Downloads 100,000+ Online Education Registrants 20,000+ MongoDB User Group Members 20,000+ MongoDB DaysAttendees 15,000+ MongoDB Management Service (MMS) Users Global Community
  6. 6. MongoDB and Enterprise IT Stack EDWHadoop Management&Monitoring Security&Auditing RDBMS CRM, ERP, Collaboration, Mobile, BI OS & Virtualization, Compute, Storage, Network RDBMS Applications Infrastructure Data Management Online Data Offline Data
  7. 7. Data HubUser Data Management Big Data Content Mgmt & Delivery Mobile & Social MongoDB Solutions
  8. 8. • 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
  9. 9. MongoDB Partners (200+) Software & Services Cloud & Channel Hardware
  10. 10. Data Model
  11. 11. Operational Database Landscape
  12. 12. 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" } ] }
  13. 13. 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, … } } }
  14. 14. Document Model Benefits • Agility and flexibility – Data models can evolve easily – Companiescan adapt to changes quickly • Intuitive, natural data representation – Developers are more productive – Many types of applicationsare a good fit • Reduces the need for joins, disk seeks – Programmingis more simple – Performance can be delivered at scale
  15. 15. MongoDB is full featured MongoDB Rich 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, … } } }
  16. 16. Shell Command-line shell for interacting directly with database Shell and Drivers Drivers Drivers 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
  17. 17. Developers are more productive
  18. 18. Scalability
  19. 19. Automatic Sharding • Increase or decrease capacity as you go • Automatic balancing • Three types of sharding:  hash-based  range-based  tag-aware
  20. 20. Query Routing • Multiple query optimization models • Many sharding options appropriate for different apps
  21. 21. High Availability
  22. 22. • HighAvailability – 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
  23. 23. Replica Sets • Replica Set – two or more copies • “Self-healing” shard • Addresses many concerns: - High Availability - Disaster Recovery - Maintenance
  24. 24. 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
  25. 25. Deployment Architecture
  26. 26. MongoDB Architecture
  27. 27. Deployment • Automated failover • Tolerates server failures • Tolerates rack failures • Number of replicas defines failure tolerance Primary – A Primary – B Primary – C Secondary – A Secondary – ASecondary – B Secondary – BSecondary – CSecondary – C
  28. 28. Global Deployment/Local Writes Primary:NYC Secondary:NYC Primary:LON Primary:SYD Secondary:LON Secondary:NYC Secondary:SYD Secondary:LON Secondary:SYD
  29. 29. Global Data Distribution Real-time Real-time Real-time Real-time Real-time Real-time Real-time Primary Secondary Secondary Secondary Secondary Secondary Secondary
  30. 30. Performance
  31. 31. Better Data Locality Performance In-Memory Caching In-Place Updates
  32. 32. • Entertainment Company: 1,400 servers • Craigslist: 5B documents • Carfax: 11B documents • Tier 1 Bank: 30K ops/sec • Major Retailer: 50K ops/sec • FedAgency: 500K ops/sec • Wordnik: 20B documents, 35,000 ops/sec Performance at Scale
  33. 33. 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-based 1 – 100 docs/query 80/20 read/write Compound queries Range queries MapReduce 20/80 read/write Compound queries Range queries 50/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.
  34. 34. Capacity Planning • Requirements • Testing • Monitoring Key Deployment Considerations
  35. 35. Capacity Planning • Requirements • Testing • Monitoring Performance Tuning • Understanding • Adjusting • Monitoring Key Performance Considerations
  36. 36. Monitoring
  37. 37. Monitoring • CLI and internal status commands • mongostat; mongotop; db.serverStatus() • Plug-ins for munin, Nagios, cacti, etc. • Integration via SNMP to other tools • MMS
  38. 38. MongoDB Management Service Cloud-based suite of services for managing MongoDB deployments
  39. 39. • 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
  40. 40. • 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
  41. 41. A Picture Speaks a Thousand Words
  42. 42. Symptoms High Use CPU Similar Query Pattern
  43. 43. Monitoring Best Practices • Monitor Logs – Alert, escalate – Correlate • Disk – Monitor • Instrument/MonitorApp (including logs!) • Know your application and application (write) characteristics
  44. 44. Questions?
  45. 45. Thank You Senior Solutions Architect, MongoDB Asya Kamsky #MongoDB
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×