Why nosql?

Preview:

Citation preview

DHARSHAN RANGEGOWDAFOUNDER, SCALEGRID.IO

APRIL 2014

Why NoSQL?

What is NoSQL?

“Not only SQL”“Not SQL”Term popularized by Eric

Evans of Rackspace in 2009

Class of databases that don’t use a “Relational schema”

NoSQL <> No T-SQL

NoSQL history

Need arose in Early 2000 due to difficulties scaling MySQL databases Need to deal with large amounts of data E.g. MongoDB founders are from Doubleclick

Classification

• Classified along multiple dimensions

• Data model

• Consistency

• Performance

Complete classification

Data model

Flexible data model structured, unstructured & semi structured data

Different types of data JSON/XML Documents

Files Store files & structured data No separate workflow for files

Schema less

Each row in a table can be different!

Double edged sword There is always a schema, in the db or in the code

Developer agility

Focus on developer agility

Extremely easy to get started

Got rid of impedance mismatch between app code and SQL

Always work with objects• Big hit with developers

Developer agility

Great Geo query support Extremely important for most web apps today

Great integration with new frameworks Node.js, Meteor.js

Database Scaling

• Easy (relatively) scale for your database– Scale up or scale out– Scale out using commodity servers– Automatic partitioning & rebalancing

Scale out : MongoDB shards

Cons?

Not ACID compliant (mostly) Transaction scope is usually limited Consistency can also vary If you are writing a banking application stick to

RDBMS Engineering

Relatively immature Don’t have 3 decades of engineering in them

Adoption

• Web properties– Scale features– Document support– Geo support

• Data warehouse–Handle TB’s of data– Cost

Future?

Q & A

Email : Dharshanr@scalegrid.ioTwitter: @dharshanrg

Recommended