17
7 databases in 7 weeks Part 3. Riak

7 databases in 7 weeks Part 3. Riak. Yes and no Yes distributed data-replicating enhanced key-value store no single point of failure HTTP(Protobuf)

Embed Size (px)

DESCRIPTION

Yes and no  No  No need of scaling  Local distribution  Financial transactions  simple queryability  complex data structures  rigid schema

Citation preview

Page 1: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

7 databases in 7 weeksPart 3 Riak

Yes and no Yes

distributed data-replicating enhanced key-value store no single point of failure HTTP(Protobuf) Availability Speed huge data handling

Yes and no No

No need of scaling Local distribution Financial transactions simple queryability complex data structures rigid schema

CRUD Links and MIMEs httplocalhost8091stats

vnode_gets0vnode_puts0vnode_index_reads0connected_nodes[dev2127001dev3127001]ring_members[dev1127001dev2127001dev3127001]ring_num_partitions64ring_ownership[dev312700121dev212700121dev112700122]ldquo

Bucketvalue httpSERVERPORTriakBUCKETKEY Curl ndashX GET httplocalhost8091riak

buckets=true

Simple bad query $curl ndashI

httplocalhost8091riakno_bucketno_keyHTTP11 404 Object Not FoundServer MochiWeb11WebMachine173(participate in the frantic)Date Thu 04 Aug 2011 012549 GMT Content-Type textplainContent-Length10

CRUD Curl ndashv ndashX PUT http

localhost8091riakanimalsace -H Content-Type applicationjsonldquo -d nicknameldquo The Wonder Dog breedGermanShepherd

Returns 204 Curl httplocalhost8091riakanimalsace Curl ndashI ndashX DELETE

httplocalhost8091riakanimalsace

Links Link ltriakbucketkeygtriaktag=ldquofuuldquo Curl ndashX PUT

httplocalhost8091riakcages1-H Content-Type applicationjson-H Linkltriakanimalspollygtriaktag=contains-d room101lsquo

link relationship is one-directional Link is returned in the header

Link walking Curl httplocalhost8091riakcages1

___ ___ - buckettagkeep Curl

httplocalhost8091riakcages2_next_to0animals__

MIME Types Binary-encoded value Curl ndashX PUT

httplocalhost8091riakphotospollyjpg-H Content-type imagejpeg-H Linkltriakanimalspollygtriaktag=photo--data-binary polly_imagejpg

Mapreduce

Mapreduce in riak

Reduce Procedures build in functions

keyfilterslink walking

Riak ring

NodesWritesReads Curl http

localhost8091riakanimalsacer=3 n_val3r2w1 OneAllQuorumDefault(3) Curl

httplocalhost8091riakanimalspollyr=quorum

Conflicts and hooks Vector Clocks Resolving conflicts as in gitsvn Vector pruning PrePost-commit Hooks

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index
Page 2: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

Yes and no Yes

distributed data-replicating enhanced key-value store no single point of failure HTTP(Protobuf) Availability Speed huge data handling

Yes and no No

No need of scaling Local distribution Financial transactions simple queryability complex data structures rigid schema

CRUD Links and MIMEs httplocalhost8091stats

vnode_gets0vnode_puts0vnode_index_reads0connected_nodes[dev2127001dev3127001]ring_members[dev1127001dev2127001dev3127001]ring_num_partitions64ring_ownership[dev312700121dev212700121dev112700122]ldquo

Bucketvalue httpSERVERPORTriakBUCKETKEY Curl ndashX GET httplocalhost8091riak

buckets=true

Simple bad query $curl ndashI

httplocalhost8091riakno_bucketno_keyHTTP11 404 Object Not FoundServer MochiWeb11WebMachine173(participate in the frantic)Date Thu 04 Aug 2011 012549 GMT Content-Type textplainContent-Length10

CRUD Curl ndashv ndashX PUT http

localhost8091riakanimalsace -H Content-Type applicationjsonldquo -d nicknameldquo The Wonder Dog breedGermanShepherd

Returns 204 Curl httplocalhost8091riakanimalsace Curl ndashI ndashX DELETE

httplocalhost8091riakanimalsace

Links Link ltriakbucketkeygtriaktag=ldquofuuldquo Curl ndashX PUT

httplocalhost8091riakcages1-H Content-Type applicationjson-H Linkltriakanimalspollygtriaktag=contains-d room101lsquo

link relationship is one-directional Link is returned in the header

Link walking Curl httplocalhost8091riakcages1

___ ___ - buckettagkeep Curl

httplocalhost8091riakcages2_next_to0animals__

MIME Types Binary-encoded value Curl ndashX PUT

httplocalhost8091riakphotospollyjpg-H Content-type imagejpeg-H Linkltriakanimalspollygtriaktag=photo--data-binary polly_imagejpg

Mapreduce

Mapreduce in riak

Reduce Procedures build in functions

keyfilterslink walking

Riak ring

NodesWritesReads Curl http

localhost8091riakanimalsacer=3 n_val3r2w1 OneAllQuorumDefault(3) Curl

httplocalhost8091riakanimalspollyr=quorum

Conflicts and hooks Vector Clocks Resolving conflicts as in gitsvn Vector pruning PrePost-commit Hooks

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index
Page 3: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

Yes and no No

No need of scaling Local distribution Financial transactions simple queryability complex data structures rigid schema

CRUD Links and MIMEs httplocalhost8091stats

vnode_gets0vnode_puts0vnode_index_reads0connected_nodes[dev2127001dev3127001]ring_members[dev1127001dev2127001dev3127001]ring_num_partitions64ring_ownership[dev312700121dev212700121dev112700122]ldquo

Bucketvalue httpSERVERPORTriakBUCKETKEY Curl ndashX GET httplocalhost8091riak

buckets=true

Simple bad query $curl ndashI

httplocalhost8091riakno_bucketno_keyHTTP11 404 Object Not FoundServer MochiWeb11WebMachine173(participate in the frantic)Date Thu 04 Aug 2011 012549 GMT Content-Type textplainContent-Length10

CRUD Curl ndashv ndashX PUT http

localhost8091riakanimalsace -H Content-Type applicationjsonldquo -d nicknameldquo The Wonder Dog breedGermanShepherd

Returns 204 Curl httplocalhost8091riakanimalsace Curl ndashI ndashX DELETE

httplocalhost8091riakanimalsace

Links Link ltriakbucketkeygtriaktag=ldquofuuldquo Curl ndashX PUT

httplocalhost8091riakcages1-H Content-Type applicationjson-H Linkltriakanimalspollygtriaktag=contains-d room101lsquo

link relationship is one-directional Link is returned in the header

Link walking Curl httplocalhost8091riakcages1

___ ___ - buckettagkeep Curl

httplocalhost8091riakcages2_next_to0animals__

MIME Types Binary-encoded value Curl ndashX PUT

httplocalhost8091riakphotospollyjpg-H Content-type imagejpeg-H Linkltriakanimalspollygtriaktag=photo--data-binary polly_imagejpg

Mapreduce

Mapreduce in riak

Reduce Procedures build in functions

keyfilterslink walking

Riak ring

NodesWritesReads Curl http

localhost8091riakanimalsacer=3 n_val3r2w1 OneAllQuorumDefault(3) Curl

httplocalhost8091riakanimalspollyr=quorum

Conflicts and hooks Vector Clocks Resolving conflicts as in gitsvn Vector pruning PrePost-commit Hooks

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index
Page 4: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

CRUD Links and MIMEs httplocalhost8091stats

vnode_gets0vnode_puts0vnode_index_reads0connected_nodes[dev2127001dev3127001]ring_members[dev1127001dev2127001dev3127001]ring_num_partitions64ring_ownership[dev312700121dev212700121dev112700122]ldquo

Bucketvalue httpSERVERPORTriakBUCKETKEY Curl ndashX GET httplocalhost8091riak

buckets=true

Simple bad query $curl ndashI

httplocalhost8091riakno_bucketno_keyHTTP11 404 Object Not FoundServer MochiWeb11WebMachine173(participate in the frantic)Date Thu 04 Aug 2011 012549 GMT Content-Type textplainContent-Length10

CRUD Curl ndashv ndashX PUT http

localhost8091riakanimalsace -H Content-Type applicationjsonldquo -d nicknameldquo The Wonder Dog breedGermanShepherd

Returns 204 Curl httplocalhost8091riakanimalsace Curl ndashI ndashX DELETE

httplocalhost8091riakanimalsace

Links Link ltriakbucketkeygtriaktag=ldquofuuldquo Curl ndashX PUT

httplocalhost8091riakcages1-H Content-Type applicationjson-H Linkltriakanimalspollygtriaktag=contains-d room101lsquo

link relationship is one-directional Link is returned in the header

Link walking Curl httplocalhost8091riakcages1

___ ___ - buckettagkeep Curl

httplocalhost8091riakcages2_next_to0animals__

MIME Types Binary-encoded value Curl ndashX PUT

httplocalhost8091riakphotospollyjpg-H Content-type imagejpeg-H Linkltriakanimalspollygtriaktag=photo--data-binary polly_imagejpg

Mapreduce

Mapreduce in riak

Reduce Procedures build in functions

keyfilterslink walking

Riak ring

NodesWritesReads Curl http

localhost8091riakanimalsacer=3 n_val3r2w1 OneAllQuorumDefault(3) Curl

httplocalhost8091riakanimalspollyr=quorum

Conflicts and hooks Vector Clocks Resolving conflicts as in gitsvn Vector pruning PrePost-commit Hooks

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index
Page 5: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

Bucketvalue httpSERVERPORTriakBUCKETKEY Curl ndashX GET httplocalhost8091riak

buckets=true

Simple bad query $curl ndashI

httplocalhost8091riakno_bucketno_keyHTTP11 404 Object Not FoundServer MochiWeb11WebMachine173(participate in the frantic)Date Thu 04 Aug 2011 012549 GMT Content-Type textplainContent-Length10

CRUD Curl ndashv ndashX PUT http

localhost8091riakanimalsace -H Content-Type applicationjsonldquo -d nicknameldquo The Wonder Dog breedGermanShepherd

Returns 204 Curl httplocalhost8091riakanimalsace Curl ndashI ndashX DELETE

httplocalhost8091riakanimalsace

Links Link ltriakbucketkeygtriaktag=ldquofuuldquo Curl ndashX PUT

httplocalhost8091riakcages1-H Content-Type applicationjson-H Linkltriakanimalspollygtriaktag=contains-d room101lsquo

link relationship is one-directional Link is returned in the header

Link walking Curl httplocalhost8091riakcages1

___ ___ - buckettagkeep Curl

httplocalhost8091riakcages2_next_to0animals__

MIME Types Binary-encoded value Curl ndashX PUT

httplocalhost8091riakphotospollyjpg-H Content-type imagejpeg-H Linkltriakanimalspollygtriaktag=photo--data-binary polly_imagejpg

Mapreduce

Mapreduce in riak

Reduce Procedures build in functions

keyfilterslink walking

Riak ring

NodesWritesReads Curl http

localhost8091riakanimalsacer=3 n_val3r2w1 OneAllQuorumDefault(3) Curl

httplocalhost8091riakanimalspollyr=quorum

Conflicts and hooks Vector Clocks Resolving conflicts as in gitsvn Vector pruning PrePost-commit Hooks

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index
Page 6: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

Simple bad query $curl ndashI

httplocalhost8091riakno_bucketno_keyHTTP11 404 Object Not FoundServer MochiWeb11WebMachine173(participate in the frantic)Date Thu 04 Aug 2011 012549 GMT Content-Type textplainContent-Length10

CRUD Curl ndashv ndashX PUT http

localhost8091riakanimalsace -H Content-Type applicationjsonldquo -d nicknameldquo The Wonder Dog breedGermanShepherd

Returns 204 Curl httplocalhost8091riakanimalsace Curl ndashI ndashX DELETE

httplocalhost8091riakanimalsace

Links Link ltriakbucketkeygtriaktag=ldquofuuldquo Curl ndashX PUT

httplocalhost8091riakcages1-H Content-Type applicationjson-H Linkltriakanimalspollygtriaktag=contains-d room101lsquo

link relationship is one-directional Link is returned in the header

Link walking Curl httplocalhost8091riakcages1

___ ___ - buckettagkeep Curl

httplocalhost8091riakcages2_next_to0animals__

MIME Types Binary-encoded value Curl ndashX PUT

httplocalhost8091riakphotospollyjpg-H Content-type imagejpeg-H Linkltriakanimalspollygtriaktag=photo--data-binary polly_imagejpg

Mapreduce

Mapreduce in riak

Reduce Procedures build in functions

keyfilterslink walking

Riak ring

NodesWritesReads Curl http

localhost8091riakanimalsacer=3 n_val3r2w1 OneAllQuorumDefault(3) Curl

httplocalhost8091riakanimalspollyr=quorum

Conflicts and hooks Vector Clocks Resolving conflicts as in gitsvn Vector pruning PrePost-commit Hooks

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index
Page 7: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

CRUD Curl ndashv ndashX PUT http

localhost8091riakanimalsace -H Content-Type applicationjsonldquo -d nicknameldquo The Wonder Dog breedGermanShepherd

Returns 204 Curl httplocalhost8091riakanimalsace Curl ndashI ndashX DELETE

httplocalhost8091riakanimalsace

Links Link ltriakbucketkeygtriaktag=ldquofuuldquo Curl ndashX PUT

httplocalhost8091riakcages1-H Content-Type applicationjson-H Linkltriakanimalspollygtriaktag=contains-d room101lsquo

link relationship is one-directional Link is returned in the header

Link walking Curl httplocalhost8091riakcages1

___ ___ - buckettagkeep Curl

httplocalhost8091riakcages2_next_to0animals__

MIME Types Binary-encoded value Curl ndashX PUT

httplocalhost8091riakphotospollyjpg-H Content-type imagejpeg-H Linkltriakanimalspollygtriaktag=photo--data-binary polly_imagejpg

Mapreduce

Mapreduce in riak

Reduce Procedures build in functions

keyfilterslink walking

Riak ring

NodesWritesReads Curl http

localhost8091riakanimalsacer=3 n_val3r2w1 OneAllQuorumDefault(3) Curl

httplocalhost8091riakanimalspollyr=quorum

Conflicts and hooks Vector Clocks Resolving conflicts as in gitsvn Vector pruning PrePost-commit Hooks

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index
Page 8: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

Links Link ltriakbucketkeygtriaktag=ldquofuuldquo Curl ndashX PUT

httplocalhost8091riakcages1-H Content-Type applicationjson-H Linkltriakanimalspollygtriaktag=contains-d room101lsquo

link relationship is one-directional Link is returned in the header

Link walking Curl httplocalhost8091riakcages1

___ ___ - buckettagkeep Curl

httplocalhost8091riakcages2_next_to0animals__

MIME Types Binary-encoded value Curl ndashX PUT

httplocalhost8091riakphotospollyjpg-H Content-type imagejpeg-H Linkltriakanimalspollygtriaktag=photo--data-binary polly_imagejpg

Mapreduce

Mapreduce in riak

Reduce Procedures build in functions

keyfilterslink walking

Riak ring

NodesWritesReads Curl http

localhost8091riakanimalsacer=3 n_val3r2w1 OneAllQuorumDefault(3) Curl

httplocalhost8091riakanimalspollyr=quorum

Conflicts and hooks Vector Clocks Resolving conflicts as in gitsvn Vector pruning PrePost-commit Hooks

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index
Page 9: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

Link walking Curl httplocalhost8091riakcages1

___ ___ - buckettagkeep Curl

httplocalhost8091riakcages2_next_to0animals__

MIME Types Binary-encoded value Curl ndashX PUT

httplocalhost8091riakphotospollyjpg-H Content-type imagejpeg-H Linkltriakanimalspollygtriaktag=photo--data-binary polly_imagejpg

Mapreduce

Mapreduce in riak

Reduce Procedures build in functions

keyfilterslink walking

Riak ring

NodesWritesReads Curl http

localhost8091riakanimalsacer=3 n_val3r2w1 OneAllQuorumDefault(3) Curl

httplocalhost8091riakanimalspollyr=quorum

Conflicts and hooks Vector Clocks Resolving conflicts as in gitsvn Vector pruning PrePost-commit Hooks

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index
Page 10: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

MIME Types Binary-encoded value Curl ndashX PUT

httplocalhost8091riakphotospollyjpg-H Content-type imagejpeg-H Linkltriakanimalspollygtriaktag=photo--data-binary polly_imagejpg

Mapreduce

Mapreduce in riak

Reduce Procedures build in functions

keyfilterslink walking

Riak ring

NodesWritesReads Curl http

localhost8091riakanimalsacer=3 n_val3r2w1 OneAllQuorumDefault(3) Curl

httplocalhost8091riakanimalspollyr=quorum

Conflicts and hooks Vector Clocks Resolving conflicts as in gitsvn Vector pruning PrePost-commit Hooks

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index
Page 11: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

Mapreduce

Mapreduce in riak

Reduce Procedures build in functions

keyfilterslink walking

Riak ring

NodesWritesReads Curl http

localhost8091riakanimalsacer=3 n_val3r2w1 OneAllQuorumDefault(3) Curl

httplocalhost8091riakanimalspollyr=quorum

Conflicts and hooks Vector Clocks Resolving conflicts as in gitsvn Vector pruning PrePost-commit Hooks

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index
Page 12: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

Mapreduce in riak

Reduce Procedures build in functions

keyfilterslink walking

Riak ring

NodesWritesReads Curl http

localhost8091riakanimalsacer=3 n_val3r2w1 OneAllQuorumDefault(3) Curl

httplocalhost8091riakanimalspollyr=quorum

Conflicts and hooks Vector Clocks Resolving conflicts as in gitsvn Vector pruning PrePost-commit Hooks

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index
Page 13: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

Reduce Procedures build in functions

keyfilterslink walking

Riak ring

NodesWritesReads Curl http

localhost8091riakanimalsacer=3 n_val3r2w1 OneAllQuorumDefault(3) Curl

httplocalhost8091riakanimalspollyr=quorum

Conflicts and hooks Vector Clocks Resolving conflicts as in gitsvn Vector pruning PrePost-commit Hooks

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index
Page 14: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

Riak ring

NodesWritesReads Curl http

localhost8091riakanimalsacer=3 n_val3r2w1 OneAllQuorumDefault(3) Curl

httplocalhost8091riakanimalspollyr=quorum

Conflicts and hooks Vector Clocks Resolving conflicts as in gitsvn Vector pruning PrePost-commit Hooks

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index
Page 15: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

NodesWritesReads Curl http

localhost8091riakanimalsacer=3 n_val3r2w1 OneAllQuorumDefault(3) Curl

httplocalhost8091riakanimalspollyr=quorum

Conflicts and hooks Vector Clocks Resolving conflicts as in gitsvn Vector pruning PrePost-commit Hooks

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index
Page 16: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

Conflicts and hooks Vector Clocks Resolving conflicts as in gitsvn Vector pruning PrePost-commit Hooks

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index
Page 17: 7 databases in 7 weeks Part 3. Riak. Yes and no  Yes  distributed  data-replicating  enhanced key-value store  no single point of failure  HTTP(Protobuf)

Search and index Curl http

localhost8091solranimalsselectq=breedShepherd

Wild cards Curl

httplocalhost8091solranimalsselectwt=jsonampq=nicknamerin20breedshepherdampqop=and

Indexing is done on metadata attached

  • 7 databases in 7 weeks
  • Yes and no
  • Yes and no (2)
  • CRUD Links and MIMEs
  • Bucketvalue
  • Simple bad query
  • CRUD
  • Links
  • Link walking
  • MIME Types
  • Mapreduce
  • Mapreduce in riak
  • Reduce
  • Riak ring
  • NodesWritesReads
  • Conflicts and hooks
  • Search and index