Download - WTF is NoSQL

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


Top Related