Transcript
Page 1: Why Organizations are Looking at Alternative Database Technologies – Introduction to NoSQL

An Introduction to NoSQL:Theory and Practice

Nosh [email protected]@noshinosh

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

Today

• Why new databases?

• What is ‘NoSQL’?

• A brief introduction to MongoDB

• Some real-world use cases

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

Database Evolution

RDBMS

Oracle, MySQL,

PostgreSQL

OLAPNetezza, Vertica, Hadoop

NoSQLMongoDB, CouchDB, Cassandra

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

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

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

Trends

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

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

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

The Great Divide

Sweet spot: Agile, Flexible, Scalable

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

How do I evaluate a NoSQL/BigData Solution?

• Real-time vs. Batch

• Data Model

• Distribution Model + Consistency

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

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

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

Some commonalities

• No Joins

• Relaxed transactional semantics

• No joins + simple transactions -> easier horizontal scalability

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

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

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

NoSQL in Practice: MongoDB

• Open source

• Non-relational, document-oriented

• Dynamic Schemas

• Regular consistency: Scale-out by auto-sharding (Similar to Google File System)

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

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

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

MongoDB is:

Horizontally Scalable

{ author: “roger”, date: new Date(), text: “Spirited Away”, tags: [“Tezuka”, “Manga”]}

Document Oriented

Application

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

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

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

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

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

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

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

Next Steps

[email protected]• @noshinosh

• http://mongodb.org• http://10gen.com/presentations

• http://10gen.com/jobs

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

Next Sp

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

• Easy to start• Easy to develop• Easy to scale


Top Related