why organizations are looking at alternative database technologies – introduction to nosql
DESCRIPTION
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.TRANSCRIPT
An Introduction to NoSQL:Theory and Practice
Nosh [email protected]@noshinosh
Today
• Why new databases?
• What is ‘NoSQL’?
• A brief introduction to MongoDB
• Some real-world use cases
Database Evolution
RDBMS
Oracle, MySQL,
PostgreSQL
OLAPNetezza, Vertica, Hadoop
NoSQLMongoDB, CouchDB, Cassandra
Why NoSQL?
• explosion of data and our desire to make meaningful decisions from that dataBig Data
• the existing data model is an impediment to agile development.
New Programming
models
• The Cloud is starting to become the dominant deployment architecture. Databases need to take advantage of horizontal scaling capacity
New Hardware Architecture
Trends
What should my database be like?
• Enable faster development cycle• Deal with structured and
unstructured dataAgile
• Billions of objects, high read/write volume, terabytes/petabytesScalable
• Cost effectively operationalize data in cloud-like environmentsCloud-ready
The Great Divide
Sweet spot: Agile, Flexible, Scalable
How do I evaluate a NoSQL/BigData Solution?
• Real-time vs. Batch
• Data Model
• Distribution Model + Consistency
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
Some commonalities
• No Joins
• Relaxed transactional semantics
• No joins + simple transactions -> easier horizontal scalability
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-out by auto-sharding (Similar to Google File System)
Data as Documents: A blog post
{_id:“A4304”author: “nosh”,date: 22/6/2010,title: “Intro to MongoDB”text: “MongoDB is an open source..”,tags: [“webinar”, “opensource”]comments: [{
author: “mike”, date: 11/18/2010, txt: “Did you see the…”,votes: 7 },….]
}
Primary key
Arrays
Embedded documents
Simple values
MongoDB is:
Horizontally Scalable
{ author: “roger”, date: new Date(), text: “Spirited Away”, tags: [“Tezuka”, “Manga”]}
Document Oriented
Application
Photo Meta-Data
Solution:• Used MongoDB instead of Oracle
Results:• Developed application in one sprint cycle• 500% cost reduction compared to Oracle• 900% performance improvement compared to Oracle
Problem:• Store metadata for billions of photos and videos• Business needed more flexibility than Oracle could deliver
http://10gen.com/customers
Solution:• Used MongoDB to replace Google Analytics / Omniture options
Results:• Less than1week to build prototype and prove business case• Rapid deployment of new features (1/day, 1/week)
Real-time Customer Analytics
Problem:• Track customer activity in real-time across huge • Deal with massive data volume across all customer sites
http://10gen.com/customers
Solution:• Used MongoDB to replace MySQL
Results:• Less than1week to build prototype and prove business case• Rapid deployment of new features (1/day, 1/week)
Data Archiving
Problem:• Archive years of postings for compliance• RDBMS could not handle evolving schemas
http://10gen.com/customers
Next Steps
• [email protected]• @noshinosh
• http://mongodb.org• http://10gen.com/presentations
• http://10gen.com/jobs
Next Sp
• Easy to start• Easy to develop• Easy to scale