SlideShare a Scribd company logo
1 of 38
Riak and Riak CSRiak and Riak CS
Andy Gross <@argv0>Andy Gross <@argv0>
Chief Architect, Basho TechnologiesChief Architect, Basho Technologies
Silicon Valley Cloud Computing GroupSilicon Valley Cloud Computing Group
April 2, 2013April 2, 2013
BashoBasho
120+ employees, offices in SF, MA,120+ employees, offices in SF, MA,
London, JapanLondon, Japan
Founded in 2008, open sourced Riak inFounded in 2008, open sourced Riak in
20092009
Sponsors of the Riak open sourceSponsors of the Riak open source
database (Apache 2)database (Apache 2)
Sell Enterprise features (multi-DCSell Enterprise features (multi-DC
replication), support, training.replication), support, training.
Riak CS (S3-compat storage) released inRiak CS (S3-compat storage) released in
March 2012March 2012
Now Open Source (Apache 2)Now Open Source (Apache 2)
Cloud storage software backed by RiakCloud storage software backed by Riak
S3 APIS3 API
Formerly closed-sourceFormerly closed-source
Per-tenant reportingPer-tenant reporting
Pluggable authenticationPluggable authentication
Detailed statsDetailed stats
DTrace supportDTrace support
REDACTEDREDACTED
REDACTEDREDACTED
REDACTEDREDACTED
what is a cloud service?what is a cloud service?
operationally simpleoperationally simple
horizontally scalablehorizontally scalable
globally distributedglobally distributed
highly availablehighly available
no SPOFsno SPOFs
fault tolerantfault tolerant
you can’t outsource theseyou can’t outsource these
propertiesproperties
operationally simpleoperationally simple
horizontally scalablehorizontally scalable
globally distributedglobally distributed
highly availablehighly available
no SPOFsno SPOFs
fault tolerantfault tolerant
““use pacemaker” =use pacemaker” =
wrong answerwrong answer
““use mysql best practicesuse mysql best practices
for redundancy” = wrongfor redundancy” = wrong
answeranswer
““just plug it into a SAN” =just plug it into a SAN” =
wrong answerwrong answer
all cloud services needall cloud services need
reliable, distributed statereliable, distributed state
storagestorage
storage is the moststorage is the most
important and hardestimportant and hardest
partpart
Riak CS uses RiakRiak CS uses Riak
What is Riak?What is Riak?
Key-Value store (plus extras)Key-Value store (plus extras)
Distributed, horizontally scalableDistributed, horizontally scalable
Eventually consistentEventually consistent
Fault-tolerantFault-tolerant
Highly-availableHighly-available
Inspired by Amazon’s DynamoInspired by Amazon’s Dynamo
Simple operations - get, put, deleteSimple operations - get, put, delete
Value is mostly opaque (some metadata)Value is mostly opaque (some metadata)
ExtrasExtras
MapReduceMapReduce
Secondary IndexesSecondary Indexes
Full-text search (optional)Full-text search (optional)
Key-ValueKey-Value
Distributed &Distributed &
Horizontally ScalableHorizontally Scalable
Default configuration is in a clusterDefault configuration is in a cluster
Load and data are spread evenly via consistentLoad and data are spread evenly via consistent
hashinghashing
Scalable: Add more nodes to get more XScalable: Add more nodes to get more X
Fault-TolerantFault-Tolerant
Symmetry: All nodes participate equallySymmetry: All nodes participate equally
Decentralized: no central control, no SPOFDecentralized: no central control, no SPOF
All data is replicated 3x by defaultAll data is replicated 3x by default
Cluster transparently survives...Cluster transparently survives...
node failurenode failure
network partitionsnetwork partitions
Built on Erlang/OTP (designed for FT)Built on Erlang/OTP (designed for FT)
Highly-AvailableHighly-Available
Any node can serve client requestsAny node can serve client requests
Fallbacks (sloppy quorums) are used whenFallbacks (sloppy quorums) are used when
nodes are downnodes are down
Always accepts write requestsAlways accepts write requests
Accepts read request as long as R/NAccepts read request as long as R/N
nodes are alivenodes are alive
Per-request quorumsPer-request quorums
Inspired by Amazon’sInspired by Amazon’s
DynamoDynamo
Masterless, peer-coordinated replicationMasterless, peer-coordinated replication
Consistent hashingConsistent hashing
Eventually consistentEventually consistent
Quorum reads and writesQuorum reads and writes
Anti-entropy: read repair, hinted handoffAnti-entropy: read repair, hinted handoff
Riak
Node
Riak
Node
Riak
Node
Riak
Node
Riak
Node
Large Object
Riak CS
S3
API
Reporting
API
Riak CS
S3
API
Reporting
API
Riak CS
S3
API
Reporting
API
Riak CS
S3
API
Reporting
API
Riak CS
S3
API
Reporting
API
1. user uploads
an object
1 MB
2. Riak CS
breaks object
into 1 MB chunks
1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB
3. Riak CS
streams chunks
to Riak nodes
4. Riak
replicates
and stores
chunks
PrinciplesPrinciples
Always-writableAlways-writable
Incrementally scalableIncrementally scalable
SymmetricalSymmetrical
DecentralizedDecentralized
Focus on SLAs, tail latencyFocus on SLAs, tail latency
TechniquesTechniques
Consistent HashingConsistent Hashing
Vector ClocksVector Clocks
Read RepairRead Repair
Anti-EntropyAnti-Entropy
Hinted HandoffHinted Handoff
Gossip ProtocolGossip Protocol
Consistent HashingConsistent Hashing
Invented by Danny Lewin and others @Invented by Danny Lewin and others @
MIT/AkamaiMIT/Akamai
Minimizes remapping of keys when number ofMinimizes remapping of keys when number of
hash slots changeshash slots changes
Originally applied to CDNs, used in Dynamo forOriginally applied to CDNs, used in Dynamo for
replica placementreplica placement
Enables incremental scalability, even spreadEnables incremental scalability, even spread
Minimizes hot spotsMinimizes hot spots
Vector ClocksVector Clocks
Introduced by Mattern et al, in 1988Introduced by Mattern et al, in 1988
Extends Lamport’s timestamps (1978)Extends Lamport’s timestamps (1978)
Each value in Dynamo tagged with vector clockEach value in Dynamo tagged with vector clock
Allows detection of stale values, logical siblingsAllows detection of stale values, logical siblings
Read RepairRead Repair
Update stale versions opportunistically on readsUpdate stale versions opportunistically on reads
(instead of writes)(instead of writes)
Pushes system toward consistency, afterPushes system toward consistency, after
returning value to clientreturning value to client
Reflects focus on a cheap, always-availableReflects focus on a cheap, always-available
write pathwrite path
Hinted HandoffHinted Handoff
Any node can accept writes for other nodes ifAny node can accept writes for other nodes if
they’re downthey’re down
All messages include a destinationAll messages include a destination
Data accepted by node other than destinationData accepted by node other than destination
is handed off when node recoversis handed off when node recovers
As long as a single node is alive the cluster canAs long as a single node is alive the cluster can
accept a writeaccept a write
Anti-EntropyAnti-Entropy
Replicas maintain a Merkle Tree of keys andReplicas maintain a Merkle Tree of keys and
their versions/hashestheir versions/hashes
Trees periodically exchanged with peer vnodesTrees periodically exchanged with peer vnodes
Merkle tree enables cheap comparisonMerkle tree enables cheap comparison
Only values with different hashes areOnly values with different hashes are
exchangedexchanged
Pushes system toward consistencyPushes system toward consistency
Gossip ProtocolGossip Protocol
Decentralized approach to managing globalDecentralized approach to managing global
statestate
Trades off atomicity of state changes for aTrades off atomicity of state changes for a
decentralized approachdecentralized approach
Volume of gossip can overwhelm networksVolume of gossip can overwhelm networks
without carewithout care
Hinted Handoff
• Node fails
• Requests go to fallback
• Node comes back
• “Handoff” - data returns
to recovered node
• Normal operations
resume
hash(“blocks/6307C89A-710A-42CD-9FFB-2A6B39F983EA”)
`
``
X
X
X
X
X
X
X
X
```
Anatomy of a Request
get(“blocks/6307C89A-710A-42CD-9FFB-2A6B39F983EA”)
Get Handler (FSM)Get Handler (FSM)
client
Riak
hash(“hash(“blocks/6307C89A-710A-42CD-9FFB-
2A6B39F983EA”)”)
== 10, 11, 12== 10, 11, 12
get(“blocks/6307C89A-710A-42CD-9FFB-2A6B39F983EA”)
Coordinating node
Cluster
66 77 88 99 1010 1111 1212 1313 1414 1515 1616
The Ring
R=2R=2
v1v1 v2v2
v1v1 v2v2
v2v2
v2v2v2v2
Read Repair
get(“blocks/6307C89A-710A-42CD-9FFB-2A6B39F983EA”)
Get Handler (FSM)Get Handler (FSM)
client
Riak
Coordinating node
Cluster
66 77 88 99 1010 1111 1212 1313 1414 1515 1616
R=2R=2 v1v1 v2v2
v2v2
v1v1
v2v2v1v1v1v1 v2v2v2v2
Erlang/OTP RuntimeErlang/OTP Runtime
Riak KVRiak KV
Riak Architecture
Client APIsClient APIs
Request CoordinationRequest Coordination
Riak CoreRiak Core
getget putput deletedelete map-reducemap-reduce
HTTPHTTP Protocol BuffersProtocol Buffers
Erlang local clientErlang local client
membership
consistent hashing handoff
node-liveness
gossip
buckets
vnodesvnodes
storage backendstorage backend
JS RuntimeJS Runtime
vnode mastervnode master
riak is a solid foundationriak is a solid foundation
for building cloudfor building cloud
servicesservices
Coming Soon:Coming Soon:
Riak CS 1.4 (Q2)Riak CS 1.4 (Q2)
Swift APISwift API
Keystone IntegrationKeystone Integration
S3 FeaturesS3 Features
COPY ObjectCOPY Object
Object VersioningObject Versioning
Riak CS 1.5 (Q3)Riak CS 1.5 (Q3)
Server side encryptionServer side encryption
Coming Later (2014)Coming Later (2014)
Erasure codingErasure coding
Reduced redundancy storageReduced redundancy storage
Native indexing/searchNative indexing/search
RICON East - May 13-14,RICON East - May 13-14,
NYCNYC
A distributed systems conference forA distributed systems conference for
developersdevelopers
Speakers from Comcast, State Farm, UCSpeakers from Comcast, State Farm, UC
Berkeley, Harvard, and many moreBerkeley, Harvard, and many more
Use discount code SVCloud20 for 20% offUse discount code SVCloud20 for 20% off
ticketstickets
http://ricon.io/east.htmlhttp://ricon.io/east.html
thanks!/questions?thanks!/questions?
download riakcs:download riakcs:
http://docs.basho.com/riakcs/latest/riakcs-downloadhttp://docs.basho.com/riakcs/latest/riakcs-download
hack riakcs:hack riakcs:
http://github.com/basho/riak_cshttp://github.com/basho/riak_cs
work at basho:work at basho:
http://bashojobs.theresumator.comhttp://bashojobs.theresumator.com
follow basho on twitter:follow basho on twitter:
http:/twitter.com/bashohttp:/twitter.com/basho

More Related Content

What's hot

Lessons Learned from Dockerizing Spark Workloads: Spark Summit East talk by T...
Lessons Learned from Dockerizing Spark Workloads: Spark Summit East talk by T...Lessons Learned from Dockerizing Spark Workloads: Spark Summit East talk by T...
Lessons Learned from Dockerizing Spark Workloads: Spark Summit East talk by T...Spark Summit
 
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...DataStax Academy
 
Securing Spark Applications by Kostas Sakellis and Marcelo Vanzin
Securing Spark Applications by Kostas Sakellis and Marcelo VanzinSecuring Spark Applications by Kostas Sakellis and Marcelo Vanzin
Securing Spark Applications by Kostas Sakellis and Marcelo VanzinSpark Summit
 
Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...
Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...
Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...DataWorks Summit/Hadoop Summit
 
Spark-on-Yarn: The Road Ahead-(Marcelo Vanzin, Cloudera)
Spark-on-Yarn: The Road Ahead-(Marcelo Vanzin, Cloudera)Spark-on-Yarn: The Road Ahead-(Marcelo Vanzin, Cloudera)
Spark-on-Yarn: The Road Ahead-(Marcelo Vanzin, Cloudera)Spark Summit
 
Spark and Object Stores —What You Need to Know: Spark Summit East talk by Ste...
Spark and Object Stores —What You Need to Know: Spark Summit East talk by Ste...Spark and Object Stores —What You Need to Know: Spark Summit East talk by Ste...
Spark and Object Stores —What You Need to Know: Spark Summit East talk by Ste...Spark Summit
 
Event Detection Pipelines with Apache Kafka
Event Detection Pipelines with Apache KafkaEvent Detection Pipelines with Apache Kafka
Event Detection Pipelines with Apache KafkaDataWorks Summit
 
Oracle Databases on AWS - Getting the Best Out of RDS and EC2
Oracle Databases on AWS - Getting the Best Out of RDS and EC2Oracle Databases on AWS - Getting the Best Out of RDS and EC2
Oracle Databases on AWS - Getting the Best Out of RDS and EC2Maris Elsins
 
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-Malla
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-MallaKerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-Malla
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-MallaSpark Summit
 
Fraud Detection for Israel BigThings Meetup
Fraud Detection  for Israel BigThings MeetupFraud Detection  for Israel BigThings Meetup
Fraud Detection for Israel BigThings MeetupGwen (Chen) Shapira
 
Lambda Architecture with Spark
Lambda Architecture with SparkLambda Architecture with Spark
Lambda Architecture with SparkKnoldus Inc.
 
Building Scalable Data Pipelines - 2016 DataPalooza Seattle
Building Scalable Data Pipelines - 2016 DataPalooza SeattleBuilding Scalable Data Pipelines - 2016 DataPalooza Seattle
Building Scalable Data Pipelines - 2016 DataPalooza SeattleEvan Chan
 
How Tencent Applies Apache Pulsar to Apache InLong - Pulsar Summit Asia 2021
How Tencent Applies Apache Pulsar to Apache InLong - Pulsar Summit Asia 2021How Tencent Applies Apache Pulsar to Apache InLong - Pulsar Summit Asia 2021
How Tencent Applies Apache Pulsar to Apache InLong - Pulsar Summit Asia 2021StreamNative
 
Real-time personal trainer on the SMACK stack
Real-time personal trainer on the SMACK stackReal-time personal trainer on the SMACK stack
Real-time personal trainer on the SMACK stackAnirvan Chakraborty
 
Trend Micro Big Data Platform and Apache Bigtop
Trend Micro Big Data Platform and Apache BigtopTrend Micro Big Data Platform and Apache Bigtop
Trend Micro Big Data Platform and Apache BigtopEvans Ye
 
Running Analytics at the Speed of Your Business
Running Analytics at the Speed of Your BusinessRunning Analytics at the Speed of Your Business
Running Analytics at the Speed of Your BusinessRedis Labs
 
Streaming Analytics with Spark, Kafka, Cassandra and Akka
Streaming Analytics with Spark, Kafka, Cassandra and AkkaStreaming Analytics with Spark, Kafka, Cassandra and Akka
Streaming Analytics with Spark, Kafka, Cassandra and AkkaHelena Edelson
 

What's hot (20)

Lessons Learned from Dockerizing Spark Workloads: Spark Summit East talk by T...
Lessons Learned from Dockerizing Spark Workloads: Spark Summit East talk by T...Lessons Learned from Dockerizing Spark Workloads: Spark Summit East talk by T...
Lessons Learned from Dockerizing Spark Workloads: Spark Summit East talk by T...
 
Data Stores @ Netflix
Data Stores @ NetflixData Stores @ Netflix
Data Stores @ Netflix
 
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...
 
How to deploy Apache Spark 
to Mesos/DCOS
How to deploy Apache Spark 
to Mesos/DCOSHow to deploy Apache Spark 
to Mesos/DCOS
How to deploy Apache Spark 
to Mesos/DCOS
 
Securing Spark Applications by Kostas Sakellis and Marcelo Vanzin
Securing Spark Applications by Kostas Sakellis and Marcelo VanzinSecuring Spark Applications by Kostas Sakellis and Marcelo Vanzin
Securing Spark Applications by Kostas Sakellis and Marcelo Vanzin
 
Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...
Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...
Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...
 
Spark-on-Yarn: The Road Ahead-(Marcelo Vanzin, Cloudera)
Spark-on-Yarn: The Road Ahead-(Marcelo Vanzin, Cloudera)Spark-on-Yarn: The Road Ahead-(Marcelo Vanzin, Cloudera)
Spark-on-Yarn: The Road Ahead-(Marcelo Vanzin, Cloudera)
 
Spark and Object Stores —What You Need to Know: Spark Summit East talk by Ste...
Spark and Object Stores —What You Need to Know: Spark Summit East talk by Ste...Spark and Object Stores —What You Need to Know: Spark Summit East talk by Ste...
Spark and Object Stores —What You Need to Know: Spark Summit East talk by Ste...
 
Event Detection Pipelines with Apache Kafka
Event Detection Pipelines with Apache KafkaEvent Detection Pipelines with Apache Kafka
Event Detection Pipelines with Apache Kafka
 
Oracle Databases on AWS - Getting the Best Out of RDS and EC2
Oracle Databases on AWS - Getting the Best Out of RDS and EC2Oracle Databases on AWS - Getting the Best Out of RDS and EC2
Oracle Databases on AWS - Getting the Best Out of RDS and EC2
 
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-Malla
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-MallaKerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-Malla
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-Malla
 
Fraud Detection for Israel BigThings Meetup
Fraud Detection  for Israel BigThings MeetupFraud Detection  for Israel BigThings Meetup
Fraud Detection for Israel BigThings Meetup
 
Lambda Architecture with Spark
Lambda Architecture with SparkLambda Architecture with Spark
Lambda Architecture with Spark
 
Building Scalable Data Pipelines - 2016 DataPalooza Seattle
Building Scalable Data Pipelines - 2016 DataPalooza SeattleBuilding Scalable Data Pipelines - 2016 DataPalooza Seattle
Building Scalable Data Pipelines - 2016 DataPalooza Seattle
 
How Tencent Applies Apache Pulsar to Apache InLong - Pulsar Summit Asia 2021
How Tencent Applies Apache Pulsar to Apache InLong - Pulsar Summit Asia 2021How Tencent Applies Apache Pulsar to Apache InLong - Pulsar Summit Asia 2021
How Tencent Applies Apache Pulsar to Apache InLong - Pulsar Summit Asia 2021
 
Real-time personal trainer on the SMACK stack
Real-time personal trainer on the SMACK stackReal-time personal trainer on the SMACK stack
Real-time personal trainer on the SMACK stack
 
Enterprise Grade Streaming under 2ms on Hadoop
Enterprise Grade Streaming under 2ms on HadoopEnterprise Grade Streaming under 2ms on Hadoop
Enterprise Grade Streaming under 2ms on Hadoop
 
Trend Micro Big Data Platform and Apache Bigtop
Trend Micro Big Data Platform and Apache BigtopTrend Micro Big Data Platform and Apache Bigtop
Trend Micro Big Data Platform and Apache Bigtop
 
Running Analytics at the Speed of Your Business
Running Analytics at the Speed of Your BusinessRunning Analytics at the Speed of Your Business
Running Analytics at the Speed of Your Business
 
Streaming Analytics with Spark, Kafka, Cassandra and Akka
Streaming Analytics with Spark, Kafka, Cassandra and AkkaStreaming Analytics with Spark, Kafka, Cassandra and Akka
Streaming Analytics with Spark, Kafka, Cassandra and Akka
 

Similar to Building Reliable Cloud Storage with Riak and CloudStack - Andy Gross, Chief Architect (Basho)

Distribute Key Value Store
Distribute Key Value StoreDistribute Key Value Store
Distribute Key Value StoreSantal Li
 
Distribute key value_store
Distribute key value_storeDistribute key value_store
Distribute key value_storedrewz lin
 
Renegotiating the boundary between database latency and consistency
Renegotiating the boundary between database latency  and consistencyRenegotiating the boundary between database latency  and consistency
Renegotiating the boundary between database latency and consistencyScyllaDB
 
What’s New in ScyllaDB Open Source 5.0
What’s New in ScyllaDB Open Source 5.0What’s New in ScyllaDB Open Source 5.0
What’s New in ScyllaDB Open Source 5.0ScyllaDB
 
Data Grids with Oracle Coherence
Data Grids with Oracle CoherenceData Grids with Oracle Coherence
Data Grids with Oracle CoherenceBen Stopford
 
Cassandra for Sysadmins
Cassandra for SysadminsCassandra for Sysadmins
Cassandra for SysadminsNathan Milford
 
MySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion QueriesMySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion QueriesBernd Ocklin
 
Data Engineering for Data Scientists
Data Engineering for Data Scientists Data Engineering for Data Scientists
Data Engineering for Data Scientists jlacefie
 
Optimizing Performance in Rust for Low-Latency Database Drivers
Optimizing Performance in Rust for Low-Latency Database DriversOptimizing Performance in Rust for Low-Latency Database Drivers
Optimizing Performance in Rust for Low-Latency Database DriversScyllaDB
 
Demystifying the Distributed Database Landscape (DevOps) (1).pdf
Demystifying the Distributed Database Landscape (DevOps) (1).pdfDemystifying the Distributed Database Landscape (DevOps) (1).pdf
Demystifying the Distributed Database Landscape (DevOps) (1).pdfScyllaDB
 
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...Jen Aman
 
Data center pov 2017 v3
Data center pov 2017 v3Data center pov 2017 v3
Data center pov 2017 v3Jeff Green
 
Scaling ArangoDB on Mesosphere DCOS
Scaling ArangoDB on Mesosphere DCOSScaling ArangoDB on Mesosphere DCOS
Scaling ArangoDB on Mesosphere DCOSMax Neunhöffer
 
SnappyData at Spark Summit 2017
SnappyData at Spark Summit 2017SnappyData at Spark Summit 2017
SnappyData at Spark Summit 2017Jags Ramnarayan
 
SnappyData, the Spark Database. A unified cluster for streaming, transactions...
SnappyData, the Spark Database. A unified cluster for streaming, transactions...SnappyData, the Spark Database. A unified cluster for streaming, transactions...
SnappyData, the Spark Database. A unified cluster for streaming, transactions...SnappyData
 
Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?Anton Nazaruk
 
InfluxEnterprise Architecture Patterns by Tim Hall & Sam Dillard
InfluxEnterprise Architecture Patterns by Tim Hall & Sam DillardInfluxEnterprise Architecture Patterns by Tim Hall & Sam Dillard
InfluxEnterprise Architecture Patterns by Tim Hall & Sam DillardInfluxData
 

Similar to Building Reliable Cloud Storage with Riak and CloudStack - Andy Gross, Chief Architect (Basho) (20)

Distribute Key Value Store
Distribute Key Value StoreDistribute Key Value Store
Distribute Key Value Store
 
Distribute key value_store
Distribute key value_storeDistribute key value_store
Distribute key value_store
 
Renegotiating the boundary between database latency and consistency
Renegotiating the boundary between database latency  and consistencyRenegotiating the boundary between database latency  and consistency
Renegotiating the boundary between database latency and consistency
 
What’s New in ScyllaDB Open Source 5.0
What’s New in ScyllaDB Open Source 5.0What’s New in ScyllaDB Open Source 5.0
What’s New in ScyllaDB Open Source 5.0
 
Data Grids with Oracle Coherence
Data Grids with Oracle CoherenceData Grids with Oracle Coherence
Data Grids with Oracle Coherence
 
Cisco OpenSOC
Cisco OpenSOCCisco OpenSOC
Cisco OpenSOC
 
Cassandra for Sysadmins
Cassandra for SysadminsCassandra for Sysadmins
Cassandra for Sysadmins
 
MySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion QueriesMySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion Queries
 
Cassandra
CassandraCassandra
Cassandra
 
RISC V in Spacer
RISC V in SpacerRISC V in Spacer
RISC V in Spacer
 
Data Engineering for Data Scientists
Data Engineering for Data Scientists Data Engineering for Data Scientists
Data Engineering for Data Scientists
 
Optimizing Performance in Rust for Low-Latency Database Drivers
Optimizing Performance in Rust for Low-Latency Database DriversOptimizing Performance in Rust for Low-Latency Database Drivers
Optimizing Performance in Rust for Low-Latency Database Drivers
 
Demystifying the Distributed Database Landscape (DevOps) (1).pdf
Demystifying the Distributed Database Landscape (DevOps) (1).pdfDemystifying the Distributed Database Landscape (DevOps) (1).pdf
Demystifying the Distributed Database Landscape (DevOps) (1).pdf
 
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
 
Data center pov 2017 v3
Data center pov 2017 v3Data center pov 2017 v3
Data center pov 2017 v3
 
Scaling ArangoDB on Mesosphere DCOS
Scaling ArangoDB on Mesosphere DCOSScaling ArangoDB on Mesosphere DCOS
Scaling ArangoDB on Mesosphere DCOS
 
SnappyData at Spark Summit 2017
SnappyData at Spark Summit 2017SnappyData at Spark Summit 2017
SnappyData at Spark Summit 2017
 
SnappyData, the Spark Database. A unified cluster for streaming, transactions...
SnappyData, the Spark Database. A unified cluster for streaming, transactions...SnappyData, the Spark Database. A unified cluster for streaming, transactions...
SnappyData, the Spark Database. A unified cluster for streaming, transactions...
 
Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?
 
InfluxEnterprise Architecture Patterns by Tim Hall & Sam Dillard
InfluxEnterprise Architecture Patterns by Tim Hall & Sam DillardInfluxEnterprise Architecture Patterns by Tim Hall & Sam Dillard
InfluxEnterprise Architecture Patterns by Tim Hall & Sam Dillard
 

More from buildacloud

The Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep VittalThe Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep Vittalbuildacloud
 
Policy Based SDN Solution for DC and Branch Office by Suresh Boddapati
Policy Based SDN Solution for DC and Branch Office by Suresh BoddapatiPolicy Based SDN Solution for DC and Branch Office by Suresh Boddapati
Policy Based SDN Solution for DC and Branch Office by Suresh Boddapatibuildacloud
 
L4-L7 services for SDN and NVF by Youcef Laribi
L4-L7 services for SDN and NVF by Youcef LaribiL4-L7 services for SDN and NVF by Youcef Laribi
L4-L7 services for SDN and NVF by Youcef Laribibuildacloud
 
Jenkins, jclouds, CloudStack, and CentOS by David Nalley
Jenkins, jclouds, CloudStack, and CentOS by David NalleyJenkins, jclouds, CloudStack, and CentOS by David Nalley
Jenkins, jclouds, CloudStack, and CentOS by David Nalleybuildacloud
 
Intro to Zenoss by Andrew Kirch
Intro to Zenoss by Andrew KirchIntro to Zenoss by Andrew Kirch
Intro to Zenoss by Andrew Kirchbuildacloud
 
Guaranteeing Storage Performance by Mike Tutkowski
Guaranteeing Storage Performance by Mike TutkowskiGuaranteeing Storage Performance by Mike Tutkowski
Guaranteeing Storage Performance by Mike Tutkowskibuildacloud
 
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex HenevaldCloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex Henevaldbuildacloud
 
Introduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David NalleyIntroduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David Nalleybuildacloud
 
Managing infrastructure with Application Policy by Mike Cohen
Managing infrastructure with Application Policy by Mike CohenManaging infrastructure with Application Policy by Mike Cohen
Managing infrastructure with Application Policy by Mike Cohenbuildacloud
 
Intro to Zenoss by Andrew Kirch
Intro to Zenoss by Andrew KirchIntro to Zenoss by Andrew Kirch
Intro to Zenoss by Andrew Kirchbuildacloud
 
Monitoring CloudStack in context with Converged Infrastructure by Mike Turnlund
Monitoring CloudStack in context with Converged Infrastructure by Mike TurnlundMonitoring CloudStack in context with Converged Infrastructure by Mike Turnlund
Monitoring CloudStack in context with Converged Infrastructure by Mike Turnlundbuildacloud
 
Rest api design by george reese
Rest api design by george reeseRest api design by george reese
Rest api design by george reesebuildacloud
 
Enterprise grade firewall and ssl termination to ac by will stevens
Enterprise grade firewall and ssl termination to ac by will stevensEnterprise grade firewall and ssl termination to ac by will stevens
Enterprise grade firewall and ssl termination to ac by will stevensbuildacloud
 
State of the cloud by reuven cohen
State of the cloud by reuven cohenState of the cloud by reuven cohen
State of the cloud by reuven cohenbuildacloud
 
Securing Your Cloud With the Xen Hypervisor by Russell Pavlicek
Securing Your Cloud With the Xen Hypervisor by Russell PavlicekSecuring Your Cloud With the Xen Hypervisor by Russell Pavlicek
Securing Your Cloud With the Xen Hypervisor by Russell Pavlicekbuildacloud
 
DevCloud - Setup and Demo on Apache CloudStack
DevCloud - Setup and Demo on Apache CloudStack DevCloud - Setup and Demo on Apache CloudStack
DevCloud - Setup and Demo on Apache CloudStack buildacloud
 
Cloud Network Virtualization with Juniper Contrail
Cloud Network Virtualization with Juniper ContrailCloud Network Virtualization with Juniper Contrail
Cloud Network Virtualization with Juniper Contrailbuildacloud
 
Ian rae panel cloud stack & cloud storage where are we at, and where do we ne...
Ian rae panel cloud stack & cloud storage where are we at, and where do we ne...Ian rae panel cloud stack & cloud storage where are we at, and where do we ne...
Ian rae panel cloud stack & cloud storage where are we at, and where do we ne...buildacloud
 
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski buildacloud
 
CloudStack University by Sebastien Goasguen
CloudStack University by Sebastien GoasguenCloudStack University by Sebastien Goasguen
CloudStack University by Sebastien Goasguenbuildacloud
 

More from buildacloud (20)

The Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep VittalThe Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep Vittal
 
Policy Based SDN Solution for DC and Branch Office by Suresh Boddapati
Policy Based SDN Solution for DC and Branch Office by Suresh BoddapatiPolicy Based SDN Solution for DC and Branch Office by Suresh Boddapati
Policy Based SDN Solution for DC and Branch Office by Suresh Boddapati
 
L4-L7 services for SDN and NVF by Youcef Laribi
L4-L7 services for SDN and NVF by Youcef LaribiL4-L7 services for SDN and NVF by Youcef Laribi
L4-L7 services for SDN and NVF by Youcef Laribi
 
Jenkins, jclouds, CloudStack, and CentOS by David Nalley
Jenkins, jclouds, CloudStack, and CentOS by David NalleyJenkins, jclouds, CloudStack, and CentOS by David Nalley
Jenkins, jclouds, CloudStack, and CentOS by David Nalley
 
Intro to Zenoss by Andrew Kirch
Intro to Zenoss by Andrew KirchIntro to Zenoss by Andrew Kirch
Intro to Zenoss by Andrew Kirch
 
Guaranteeing Storage Performance by Mike Tutkowski
Guaranteeing Storage Performance by Mike TutkowskiGuaranteeing Storage Performance by Mike Tutkowski
Guaranteeing Storage Performance by Mike Tutkowski
 
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex HenevaldCloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
 
Introduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David NalleyIntroduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David Nalley
 
Managing infrastructure with Application Policy by Mike Cohen
Managing infrastructure with Application Policy by Mike CohenManaging infrastructure with Application Policy by Mike Cohen
Managing infrastructure with Application Policy by Mike Cohen
 
Intro to Zenoss by Andrew Kirch
Intro to Zenoss by Andrew KirchIntro to Zenoss by Andrew Kirch
Intro to Zenoss by Andrew Kirch
 
Monitoring CloudStack in context with Converged Infrastructure by Mike Turnlund
Monitoring CloudStack in context with Converged Infrastructure by Mike TurnlundMonitoring CloudStack in context with Converged Infrastructure by Mike Turnlund
Monitoring CloudStack in context with Converged Infrastructure by Mike Turnlund
 
Rest api design by george reese
Rest api design by george reeseRest api design by george reese
Rest api design by george reese
 
Enterprise grade firewall and ssl termination to ac by will stevens
Enterprise grade firewall and ssl termination to ac by will stevensEnterprise grade firewall and ssl termination to ac by will stevens
Enterprise grade firewall and ssl termination to ac by will stevens
 
State of the cloud by reuven cohen
State of the cloud by reuven cohenState of the cloud by reuven cohen
State of the cloud by reuven cohen
 
Securing Your Cloud With the Xen Hypervisor by Russell Pavlicek
Securing Your Cloud With the Xen Hypervisor by Russell PavlicekSecuring Your Cloud With the Xen Hypervisor by Russell Pavlicek
Securing Your Cloud With the Xen Hypervisor by Russell Pavlicek
 
DevCloud - Setup and Demo on Apache CloudStack
DevCloud - Setup and Demo on Apache CloudStack DevCloud - Setup and Demo on Apache CloudStack
DevCloud - Setup and Demo on Apache CloudStack
 
Cloud Network Virtualization with Juniper Contrail
Cloud Network Virtualization with Juniper ContrailCloud Network Virtualization with Juniper Contrail
Cloud Network Virtualization with Juniper Contrail
 
Ian rae panel cloud stack & cloud storage where are we at, and where do we ne...
Ian rae panel cloud stack & cloud storage where are we at, and where do we ne...Ian rae panel cloud stack & cloud storage where are we at, and where do we ne...
Ian rae panel cloud stack & cloud storage where are we at, and where do we ne...
 
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski
 
CloudStack University by Sebastien Goasguen
CloudStack University by Sebastien GoasguenCloudStack University by Sebastien Goasguen
CloudStack University by Sebastien Goasguen
 

Recently uploaded

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Building Reliable Cloud Storage with Riak and CloudStack - Andy Gross, Chief Architect (Basho)

  • 1. Riak and Riak CSRiak and Riak CS Andy Gross <@argv0>Andy Gross <@argv0> Chief Architect, Basho TechnologiesChief Architect, Basho Technologies Silicon Valley Cloud Computing GroupSilicon Valley Cloud Computing Group April 2, 2013April 2, 2013
  • 2. BashoBasho 120+ employees, offices in SF, MA,120+ employees, offices in SF, MA, London, JapanLondon, Japan Founded in 2008, open sourced Riak inFounded in 2008, open sourced Riak in 20092009 Sponsors of the Riak open sourceSponsors of the Riak open source database (Apache 2)database (Apache 2) Sell Enterprise features (multi-DCSell Enterprise features (multi-DC replication), support, training.replication), support, training. Riak CS (S3-compat storage) released inRiak CS (S3-compat storage) released in March 2012March 2012
  • 3. Now Open Source (Apache 2)Now Open Source (Apache 2) Cloud storage software backed by RiakCloud storage software backed by Riak S3 APIS3 API Formerly closed-sourceFormerly closed-source Per-tenant reportingPer-tenant reporting Pluggable authenticationPluggable authentication Detailed statsDetailed stats DTrace supportDTrace support
  • 5. what is a cloud service?what is a cloud service? operationally simpleoperationally simple horizontally scalablehorizontally scalable globally distributedglobally distributed highly availablehighly available no SPOFsno SPOFs fault tolerantfault tolerant
  • 6. you can’t outsource theseyou can’t outsource these propertiesproperties operationally simpleoperationally simple horizontally scalablehorizontally scalable globally distributedglobally distributed highly availablehighly available no SPOFsno SPOFs fault tolerantfault tolerant
  • 7. ““use pacemaker” =use pacemaker” = wrong answerwrong answer
  • 8. ““use mysql best practicesuse mysql best practices for redundancy” = wrongfor redundancy” = wrong answeranswer
  • 9. ““just plug it into a SAN” =just plug it into a SAN” = wrong answerwrong answer
  • 10. all cloud services needall cloud services need reliable, distributed statereliable, distributed state storagestorage
  • 11. storage is the moststorage is the most important and hardestimportant and hardest partpart
  • 12. Riak CS uses RiakRiak CS uses Riak
  • 13. What is Riak?What is Riak?
  • 14. Key-Value store (plus extras)Key-Value store (plus extras) Distributed, horizontally scalableDistributed, horizontally scalable Eventually consistentEventually consistent Fault-tolerantFault-tolerant Highly-availableHighly-available Inspired by Amazon’s DynamoInspired by Amazon’s Dynamo
  • 15. Simple operations - get, put, deleteSimple operations - get, put, delete Value is mostly opaque (some metadata)Value is mostly opaque (some metadata) ExtrasExtras MapReduceMapReduce Secondary IndexesSecondary Indexes Full-text search (optional)Full-text search (optional) Key-ValueKey-Value
  • 16. Distributed &Distributed & Horizontally ScalableHorizontally Scalable Default configuration is in a clusterDefault configuration is in a cluster Load and data are spread evenly via consistentLoad and data are spread evenly via consistent hashinghashing Scalable: Add more nodes to get more XScalable: Add more nodes to get more X
  • 17. Fault-TolerantFault-Tolerant Symmetry: All nodes participate equallySymmetry: All nodes participate equally Decentralized: no central control, no SPOFDecentralized: no central control, no SPOF All data is replicated 3x by defaultAll data is replicated 3x by default Cluster transparently survives...Cluster transparently survives... node failurenode failure network partitionsnetwork partitions Built on Erlang/OTP (designed for FT)Built on Erlang/OTP (designed for FT)
  • 18. Highly-AvailableHighly-Available Any node can serve client requestsAny node can serve client requests Fallbacks (sloppy quorums) are used whenFallbacks (sloppy quorums) are used when nodes are downnodes are down Always accepts write requestsAlways accepts write requests Accepts read request as long as R/NAccepts read request as long as R/N nodes are alivenodes are alive Per-request quorumsPer-request quorums
  • 19. Inspired by Amazon’sInspired by Amazon’s DynamoDynamo Masterless, peer-coordinated replicationMasterless, peer-coordinated replication Consistent hashingConsistent hashing Eventually consistentEventually consistent Quorum reads and writesQuorum reads and writes Anti-entropy: read repair, hinted handoffAnti-entropy: read repair, hinted handoff
  • 20. Riak Node Riak Node Riak Node Riak Node Riak Node Large Object Riak CS S3 API Reporting API Riak CS S3 API Reporting API Riak CS S3 API Reporting API Riak CS S3 API Reporting API Riak CS S3 API Reporting API 1. user uploads an object 1 MB 2. Riak CS breaks object into 1 MB chunks 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 3. Riak CS streams chunks to Riak nodes 4. Riak replicates and stores chunks
  • 22. TechniquesTechniques Consistent HashingConsistent Hashing Vector ClocksVector Clocks Read RepairRead Repair Anti-EntropyAnti-Entropy Hinted HandoffHinted Handoff Gossip ProtocolGossip Protocol
  • 23. Consistent HashingConsistent Hashing Invented by Danny Lewin and others @Invented by Danny Lewin and others @ MIT/AkamaiMIT/Akamai Minimizes remapping of keys when number ofMinimizes remapping of keys when number of hash slots changeshash slots changes Originally applied to CDNs, used in Dynamo forOriginally applied to CDNs, used in Dynamo for replica placementreplica placement Enables incremental scalability, even spreadEnables incremental scalability, even spread Minimizes hot spotsMinimizes hot spots
  • 24.
  • 25. Vector ClocksVector Clocks Introduced by Mattern et al, in 1988Introduced by Mattern et al, in 1988 Extends Lamport’s timestamps (1978)Extends Lamport’s timestamps (1978) Each value in Dynamo tagged with vector clockEach value in Dynamo tagged with vector clock Allows detection of stale values, logical siblingsAllows detection of stale values, logical siblings
  • 26. Read RepairRead Repair Update stale versions opportunistically on readsUpdate stale versions opportunistically on reads (instead of writes)(instead of writes) Pushes system toward consistency, afterPushes system toward consistency, after returning value to clientreturning value to client Reflects focus on a cheap, always-availableReflects focus on a cheap, always-available write pathwrite path
  • 27. Hinted HandoffHinted Handoff Any node can accept writes for other nodes ifAny node can accept writes for other nodes if they’re downthey’re down All messages include a destinationAll messages include a destination Data accepted by node other than destinationData accepted by node other than destination is handed off when node recoversis handed off when node recovers As long as a single node is alive the cluster canAs long as a single node is alive the cluster can accept a writeaccept a write
  • 28. Anti-EntropyAnti-Entropy Replicas maintain a Merkle Tree of keys andReplicas maintain a Merkle Tree of keys and their versions/hashestheir versions/hashes Trees periodically exchanged with peer vnodesTrees periodically exchanged with peer vnodes Merkle tree enables cheap comparisonMerkle tree enables cheap comparison Only values with different hashes areOnly values with different hashes are exchangedexchanged Pushes system toward consistencyPushes system toward consistency
  • 29. Gossip ProtocolGossip Protocol Decentralized approach to managing globalDecentralized approach to managing global statestate Trades off atomicity of state changes for aTrades off atomicity of state changes for a decentralized approachdecentralized approach Volume of gossip can overwhelm networksVolume of gossip can overwhelm networks without carewithout care
  • 30. Hinted Handoff • Node fails • Requests go to fallback • Node comes back • “Handoff” - data returns to recovered node • Normal operations resume hash(“blocks/6307C89A-710A-42CD-9FFB-2A6B39F983EA”) ` `` X X X X X X X X ```
  • 31. Anatomy of a Request get(“blocks/6307C89A-710A-42CD-9FFB-2A6B39F983EA”) Get Handler (FSM)Get Handler (FSM) client Riak hash(“hash(“blocks/6307C89A-710A-42CD-9FFB- 2A6B39F983EA”)”) == 10, 11, 12== 10, 11, 12 get(“blocks/6307C89A-710A-42CD-9FFB-2A6B39F983EA”) Coordinating node Cluster 66 77 88 99 1010 1111 1212 1313 1414 1515 1616 The Ring R=2R=2 v1v1 v2v2 v1v1 v2v2 v2v2
  • 32. v2v2v2v2 Read Repair get(“blocks/6307C89A-710A-42CD-9FFB-2A6B39F983EA”) Get Handler (FSM)Get Handler (FSM) client Riak Coordinating node Cluster 66 77 88 99 1010 1111 1212 1313 1414 1515 1616 R=2R=2 v1v1 v2v2 v2v2 v1v1 v2v2v1v1v1v1 v2v2v2v2
  • 33. Erlang/OTP RuntimeErlang/OTP Runtime Riak KVRiak KV Riak Architecture Client APIsClient APIs Request CoordinationRequest Coordination Riak CoreRiak Core getget putput deletedelete map-reducemap-reduce HTTPHTTP Protocol BuffersProtocol Buffers Erlang local clientErlang local client membership consistent hashing handoff node-liveness gossip buckets vnodesvnodes storage backendstorage backend JS RuntimeJS Runtime vnode mastervnode master
  • 34. riak is a solid foundationriak is a solid foundation for building cloudfor building cloud servicesservices
  • 35. Coming Soon:Coming Soon: Riak CS 1.4 (Q2)Riak CS 1.4 (Q2) Swift APISwift API Keystone IntegrationKeystone Integration S3 FeaturesS3 Features COPY ObjectCOPY Object Object VersioningObject Versioning Riak CS 1.5 (Q3)Riak CS 1.5 (Q3) Server side encryptionServer side encryption
  • 36. Coming Later (2014)Coming Later (2014) Erasure codingErasure coding Reduced redundancy storageReduced redundancy storage Native indexing/searchNative indexing/search
  • 37. RICON East - May 13-14,RICON East - May 13-14, NYCNYC A distributed systems conference forA distributed systems conference for developersdevelopers Speakers from Comcast, State Farm, UCSpeakers from Comcast, State Farm, UC Berkeley, Harvard, and many moreBerkeley, Harvard, and many more Use discount code SVCloud20 for 20% offUse discount code SVCloud20 for 20% off ticketstickets http://ricon.io/east.htmlhttp://ricon.io/east.html
  • 38. thanks!/questions?thanks!/questions? download riakcs:download riakcs: http://docs.basho.com/riakcs/latest/riakcs-downloadhttp://docs.basho.com/riakcs/latest/riakcs-download hack riakcs:hack riakcs: http://github.com/basho/riak_cshttp://github.com/basho/riak_cs work at basho:work at basho: http://bashojobs.theresumator.comhttp://bashojobs.theresumator.com follow basho on twitter:follow basho on twitter: http:/twitter.com/bashohttp:/twitter.com/basho

Editor's Notes

  1. Think of it like a big hash-table
  2. X = throughput, compute power for MapReduce, storage, lower latency
  3. Consistent hashing means: 1) large, fixed-size key-space 2) no rehashing of keys - always hash the same way
  4. 1) Client requests a key 2) Get handler starts up to service the request 3) Hashes key to its owner partitions (N=3) 4) Sends similar “get” request to those partitions 5) Waits for R replies that concur (R=2) 6) Resolves the object, replies to client 7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated