20

NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

NoSQL, Part 3- or -

A Modest Proposalfor a heretical

Key Value Store

Page 2: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

•Open Source and Standards Advocate

•Community Manager

•Drizzle DB merge steward

•Hire me!

Mark Atwood

Page 3: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

The story so far...

•Brian Aker, “Guide to NoSQL” at Open SQL Camp Portland 2009.

•Mark Atwood, “Guide to NoSQL, redux” at MySQL Conference 2010.

•And now, this...

Page 4: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

NoSQL Patterns

•BigTable + Dynamo

•Document

•Graph

•Key Value

Page 5: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

My Favorite KVSes

•InnoDB / HailDB

•MemCacheD

•ReDiS

•S3 / Walrus / Swift

Page 6: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

Want a KVS that

•is optimized for real hardware

•uses fast disk streaming IO

•can use random writes

Page 7: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

Want a KVS that

•has cherry picked features

•is usable by ordinary programmers

•has a powerful simple API

Page 8: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

Atwood’s Law of Computer Latency

Processor cycles, storage density, and network bandwidth are

increasing,faster than the speed of light is

getting faster.

Page 9: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

•XML - JSON

•REST / HTTP

•TCP/IP

•Structured Data

Page 10: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

•In-kernel

•syscall API

•half-IPC

Page 11: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

Namespaces

Page 12: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

A namespace isa simple ASCII

string

Page 13: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

A namespace can contain objects & more namespaces

Page 14: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

An object is a bytestream with a

name

Page 15: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

Access Control:Use the process

UID.Public/Private.

Read/Write.

Page 16: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

Mutable Objects

Page 17: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

Can write to an existing object at

any offset

Page 18: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

Many processes can write to the

same object at the same time

Page 19: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

Some more ideas

•More than one name pointing at the same object

•A network access protocol

•Metadata (modification date, MIME type, etc?)

•“Bake in” the API to existing and new languages

Page 20: NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore

Thank you!