0% found this document useful (0 votes)
47 views

Nosql: John Paul Ashenfelter CTO/Transitionpoint

This document discusses NoSQL databases as an alternative to SQL databases. It provides an overview of different types of NoSQL databases, including column stores like Cassandra, graph databases like neo4j, document stores like MongoDB, and key-value stores. It also gives examples of companies using each type and discusses when each NoSQL solution may be preferable to SQL databases.

Uploaded by

Karamjit Kaur
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views

Nosql: John Paul Ashenfelter CTO/Transitionpoint

This document discusses NoSQL databases as an alternative to SQL databases. It provides an overview of different types of NoSQL databases, including column stores like Cassandra, graph databases like neo4j, document stores like MongoDB, and key-value stores. It also gives examples of companies using each type and discusses when each NoSQL solution may be preferable to SQL databases.

Uploaded by

Karamjit Kaur
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

NoSQL

John Paul Ashenfelter CTO/Transitionpoint

Why do you use SQL?


ACID Reliable Strong ecosystem

SQL #fail?
Scaling horizontally Performance Flexibility (xed schema) Doesnt model domain
3

NOSQL

What is NoSQL?
Not Only SQL => NOSQL web workloads, not OLTP or DW ecosystem that addresses #fail of sql

Why NoSQL?
schema-free documents fast key lookups horizontal scaling REST APIs
6

Whos Using NoSQL?



Digg Gilt Twitter Foursquare Amazon Google

Yahoo LinkedIn Facebook

NoSQL Ecosystem
Column stores Key value stores Document stores Graph databases
8

Column Stores

Column Store 411


Column-oriented database tuple of name, value, timestamp supercolumn is a map of columns columnfamily ~= table Stored on (custom) lesystem No joins, no sorting after insert
10

Why use a Column Store?


very large (TB => PB) data set distributed (local => global) data set high volume of reads need for MapReduce-style processing
11

Column Store Implementations


Google BigTable Hadoop Cassandra

12

Column Store Examples


Google is canonical example Digg with Cassandra Twitter for analytics

13

Graph Databases

14

Graph Database 411


Stores data in graphs (networks) nodes relationships properties Traverse the graph to nd the data Semi-structured
15

Why Use a Graph Database


Problem domain maps to graph or network social networks collaborative ltering Sparse data
16

Graph Database Implementations


neo4j

17

Graph Database Examples

18

Document Stores

19

Document Store 411


document-oriented tree of objects objects have attribute values and lists similar to XML or JSON storage directly accesses structure similar to column store with N columns/
20

Why Use a Document Store


schema-less (!!!!!) need data in JSON (or XML) read/write as a unit partitioning and replication for scaling
21

Document Store Implementations


Mongodb Couchdb Riak

22

Document Store Examples

23

Key-Value Stores

24

Key-Value Store 411


big hash table -- keys and values transparent partition and replication lower emphasis on transactions eventual consistency
25

Why Use A Key-Value Store


scaling, scaling, scaling low-latency optimized high-throughput optimized

26

Key-Value Implementations
Amazon SimpleDB Redis Memcachedb Tokyo Cabinet/Tyrant Amazon Dynamo Project Voldemorte

(Microsoft) Dynomite Mnesia Lawnchair for JS

27

Key-Value Store Example

28

CODE!

29

Where Can I Learn More


MyNoSQL Blog Key Papers Conferences, particularly dynamic languages

30

ColdFusion and NoSQL

31

NoSQL Conferences
no:sql(east) meetings (particularly Mongo) emerging tech conferences -- OSCON,
Ruby/Python, JS

32

MyNoSQL Blog
http://nosql.mypopescu.com/ Lots of activity Not really CF-oriented, but Java pops up

33

Key papers
Dynamo: http://
www.allthingsdistributed.com/2007/10/ amazons_dynamo.html camelcase.blogspot.com/2007/08/captheorem.html mapreduce.html

CAP Theorem: http://

Map/Reduce: http://labs.google.com/papers/
34

Thanks!

Contact

johnpaul@transitionpoint.com @johnpaul @transitionpoint http://www.ashenfelter.com http://www.transitionpoint.com

Follow

Read

35

You might also like