no sql movement

22
Not O nly SQL NOSQL is simply… it's not "Never SQL" NOSQL \no-seek-wool\ n. Describes ongoing trend where developers increasingly opt for non-relational databases to help solve their problems, in an effort to use the right tool for

Upload: ajit-koti

Post on 27-Jan-2015

119 views

Category:

Technology


2 download

DESCRIPTION

This presentation lets you know what the nosql movement is all about

TRANSCRIPT

Page 1: No Sql Movement

Not Only SQLNOSQL is simply…

it's not "Never SQL"

NOSQL \no-seek-wool\ n. Describes ongoing trend where developers increasingly opt for non-relational databases to help solve their problems, in an effort to use the right tool for the right job

Page 2: No Sql Movement

Why NOSQL now?

Driving trends

Page 3: No Sql Movement

Trend 1: Data Size

Page 4: No Sql Movement

Trend 2: ConnectednessIn

form

ation

con

necti

vity

Text Documents

Hypertext

Feeds

Blogs

Wikis

UGC

Tagging

Folksonomies

RDFa

Onotologies

GGG

Page 5: No Sql Movement

Trend 3: Semi-structured information

• Individualisation of content– 1970’s salary lists, all elements exactly one job– 2000’s salary lists, we need many job columns!

• All encompassing “entire world views”• Store more data about each entity• Trend accelerated by the decentralization of

content generation – Age of participation (“web 2.0”)

Page 6: No Sql Movement

Trend 4: Architecture

DB

Application

1980’s: Single Application

Page 7: No Sql Movement

Trend 4: Architecture

DB

Application

1990’s: Integration Database Antipattern

ApplicationApplication

Page 8: No Sql Movement

Trend 4: Architecture

2000’s: SOA

DB

Application

DB

Application

DB

Application

RESTful, hypermedia, composite apps

Page 9: No Sql Movement

Side note: RDBMS performanceSalary list

Most Web apps

Social Network

Location-based services

Page 10: No Sql Movement

Four NOSQL Categories

Page 11: No Sql Movement

Aggregate-Oriented Databases

Four NOSQL Categories

Page 12: No Sql Movement

Key-Value Stores

• “Dynamo: Amazon’s Highly Available Key-Value Store” (2007)

• Data model:– Global key-value mapping– Big scalable HashMap– Highly fault tolerant (typically)

• Examples:– Riak, Redis, Voldemort

Page 13: No Sql Movement

Pros and Cons

• Strengths– Simple data model– Great at scaling out horizontally

• Scalable• Available

• Weaknesses:– Simplistic data model– Poor for complex data

Page 14: No Sql Movement

Column Family (BigTable)

• Google’s “Bigtable: A Distributed Storage System for Structured Data” (2006)

• Data model:– A big table, with column families– Map-reduce for querying/processing

• Examples:– HBase, HyperTable, Cassandra

Page 15: No Sql Movement

Pros and Cons

• Strengths– Data model supports semi-structured data– Naturally indexed (columns)– Good at scaling out horizontally

• Weaknesses:– Unsuited for interconnected data

Page 16: No Sql Movement

Document Databases

• Data model– Collections of documents– A document is a key-value collection– Index-centric, lots of map-reduce

• Examples– CouchDB, MongoDB

Page 17: No Sql Movement

Pros and Cons

• Strengths– Simple, powerful data model (just like SVN!)– Good scaling (especially if sharding supported)

• Weaknesses:– Unsuited for interconnected data– Query model limited to keys (and indexes)

• Map reduce for larger queries

Page 18: No Sql Movement

Graph Databases

• Data model:– Nodes with properties– Named relationships with properties– Hypergraph, sometimes

• Examples:– Neo4j (of course), Sones GraphDB, OrientDB,

InfiniteGraph, AllegroGraph

Page 19: No Sql Movement

Pros and Cons

• Strengths– Powerful data model– Fast

• For connected data, can be many orders of magnitude faster than RDBMS

• Weaknesses:– Sharding

• Though they can scale reasonably well• And for some domains you can shard too!

Page 20: No Sql Movement
Page 21: No Sql Movement

Disclaimer

• I don’t hold any sort of copyright on any of the content used including the photos, logos and text and trademarks used. They all belong to the respective individual and companies

• I am not responsible for, and expressly disclaims all liability for, damages of any kind arising out of use, reference to, or reliance on any information contained within this slide .

Page 22: No Sql Movement

You can follow me at @ajitkoti on twitter