wtf is nosql

51
Who am I? Founder of Astrails 19 years of industry experience Building Web Apps since 2005 Vitaly Kushner Wednesday, June 16, 2010

Upload: astrails

Post on 16-May-2015

443 views

Category:

Technology


1 download

DESCRIPTION

A very nice and comprehensive introduction into NoSQL world. Covered topics are what it is, why should you care, when should you start caring, different approaches to implementation, what are the differences between different NoSQL databases and what should work best for your case.

TRANSCRIPT

Page 1: WTF is NoSQL

Who am I?

• Founder of Astrails

• 19 years of industry experience

• Building Web Apps since 2005

Vitaly Kushner

Wednesday, June 16, 2010

Page 2: WTF is NoSQL

NoSQLwhen, why and how?

Vitaly Kushnerastrails.com

Wednesday, June 16, 2010

Page 3: WTF is NoSQL

Google

Wednesday, June 16, 2010

Page 4: WTF is NoSQL

Google

Yahoo

Wednesday, June 16, 2010

Page 5: WTF is NoSQL

Google

Yahoo

Amazon

Wednesday, June 16, 2010

Page 6: WTF is NoSQL

Google

Yahoo

Amazon

Facebook

Wednesday, June 16, 2010

Page 7: WTF is NoSQL

Google

Yahoo

Amazon

Facebook

Twitter

Wednesday, June 16, 2010

Page 8: WTF is NoSQL

Google

Yahoo

Amazon

Facebook

Twitter

Digg

Wednesday, June 16, 2010

Page 9: WTF is NoSQL

Google

Yahoo

Amazon

Facebook

Twitter

Rackspace

Digg

Wednesday, June 16, 2010

Page 10: WTF is NoSQL

Google

Yahoo

Amazon

Facebook

Twitter

Rackspace

Digg

LinkedIn

Wednesday, June 16, 2010

Page 11: WTF is NoSQL

Google

Yahoo

Amazon

Facebook

Twitter

Rackspace

Digg

LinkedInEverybody

Wednesday, June 16, 2010

Page 12: WTF is NoSQL

NoSQL

NoSQL

NoSQLNoSQL

NoSQL

NoSQL

NoSQL

NoSQL

NoSQL

NoSQL

Wednesday, June 16, 2010

Page 13: WTF is NoSQL

WTF is NoSQL?and why should you care?

Wednesday, June 16, 2010

Page 14: WTF is NoSQL

Non relational

Wednesday, June 16, 2010

Page 15: WTF is NoSQL

Non relationalDocument based

Wednesday, June 16, 2010

Page 16: WTF is NoSQL

Non relationalDocument based

Key-Value store

Wednesday, June 16, 2010

Page 17: WTF is NoSQL

Non relationalDocument based

Key-Value store

column-based

Wednesday, June 16, 2010

Page 18: WTF is NoSQL

Non relationalDocument based

Key-Value store

Graph DB

column-based

Wednesday, June 16, 2010

Page 19: WTF is NoSQL

Non relationalDocument based

Key-Value store

Distributed

Graph DB

column-based

Wednesday, June 16, 2010

Page 20: WTF is NoSQL

Non relationalDocument based

Key-Value store

Schema-less

Distributed

Graph DB

column-based

Wednesday, June 16, 2010

Page 21: WTF is NoSQL

Non relationalDocument based

Key-Value store

Schema-less

Distributed

BASE is not ACID Graph DB

column-based

Wednesday, June 16, 2010

Page 22: WTF is NoSQL

Why & When

Wednesday, June 16, 2010

Page 23: WTF is NoSQL

Massive Data Volume100K servers in a cluster

Wednesday, June 16, 2010

Page 24: WTF is NoSQL

Massive Data Volume100K servers in a cluster

Twitter: 7+T/day

Wednesday, June 16, 2010

Page 25: WTF is NoSQL

High query workloadMongoDB: 8M operations/sec

Wednesday, June 16, 2010

Page 26: WTF is NoSQL

Flexible Schemaon the fly schema changes

Wednesday, June 16, 2010

Page 27: WTF is NoSQL

Massive Scale

Wednesday, June 16, 2010

Page 28: WTF is NoSQL

Availability

Wednesday, June 16, 2010

Page 29: WTF is NoSQL

Everyone wantAvailability

Wednesday, June 16, 2010

Page 30: WTF is NoSQL

RDBMScan deliver

Wednesday, June 16, 2010

Page 31: WTF is NoSQL

high price

Wednesday, June 16, 2010

Page 32: WTF is NoSQL

Not ACID anymore

Wednesday, June 16, 2010

Page 33: WTF is NoSQL

• Consistent

• Available

• Partition tolerant

CAP theoremPick two

Wednesday, June 16, 2010

Page 34: WTF is NoSQL

ScaleHow?

Wednesday, June 16, 2010

Page 35: WTF is NoSQL

Throw hardware money at it!

Wednesday, June 16, 2010

Page 36: WTF is NoSQL

Par-ti-tion

Wednesday, June 16, 2010

Page 37: WTF is NoSQL

MySQL + Memcached=

“square wheel” cassandra

Wednesday, June 16, 2010

Page 38: WTF is NoSQL

How?

Wednesday, June 16, 2010

Page 39: WTF is NoSQL

Which one?

• document based

• column or key-value store

• advanced storage schemas

Wednesday, June 16, 2010

Page 40: WTF is NoSQL

Cassandra

• built by Facebook

• very high write throughput

• OLTP

• automatic horizontal scaling

• no single point of failure

Wednesday, June 16, 2010

Page 41: WTF is NoSQL

HBase

• Apache project

• Consistent

• Optimized for analytics (OLAP)

• Has single point of failure

Wednesday, June 16, 2010

Page 42: WTF is NoSQL

MongoDB

• probably easiest to move to from SQL

• document based

• on-demand queries

• automatic sharding

• no single-node durability

Wednesday, June 16, 2010

Page 43: WTF is NoSQL

CoachDB

• document based

• map-reduce javascript querying/filtering.

• has some replication and scaling problems

Wednesday, June 16, 2010

Page 44: WTF is NoSQL

REDIS

• key-value store

• advanced data types: list, set

• atomic operations

Wednesday, June 16, 2010

Page 45: WTF is NoSQL

Schema

Wednesday, June 16, 2010

Page 46: WTF is NoSQL

Users: {

vitaly: {

email: [email protected],

company: astrails,

password: secret

},

michael: {

email: [email protected],

company: astrails,

password: superduper

},

...

}

Wednesday, June 16, 2010

Page 48: WTF is NoSQL

Migrations

Wednesday, June 16, 2010

Page 49: WTF is NoSQL

Start Slow

Wednesday, June 16, 2010

Page 50: WTF is NoSQL

NoSQL can helpYou

Wednesday, June 16, 2010

Page 51: WTF is NoSQL

WTF is NoSQL?

Vitaly Kushnerastrails.com

@astrails @vkushner

Q & A

Wednesday, June 16, 2010