Why Organizations are Looking at Alternative Database Technologies – Introduction to NoSQL
-
Upload
dataversity -
Category
Technology
-
view
1.498 -
download
3
description
Transcript of Why Organizations are Looking at Alternative Database Technologies – Introduction to NoSQL
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