An Introduction to NoSQL:  Theory and Practice      Nosh Petigara      nosh@10gen.com      @noshinosh
Today• Why new databases?• What is „NoSQL‟?• A brief introduction to MongoDB• Some real-world use cases
Database Evolution                   RDBMS                     Oracle,                    MySQL,                   Postgre...
Why NoSQL?                • explosion of data and our desire to make  Big Data        meaningful decisions from that data ...
Trends
What should my database be like?               • Enable faster development cycle    Agile      • Deal with structured and ...
The Great Divide     Sweet spot: Agile, Flexible, Scalable
How do I evaluate a NoSQL/BigDataSolution?• Real-time vs. Batch• Data Model• Distribution Model + Consistency
Some comparisons•   Realtime vs. Batch    • Realtime: MongoDB, Cassandra, Membase, RDBMS    • Batch: Hadoop, traditional d...
Some commonalities• No Joins• Relaxed transactional semantics• No joins + simple transactions -> easier  horizontal scalab...
What to look for• Can I model my data• Can I query my data• Can I update my data• Does it support my operational needs
NoSQL in Practice: MongoDB• Open source• Non-relational, document-oriented• Dynamic Schemas• Regular consistency: Scale-ou...
Data as Documents: A blog post                                                    Primary key{_id:“A4304”                 ...
MongoDB is:                Application                                Document                                Oriented    ...
Photo Meta-DataProblem:• Store metadata for billions of photos and videos• Business needed more flexibility than Oracle co...
Real-time Customer                    AnalyticsProblem:• Track customer activity in real-time across huge• Deal with massi...
Data ArchivingProblem:• Archive years of postings for compliance• RDBMS could not handle evolving schemasSolution:• Used M...
Next Steps• nosh@10gen.com• @noshinosh• http://mongodb.org• http://10gen.com/presentations• http://10gen.com/jobs
Next Sp
• Easy to start• Easy to develop• Easy to scale
Upcoming SlideShare
Loading in …5
×

Why Organizations are Looking at Alternative Database Technologies – Introduction to NoSQL

1,760 views

Published on

This webinar will first walk through the main forces driving developers and IT organizations to adopt non-relational or NoSQL databases. Next it will cover the key concepts and terminology used in the NoSQL space. Finally, using MongoDB as an example, the webinar will highlight examples of how organizations have put NoSQL technology to use in order to drive their business objectives.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,760
On SlideShare
0
From Embeds
0
Number of Embeds
130
Actions
Shares
0
Downloads
39
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Why Organizations are Looking at Alternative Database Technologies – Introduction to NoSQL

  1. 1. An Introduction to NoSQL: Theory and Practice Nosh Petigara nosh@10gen.com @noshinosh
  2. 2. Today• Why new databases?• What is „NoSQL‟?• A brief introduction to MongoDB• Some real-world use cases
  3. 3. Database Evolution RDBMS Oracle, MySQL, PostgreSQL OLAP NoSQL Netezza, MongoDB, Vertica, CouchDB, Hadoop Cassandra
  4. 4. Why NoSQL? • explosion of data and our desire to make Big Data meaningful decisions from that data New • the existing data model is an impediment toProgramming agile development. modelsNew Hardware • The Cloud is starting to become the dominant deployment architecture. Databases need to Architecture take advantage of horizontal scaling capacity
  5. 5. Trends
  6. 6. What should my database be like? • Enable faster development cycle Agile • Deal with structured and unstructured data • Billions of objects, high read/write Scalable volume, terabytes/petabytes • Cost effectively operationalize data in Cloud-ready cloud-like environments
  7. 7. The Great Divide Sweet spot: Agile, Flexible, Scalable
  8. 8. How do I evaluate a NoSQL/BigDataSolution?• Real-time vs. Batch• Data Model• Distribution Model + Consistency
  9. 9. Some comparisons• Realtime vs. Batch • Realtime: MongoDB, Cassandra, Membase, RDBMS • Batch: Hadoop, traditional data warehousing/BI• Data models • Relational: Oracle, MySQL, etc • Key-value: Membase, Redis • Document: MongoDB, CouchDB • Column/Tabular: Cassandra• Distribution & consistency • Eventual consistency: Cassandra, Dynamo (S3, SimpleDB), RIak • Regular consistency: MongoDB, Oracle, etc
  10. 10. Some commonalities• No Joins• Relaxed transactional semantics• No joins + simple transactions -> easier horizontal scalability
  11. 11. What to look for• Can I model my data• Can I query my data• Can I update my data• Does it support my operational needs
  12. 12. NoSQL in Practice: MongoDB• Open source• Non-relational, document-oriented• Dynamic Schemas• Regular consistency: Scale-out by auto- sharding (Similar to Google File System)
  13. 13. Data as Documents: A blog post Primary key{_id:“A4304” Simple valuesauthor: “nosh”,date: 22/6/2010,title: “Intro to MongoDB” Arraystext: “MongoDB is an open source..”,tags: [“webinar”, “opensource”]comments: [{ author: “mike”, date: 11/18/2010, txt: “Did you see the…”, votes: 7 },….]} Embedded documents
  14. 14. MongoDB is: Application Document Oriented { author: “roger”, date: new Date(), text: “Spirited Away”, tags: [“Tezuka”, “Manga”]} Horizontally Scalable
  15. 15. Photo Meta-DataProblem:• Store metadata for billions of photos and videos• Business needed more flexibility than Oracle could deliverSolution:• Used MongoDB instead of OracleResults:• Developed application in one sprint cycle• 500% cost reduction compared to Oracle• 900% performance improvement compared to Oracle http://10gen.com/customers
  16. 16. Real-time Customer AnalyticsProblem:• Track customer activity in real-time across huge• Deal with massive data volume across all customer sitesSolution:• Used MongoDB to replace Google Analytics / Omniture optionsResults:• Less than1week to build prototype and prove business case• Rapid deployment of new features (1/day, 1/week) http://10gen.com/customers
  17. 17. Data ArchivingProblem:• Archive years of postings for compliance• RDBMS could not handle evolving schemasSolution:• Used MongoDB to replace MySQLResults:• Less than1week to build prototype and prove business case• Rapid deployment of new features (1/day, 1/week) http://10gen.com/customers
  18. 18. Next Steps• nosh@10gen.com• @noshinosh• http://mongodb.org• http://10gen.com/presentations• http://10gen.com/jobs
  19. 19. Next Sp
  20. 20. • Easy to start• Easy to develop• Easy to scale

×