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

Post on 10-May-2015

1.496 views 3 download

Tags:

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 of Why Organizations are Looking at Alternative Database Technologies – Introduction to NoSQL

An Introduction to NoSQL:Theory and Practice

Nosh Petigaranosh@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,

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

• 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