SlideShare a Scribd company logo
1 of 34
Aerospike aer . o . spike [air-oh- spahyk]
noun, 1. tip of a rocket that enhances speed and stability
KVS Data Access
Topics
➤ Structured v. Unstructured Data
➤ Database Hierarchy and Definitions
➤ Data Access Patterns
© 2013 Aerospike. All rights reserved. | Records | Pg. 3
Structured Databases
For performance, many early databases were structured.
Every table has a defined schema. Changes to the schema
required a DBA, possibly a Change Control Board (CCB).
© 2013 Aerospike. All rights reserved. | Records | Pg. 4
id
(10 bytes)
lname
(40 bytes)
fname
(40 bytes)
address
(60 bytes)
city
(20 bytes)
state
(20 bytes)
Phone
(20 bytes)
1 Able John 123 First New York NY 2128675309
2 Baker Kris 234 Second UNKNOWN UNKNOWN UNKNOWN
3 Charlie Larry 345 Third Seattle WA 4258675309
4 Delta Moe 456 Fourth Austin TX 7378675309
Pros
+ ACID
+ Familiarity
Cons
- Requires pre-defined
schema
- Changes to schema can
be traumatic, limiting
dynamic application
development.
- Poor durability on SSD
© 2013 Aerospike. All rights reserved. | Records | Pg. 5
Structured Databases
Unstructured Databases
Unstructured databases do not have a pre-defined schema
and bins may exist in some records, but not in others.
Different kinds of records may be mixed in sets.
© 2013 Aerospike. All rights reserved. | Records | Pg. 6
Id lname fname address city state Phone Size
1 Able John 123 First New York NY +81 2128 6753 909 45 bytes
2 Baker Kris 234 Second 20 bytes
3 Charlie 8 bytes
4 Delta Moe 456 Fourth Austin TX 7378675309 47 bytes
Pros
+ No predefined schema
+ Addition of new bins can
be done from client
+ Addition of new sets (like
tables) can be done from
client
+ Makes most of sequential
write speed of disks
Cons
- Difficult to predict
object size
- Updates to a record
require an entire record
re-write (AS solution is
LDTs)
© 2013 Aerospike. All rights reserved. | Records | Pg. 7
Aerospike
What Do You Want From A Distributed DB?
• Hide the complexity of distribution.
• Linear scalability.
• Better service availability.
© 2013 Aerospike. All rights reserved. Pg. 8
Smart Partition Architecture
© 2013 Aerospike. All rights reserved. Pg. 9
Cluster creates a map of how data is
distributed, called a partition map.
Combine features from other architectures to create a map.
Smart Partitioning
• Every key is hashed using the
RIPEMD160 hash function
• The creates a fixed 160 bits (20
bytes) string.
• 12 bits of this hash are used to
identify the partition id
• There are 4096 partitions
• Are distributed among the nodes
PaikPaik
182023kh15hh3kahdjsh182023kh15hh3kahdjsh
Partition
ID
Master
node
Replica
node
… 1 4
1820 2 3
1821 3 2
4096 4 1
© 2013 Aerospike. All rights reserved. Pg. 10
Aerospike uses a partition table
Smart Partitioning
For simplicity, let’s take a 3 node cluster with
only 9 partitions and a replication factor of 2.
© 2013 Aerospike. All rights reserved. Pg. 11
© 2013 Aerospike. All rights reserved. | Records | Pg. 12
Database Hierarchy
Term Definition Notes
Cluster An Aerospike cluster services a single
database service.
While a company may deploy multiple clusters,
applications will only connect to a single cluster.
Node A single instance of an Aerospike
database.
For production deployments, a host should only
have a single node. For development, you may
place more than one node on a host.
Namespace An area of storage related to the media.
Can be either RAM or SSD based.
Similar to a “database” or “tablespaces” in
relational databases.
Set An unstructured grouping of data that
have some commonality.
Similar to “tables” in a relational database, but do
not require a schema.
Record A key and all data related to that key. Similar to a “row” in a relational database.
Bin One part of data related to a key. Bins in Aerospike are typed, but the same bin in
different records can have different types. Bins
are not required. Single bin optimizations are
allowed.
(Large Data Type) LDT LDTs provide functions for storing
arbitrarily large amounts of data
without requiring the database to read
the entire record.
Most commonly the data stored in LDTs will be
time series data, but this is not a requirement.
This feature is still in development.
Data Hierarchy
Cluster
Node 1 Node 2 Node 3
Namespace
Set
Record
Record BinBin
© 2013 Aerospike. All rights reserved. | Records | Pg. 13
Bin
Cluster
➤ Will be distributed on different nodes.
➤ Management of cluster is automated, so
no manual rebalancing or reconfiguration
is necessary.
➤ Will contain one or more namespaces.
Adding/removing namespaces requires a
cluster-wide restart.
© 2013 Aerospike. All rights reserved. | Records | Pg. 14
Nodes
➤ Each node is assumed to be identical.
➤ Data (and their associated traffic) will be
evenly balanced across the nodes.
➤ Big differences between nodes imply a
problem.
➤ Node capacity should take into account
node failure patterns.
© 2013 Aerospike. All rights reserved. | Records | Pg. 15
Namespaces
➤ Are associated with the storage media:
 Hybrid (ram for index and SSD for data)
 RAM + disk for persistence only
 RAM only
➤ Each can be configured with their own:
 replication factor (change requires a cluster-wide restart)
 RAM and disk configuration
 settings for high-watermark
 default TTL (if you have data that must never be
automatically deleted, you must set this to “0”)
© 2013 Aerospike. All rights reserved. | Records | Pg. 16
Sets
➤ Similar to “tables” in relational
databases.
➤ Sets are optional.
➤ Schema does not have to be pre-defined.
➤ In order to request a record, you must
know its set.
➤ Scans can be done across a set
© 2013 Aerospike. All rights reserved. | Records | Pg. 17
Records
➤ Similar to a row in a relational database.
➤ All data for a record will be stored on the
same node. This is true even for LDTs.
➤ Any change to a record will result in a
complete write of the entire record,
unless using LDTs.
© 2013 Aerospike. All rights reserved. | Records | Pg. 18
Bins
➤ Values Are typed. Current types are:
 Simple (integer, string, blob [language specific])
 Complex (list, map)
 Large Data Types (LDTs)
➤ A single bin may be updated by the client.
 Increment
 Replacement
 User Defined Function (UDF)
© 2013 Aerospike. All rights reserved. | Records | Pg. 19
Data Hierarchy
Cluster
Node 1 Node 2 Node 3
Namespace
Set
Record
Record BinBin
© 2013 Aerospike. All rights reserved. | Records | Pg. 20
Bin
Data Access Patterns
 Read
 Write
 Update
© 2013 Aerospike. All rights reserved. | Records | Pg. 21
Accessing An Object In Aerospike
Reading A Standard Data Type With SSDs
© 2013 Aerospike. All rights reserved. | Records | Pg. 22
128 KB Blocks
Master Node
SSD (DATA)
Client
RAM (Index)
1) Client finds Master Node from
partition map.
2) Client makes read request to
Master Node.
3) Master Node finds data location
from index in RAM.
4) Master Node reads entire object
from SSD. This is true even if only
reading bin.
5) Master Node returns value.
Index reference
Accessing An Object In Aerospike
Writing A New Standard Data Type Record With SSDs
© 2013 Aerospike. All rights reserved. | Records | Pg. 23
128 KB Blocks
Master Node
SSD (DATA)
Client
RAM (Index)
1) Client finds Master Node from
partition map.
2) Client makes write request to
Master Node.
3) Master Node make an entry indo
index (in RAM) and queues write in
temporary write buffer.
4) Master Node coordinates write
with replica nodes (not shown).
5) Master Node returns success to
client.
6) Master Node asynchronously writes
data in 128 KB blocks.
7) Index in RAM points to location on
SSD.
Asynchronous write
Accessing An Object In Aerospike
Updating A Standard Data Type Record With SSDs
© 2013 Aerospike. All rights reserved. | Records | Pg. 24
128 KB Blocks
Master Node
SSD (DATA)
Client
RAM (Index)
1) Client finds Master Node from
partition map.
2) Client makes update request to
Master Node.
3) Master Node reads the existing
record (if using multiple bins)
4) Master Node queues write of
updated record in a temporary
write buffer
5) Master Node coordinates write
with replica nodes (not shown).
6) Master Node returns success to
client.
7) Master Node asynchronously writes
data in 128 KB blocks.
8) Index in RAM points to new
location on SSD.
Asynchronous write
Old
New
New
Accessing An Object In Aerospike
Keeping It Efficient
© 2013 Aerospike. All rights reserved. | Records | Pg. 25
128 KB Blocks
Master Node
SSD (DATA)
Client
RAM (Index)
Index reference
Minimize
the
number of
network
round trips
Minimize
the
number of
network
round trips
Minimize
the
network
bandwidth
Minimize
the
network
bandwidth Minimize
SSD
reads/writ
es
Minimize
SSD
reads/writ
es
Issues With Standard Data Types
➤ Record size is limited by block size (128
KB by default).
➤ Even a small update to a record results in
a complete record re-write.
© 2013 Aerospike. All rights reserved. | Records | Pg. 26
Example Use Case
To compare different systems, let’s take a
look at a standard task.
➤Find out if an object has some value
➤If it does, update the record and return a
value
© 2013 Aerospike. All rights reserved. | Records | Pg. 27
Example: Simple KVS Method
Value is one large string JSON object.
Example record:
➤Key=user_id
➤Value={“name” : “john”,
“dob” : “08-20-1970” ,
“gender” : “male” ,
“likes” : “cars,computers,goats”}
Business logic is that if the person is older than 18 years old, put them into campaign “bluesky”.
1.Client will request entire value from the node
2.Node reads entire value from disk
3.Node sends entire value to client
4.Client parses data and check logic on age
5.Client updates record with new value
Value={“name” : “john”,
“dob” : “08-20-1970” ,
“gender” : “male” ,
“likes” : “cars,computers,goats” ,
“campaigns” : “bluesky”}
6.Node writes entire value to disk
© 2013 Aerospike. All rights reserved. | Records | Pg. 28
Client Node Storage
Read (all)
Read (all)
Read (all)
Read (all)
Write (all)
Write (all)
Return
status
Example: KVS with Bins
Values are stored in bins
Example record:
➤Key=user_id
➤Value= “name” = “john”
“dob” = “08-20-1970”
“gender” = “male”
“likes” = “cars,computers,goats”
Business logic is that if the person is older than 18 years old, put them into campaign “bluesky”.
1.Client will request dob and campaign bins from the node
2.Node reads entire value from storage
3.Node sends only dob and campaigns to client
4.Client checks logic on age
5.Client updates record with new bin
1.Node writes entire value to disk. Node must read value first.
© 2013 Aerospike. All rights reserved. | Records | Pg. 29
Client Node Storage
Read (bin)
Read (all)
Read (all)
Read (bin)
Write (bin)
Write (all)
Read (all)
Return
status
Example: Using UDFs
Values are stored in bins
Example record:
➤Key=user_id
➤Value= “name” = “john”
“dob” = “08-20-1970”
“gender” = “male”
“likes” = “cars,computers,goats”
Business logic is that if the person is older than 18 years old, put them into campaign “bluesky”.
1.Client makes UDF request
2.Node reads entire value from storage
3.Node applies UDF on returned data
4.Nodes writes data
5.Node returns status
© 2013 Aerospike. All rights reserved. | Records | Pg. 30
Client Node Storage
UDF
Read (all)
Read (all)
Return
status
Write (all)
Write (all)
Example: Connecting to a cluster
© 2013 Aerospike. All rights reserved. | Records | Pg. 31
Policy contains operational
defaults like timeout
Policy contains operational
defaults like timeout
Seed hostSeed host Seed portSeed port
Do some workDo some work
Disconnect from the clusterDisconnect from the cluster
List of hostsList of hosts
Example: Get/Put operations
© 2013 Aerospike. All rights reserved. | Records | Pg. 32
Setup some preliminary
values
Setup some preliminary
values
Write a record with two
bin values
Write a record with two
bin values
Read a record with all bin
values
Read a record with all bin
values
Example: Increment/Decrement
operation
© 2013 Aerospike. All rights reserved. | Records | Pg. 33
Setup some preliminary
values
Setup some preliminary
values
Add operation – avoids the
read-add-write cycle
Add operation – avoids the
read-add-write cycle
Example: Touch operation
© 2013 Aerospike. All rights reserved. | Records | Pg. 34
Setup some preliminary
values
Setup some preliminary
values
Write a record with a 2 second
expiry
Write a record with a 2 second
expiry
Change it to a 5 second expiryChange it to a 5 second expiry

More Related Content

What's hot

Dynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theoremDynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theoremGrisha Weintraub
 
Performant Streaming in Production: Preventing Common Pitfalls when Productio...
Performant Streaming in Production: Preventing Common Pitfalls when Productio...Performant Streaming in Production: Preventing Common Pitfalls when Productio...
Performant Streaming in Production: Preventing Common Pitfalls when Productio...Databricks
 
Memory Management in Apache Spark
Memory Management in Apache SparkMemory Management in Apache Spark
Memory Management in Apache SparkDatabricks
 
Presto Summit 2018 - 09 - Netflix Iceberg
Presto Summit 2018  - 09 - Netflix IcebergPresto Summit 2018  - 09 - Netflix Iceberg
Presto Summit 2018 - 09 - Netflix Icebergkbajda
 
How We Reduced Performance Tuning Time by Orders of Magnitude with Database O...
How We Reduced Performance Tuning Time by Orders of Magnitude with Database O...How We Reduced Performance Tuning Time by Orders of Magnitude with Database O...
How We Reduced Performance Tuning Time by Orders of Magnitude with Database O...ScyllaDB
 
Spark shuffle introduction
Spark shuffle introductionSpark shuffle introduction
Spark shuffle introductioncolorant
 
Apache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic DatasetsApache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic DatasetsAlluxio, Inc.
 
Tuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptxTuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptxFlink Forward
 
Top 5 Mistakes to Avoid When Writing Apache Spark Applications
Top 5 Mistakes to Avoid When Writing Apache Spark ApplicationsTop 5 Mistakes to Avoid When Writing Apache Spark Applications
Top 5 Mistakes to Avoid When Writing Apache Spark ApplicationsCloudera, Inc.
 
Physical Plans in Spark SQL
Physical Plans in Spark SQLPhysical Plans in Spark SQL
Physical Plans in Spark SQLDatabricks
 
Percona Live 2012PPT: introduction-to-mysql-replication
Percona Live 2012PPT: introduction-to-mysql-replicationPercona Live 2012PPT: introduction-to-mysql-replication
Percona Live 2012PPT: introduction-to-mysql-replicationmysqlops
 
Approximate Queries and Graph Streams on Apache Flink - Theodore Vasiloudis -...
Approximate Queries and Graph Streams on Apache Flink - Theodore Vasiloudis -...Approximate Queries and Graph Streams on Apache Flink - Theodore Vasiloudis -...
Approximate Queries and Graph Streams on Apache Flink - Theodore Vasiloudis -...Seattle Apache Flink Meetup
 
How Development Teams Cut Costs with ScyllaDB.pdf
How Development Teams Cut Costs with ScyllaDB.pdfHow Development Teams Cut Costs with ScyllaDB.pdf
How Development Teams Cut Costs with ScyllaDB.pdfScyllaDB
 
Native Support of Prometheus Monitoring in Apache Spark 3.0
Native Support of Prometheus Monitoring in Apache Spark 3.0Native Support of Prometheus Monitoring in Apache Spark 3.0
Native Support of Prometheus Monitoring in Apache Spark 3.0Databricks
 
Everyday I'm Shuffling - Tips for Writing Better Spark Programs, Strata San J...
Everyday I'm Shuffling - Tips for Writing Better Spark Programs, Strata San J...Everyday I'm Shuffling - Tips for Writing Better Spark Programs, Strata San J...
Everyday I'm Shuffling - Tips for Writing Better Spark Programs, Strata San J...Databricks
 
Improving Apache Spark by Taking Advantage of Disaggregated Architecture
 Improving Apache Spark by Taking Advantage of Disaggregated Architecture Improving Apache Spark by Taking Advantage of Disaggregated Architecture
Improving Apache Spark by Taking Advantage of Disaggregated ArchitectureDatabricks
 
Improving SparkSQL Performance by 30%: How We Optimize Parquet Pushdown and P...
Improving SparkSQL Performance by 30%: How We Optimize Parquet Pushdown and P...Improving SparkSQL Performance by 30%: How We Optimize Parquet Pushdown and P...
Improving SparkSQL Performance by 30%: How We Optimize Parquet Pushdown and P...Databricks
 
Tuning Apache Spark for Large-Scale Workloads Gaoxiang Liu and Sital Kedia
Tuning Apache Spark for Large-Scale Workloads Gaoxiang Liu and Sital KediaTuning Apache Spark for Large-Scale Workloads Gaoxiang Liu and Sital Kedia
Tuning Apache Spark for Large-Scale Workloads Gaoxiang Liu and Sital KediaDatabricks
 
Data Storage Tips for Optimal Spark Performance-(Vida Ha, Databricks)
Data Storage Tips for Optimal Spark Performance-(Vida Ha, Databricks)Data Storage Tips for Optimal Spark Performance-(Vida Ha, Databricks)
Data Storage Tips for Optimal Spark Performance-(Vida Ha, Databricks)Spark Summit
 

What's hot (20)

Dynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theoremDynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theorem
 
Performant Streaming in Production: Preventing Common Pitfalls when Productio...
Performant Streaming in Production: Preventing Common Pitfalls when Productio...Performant Streaming in Production: Preventing Common Pitfalls when Productio...
Performant Streaming in Production: Preventing Common Pitfalls when Productio...
 
Memory Management in Apache Spark
Memory Management in Apache SparkMemory Management in Apache Spark
Memory Management in Apache Spark
 
Presto Summit 2018 - 09 - Netflix Iceberg
Presto Summit 2018  - 09 - Netflix IcebergPresto Summit 2018  - 09 - Netflix Iceberg
Presto Summit 2018 - 09 - Netflix Iceberg
 
How We Reduced Performance Tuning Time by Orders of Magnitude with Database O...
How We Reduced Performance Tuning Time by Orders of Magnitude with Database O...How We Reduced Performance Tuning Time by Orders of Magnitude with Database O...
How We Reduced Performance Tuning Time by Orders of Magnitude with Database O...
 
Spark shuffle introduction
Spark shuffle introductionSpark shuffle introduction
Spark shuffle introduction
 
Apache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic DatasetsApache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic Datasets
 
Tuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptxTuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptx
 
Top 5 Mistakes to Avoid When Writing Apache Spark Applications
Top 5 Mistakes to Avoid When Writing Apache Spark ApplicationsTop 5 Mistakes to Avoid When Writing Apache Spark Applications
Top 5 Mistakes to Avoid When Writing Apache Spark Applications
 
Physical Plans in Spark SQL
Physical Plans in Spark SQLPhysical Plans in Spark SQL
Physical Plans in Spark SQL
 
Percona Live 2012PPT: introduction-to-mysql-replication
Percona Live 2012PPT: introduction-to-mysql-replicationPercona Live 2012PPT: introduction-to-mysql-replication
Percona Live 2012PPT: introduction-to-mysql-replication
 
Approximate Queries and Graph Streams on Apache Flink - Theodore Vasiloudis -...
Approximate Queries and Graph Streams on Apache Flink - Theodore Vasiloudis -...Approximate Queries and Graph Streams on Apache Flink - Theodore Vasiloudis -...
Approximate Queries and Graph Streams on Apache Flink - Theodore Vasiloudis -...
 
How Development Teams Cut Costs with ScyllaDB.pdf
How Development Teams Cut Costs with ScyllaDB.pdfHow Development Teams Cut Costs with ScyllaDB.pdf
How Development Teams Cut Costs with ScyllaDB.pdf
 
Deep Dive on Amazon Aurora
Deep Dive on Amazon AuroraDeep Dive on Amazon Aurora
Deep Dive on Amazon Aurora
 
Native Support of Prometheus Monitoring in Apache Spark 3.0
Native Support of Prometheus Monitoring in Apache Spark 3.0Native Support of Prometheus Monitoring in Apache Spark 3.0
Native Support of Prometheus Monitoring in Apache Spark 3.0
 
Everyday I'm Shuffling - Tips for Writing Better Spark Programs, Strata San J...
Everyday I'm Shuffling - Tips for Writing Better Spark Programs, Strata San J...Everyday I'm Shuffling - Tips for Writing Better Spark Programs, Strata San J...
Everyday I'm Shuffling - Tips for Writing Better Spark Programs, Strata San J...
 
Improving Apache Spark by Taking Advantage of Disaggregated Architecture
 Improving Apache Spark by Taking Advantage of Disaggregated Architecture Improving Apache Spark by Taking Advantage of Disaggregated Architecture
Improving Apache Spark by Taking Advantage of Disaggregated Architecture
 
Improving SparkSQL Performance by 30%: How We Optimize Parquet Pushdown and P...
Improving SparkSQL Performance by 30%: How We Optimize Parquet Pushdown and P...Improving SparkSQL Performance by 30%: How We Optimize Parquet Pushdown and P...
Improving SparkSQL Performance by 30%: How We Optimize Parquet Pushdown and P...
 
Tuning Apache Spark for Large-Scale Workloads Gaoxiang Liu and Sital Kedia
Tuning Apache Spark for Large-Scale Workloads Gaoxiang Liu and Sital KediaTuning Apache Spark for Large-Scale Workloads Gaoxiang Liu and Sital Kedia
Tuning Apache Spark for Large-Scale Workloads Gaoxiang Liu and Sital Kedia
 
Data Storage Tips for Optimal Spark Performance-(Vida Ha, Databricks)
Data Storage Tips for Optimal Spark Performance-(Vida Ha, Databricks)Data Storage Tips for Optimal Spark Performance-(Vida Ha, Databricks)
Data Storage Tips for Optimal Spark Performance-(Vida Ha, Databricks)
 

Similar to Aerospike: Key Value Data Access

fdocuments.in_aerospike-key-value-data-access.ppt
fdocuments.in_aerospike-key-value-data-access.pptfdocuments.in_aerospike-key-value-data-access.ppt
fdocuments.in_aerospike-key-value-data-access.pptyashsharma863914
 
Getting The Most Out Of Your Flash/SSDs
Getting The Most Out Of Your Flash/SSDsGetting The Most Out Of Your Flash/SSDs
Getting The Most Out Of Your Flash/SSDsAerospike, Inc.
 
Predictable Big Data Performance in Real-time
Predictable Big Data Performance in Real-timePredictable Big Data Performance in Real-time
Predictable Big Data Performance in Real-timeAerospike, Inc.
 
Lecture storage-buffer
Lecture storage-bufferLecture storage-buffer
Lecture storage-bufferKlaas Krona
 
CS 542 Putting it all together -- Storage Management
CS 542 Putting it all together -- Storage ManagementCS 542 Putting it all together -- Storage Management
CS 542 Putting it all together -- Storage ManagementJ Singh
 
Elasticsearch for Logs & Metrics - a deep dive
Elasticsearch for Logs & Metrics - a deep diveElasticsearch for Logs & Metrics - a deep dive
Elasticsearch for Logs & Metrics - a deep diveSematext Group, Inc.
 
Distributing Data The Aerospike Way
Distributing Data The Aerospike WayDistributing Data The Aerospike Way
Distributing Data The Aerospike WayAerospike, Inc.
 
What a Modern Database Enables_Srini Srinivasan.pdf
What a Modern Database Enables_Srini Srinivasan.pdfWhat a Modern Database Enables_Srini Srinivasan.pdf
What a Modern Database Enables_Srini Srinivasan.pdfAerospike, Inc.
 
Storage, San And Business Continuity Overview
Storage, San And Business Continuity OverviewStorage, San And Business Continuity Overview
Storage, San And Business Continuity OverviewAlan McSweeney
 
Mass storage structurefinal
Mass storage structurefinalMass storage structurefinal
Mass storage structurefinalmarangburu42
 
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...DataStax
 
Handling Increasing Load and Reducing Costs Using Aerospike NoSQL Database - ...
Handling Increasing Load and Reducing Costs Using Aerospike NoSQL Database - ...Handling Increasing Load and Reducing Costs Using Aerospike NoSQL Database - ...
Handling Increasing Load and Reducing Costs Using Aerospike NoSQL Database - ...Aerospike
 
Ch14 OS
Ch14 OSCh14 OS
Ch14 OSC.U
 
Ceph at salesforce ceph day external presentation
Ceph at salesforce   ceph day external presentationCeph at salesforce   ceph day external presentation
Ceph at salesforce ceph day external presentationSameer Tiwari
 
Aerospike AdTech Gets Hacked in Lower Manhattan
Aerospike AdTech Gets Hacked in Lower ManhattanAerospike AdTech Gets Hacked in Lower Manhattan
Aerospike AdTech Gets Hacked in Lower ManhattanAerospike
 
You Snooze You Lose or How to Win in Ad Tech?
You Snooze You Lose or How to Win in Ad Tech?You Snooze You Lose or How to Win in Ad Tech?
You Snooze You Lose or How to Win in Ad Tech?Aerospike, Inc.
 

Similar to Aerospike: Key Value Data Access (20)

fdocuments.in_aerospike-key-value-data-access.ppt
fdocuments.in_aerospike-key-value-data-access.pptfdocuments.in_aerospike-key-value-data-access.ppt
fdocuments.in_aerospike-key-value-data-access.ppt
 
Getting The Most Out Of Your Flash/SSDs
Getting The Most Out Of Your Flash/SSDsGetting The Most Out Of Your Flash/SSDs
Getting The Most Out Of Your Flash/SSDs
 
Predictable Big Data Performance in Real-time
Predictable Big Data Performance in Real-timePredictable Big Data Performance in Real-time
Predictable Big Data Performance in Real-time
 
Lecture storage-buffer
Lecture storage-bufferLecture storage-buffer
Lecture storage-buffer
 
CS 542 Putting it all together -- Storage Management
CS 542 Putting it all together -- Storage ManagementCS 542 Putting it all together -- Storage Management
CS 542 Putting it all together -- Storage Management
 
Elasticsearch for Logs & Metrics - a deep dive
Elasticsearch for Logs & Metrics - a deep diveElasticsearch for Logs & Metrics - a deep dive
Elasticsearch for Logs & Metrics - a deep dive
 
Distributing Data The Aerospike Way
Distributing Data The Aerospike WayDistributing Data The Aerospike Way
Distributing Data The Aerospike Way
 
What a Modern Database Enables_Srini Srinivasan.pdf
What a Modern Database Enables_Srini Srinivasan.pdfWhat a Modern Database Enables_Srini Srinivasan.pdf
What a Modern Database Enables_Srini Srinivasan.pdf
 
Storage, San And Business Continuity Overview
Storage, San And Business Continuity OverviewStorage, San And Business Continuity Overview
Storage, San And Business Continuity Overview
 
Mass storage structurefinal
Mass storage structurefinalMass storage structurefinal
Mass storage structurefinal
 
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
 
Handling Increasing Load and Reducing Costs Using Aerospike NoSQL Database - ...
Handling Increasing Load and Reducing Costs Using Aerospike NoSQL Database - ...Handling Increasing Load and Reducing Costs Using Aerospike NoSQL Database - ...
Handling Increasing Load and Reducing Costs Using Aerospike NoSQL Database - ...
 
Chapter 3
Chapter 3Chapter 3
Chapter 3
 
Ch14 OS
Ch14 OSCh14 OS
Ch14 OS
 
OSCh14
OSCh14OSCh14
OSCh14
 
OS_Ch14
OS_Ch14OS_Ch14
OS_Ch14
 
Ceph at salesforce ceph day external presentation
Ceph at salesforce   ceph day external presentationCeph at salesforce   ceph day external presentation
Ceph at salesforce ceph day external presentation
 
Aerospike AdTech Gets Hacked in Lower Manhattan
Aerospike AdTech Gets Hacked in Lower ManhattanAerospike AdTech Gets Hacked in Lower Manhattan
Aerospike AdTech Gets Hacked in Lower Manhattan
 
You Snooze You Lose or How to Win in Ad Tech?
You Snooze You Lose or How to Win in Ad Tech?You Snooze You Lose or How to Win in Ad Tech?
You Snooze You Lose or How to Win in Ad Tech?
 
Raid
RaidRaid
Raid
 

More from Aerospike, Inc.

2017 DB Trends for Powering Real-Time Systems of Engagement
2017 DB Trends for Powering Real-Time Systems of Engagement2017 DB Trends for Powering Real-Time Systems of Engagement
2017 DB Trends for Powering Real-Time Systems of EngagementAerospike, Inc.
 
WEBINAR: Architectures for Digital Transformation and Next-Generation Systems...
WEBINAR: Architectures for Digital Transformation and Next-Generation Systems...WEBINAR: Architectures for Digital Transformation and Next-Generation Systems...
WEBINAR: Architectures for Digital Transformation and Next-Generation Systems...Aerospike, Inc.
 
Leveraging Big Data with Hadoop, NoSQL and RDBMS
Leveraging Big Data with Hadoop, NoSQL and RDBMSLeveraging Big Data with Hadoop, NoSQL and RDBMS
Leveraging Big Data with Hadoop, NoSQL and RDBMSAerospike, Inc.
 
Using Databases and Containers From Development to Deployment
Using Databases and Containers  From Development to DeploymentUsing Databases and Containers  From Development to Deployment
Using Databases and Containers From Development to DeploymentAerospike, Inc.
 
01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinar01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinarAerospike, Inc.
 
There are 250 Database products, are you running the right one?
There are 250 Database products, are you running the right one?There are 250 Database products, are you running the right one?
There are 250 Database products, are you running the right one?Aerospike, Inc.
 
The role of NoSQL in the Next Generation of Financial Informatics
The role of NoSQL in the Next Generation of Financial InformaticsThe role of NoSQL in the Next Generation of Financial Informatics
The role of NoSQL in the Next Generation of Financial InformaticsAerospike, Inc.
 
Tectonic Shift: A New Foundation for Data Driven Business
Tectonic Shift: A New Foundation for Data Driven BusinessTectonic Shift: A New Foundation for Data Driven Business
Tectonic Shift: A New Foundation for Data Driven BusinessAerospike, Inc.
 
How to Get a Game Changing Performance Advantage with Intel SSDs and Aerospike
How to Get a Game Changing Performance Advantage with Intel SSDs and AerospikeHow to Get a Game Changing Performance Advantage with Intel SSDs and Aerospike
How to Get a Game Changing Performance Advantage with Intel SSDs and AerospikeAerospike, Inc.
 
What the Spark!? Intro and Use Cases
What the Spark!? Intro and Use CasesWhat the Spark!? Intro and Use Cases
What the Spark!? Intro and Use CasesAerospike, Inc.
 
Get Started with Data Science by Analyzing Traffic Data from California Highways
Get Started with Data Science by Analyzing Traffic Data from California HighwaysGet Started with Data Science by Analyzing Traffic Data from California Highways
Get Started with Data Science by Analyzing Traffic Data from California HighwaysAerospike, Inc.
 
Running a High Performance NoSQL Database on Amazon EC2 for Just $1.68/Hour
Running a High Performance NoSQL Database on Amazon EC2 for Just $1.68/HourRunning a High Performance NoSQL Database on Amazon EC2 for Just $1.68/Hour
Running a High Performance NoSQL Database on Amazon EC2 for Just $1.68/HourAerospike, Inc.
 
ACID & CAP: Clearing CAP Confusion and Why C In CAP ≠ C in ACID
ACID & CAP:  Clearing CAP Confusion and Why C In CAP ≠ C in ACIDACID & CAP:  Clearing CAP Confusion and Why C In CAP ≠ C in ACID
ACID & CAP: Clearing CAP Confusion and Why C In CAP ≠ C in ACIDAerospike, Inc.
 
Flash Economics and Lessons learned from operating low latency platforms at h...
Flash Economics and Lessons learned from operating low latency platforms at h...Flash Economics and Lessons learned from operating low latency platforms at h...
Flash Economics and Lessons learned from operating low latency platforms at h...Aerospike, Inc.
 
Storm Persistence and Real-Time Analytics
Storm Persistence and Real-Time AnalyticsStorm Persistence and Real-Time Analytics
Storm Persistence and Real-Time AnalyticsAerospike, Inc.
 
Aerospike: Maximizing Performance
Aerospike: Maximizing PerformanceAerospike: Maximizing Performance
Aerospike: Maximizing PerformanceAerospike, Inc.
 
Big Data Learnings from a Vendor's Perspective
Big Data Learnings from a Vendor's PerspectiveBig Data Learnings from a Vendor's Perspective
Big Data Learnings from a Vendor's PerspectiveAerospike, Inc.
 

More from Aerospike, Inc. (17)

2017 DB Trends for Powering Real-Time Systems of Engagement
2017 DB Trends for Powering Real-Time Systems of Engagement2017 DB Trends for Powering Real-Time Systems of Engagement
2017 DB Trends for Powering Real-Time Systems of Engagement
 
WEBINAR: Architectures for Digital Transformation and Next-Generation Systems...
WEBINAR: Architectures for Digital Transformation and Next-Generation Systems...WEBINAR: Architectures for Digital Transformation and Next-Generation Systems...
WEBINAR: Architectures for Digital Transformation and Next-Generation Systems...
 
Leveraging Big Data with Hadoop, NoSQL and RDBMS
Leveraging Big Data with Hadoop, NoSQL and RDBMSLeveraging Big Data with Hadoop, NoSQL and RDBMS
Leveraging Big Data with Hadoop, NoSQL and RDBMS
 
Using Databases and Containers From Development to Deployment
Using Databases and Containers  From Development to DeploymentUsing Databases and Containers  From Development to Deployment
Using Databases and Containers From Development to Deployment
 
01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinar01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinar
 
There are 250 Database products, are you running the right one?
There are 250 Database products, are you running the right one?There are 250 Database products, are you running the right one?
There are 250 Database products, are you running the right one?
 
The role of NoSQL in the Next Generation of Financial Informatics
The role of NoSQL in the Next Generation of Financial InformaticsThe role of NoSQL in the Next Generation of Financial Informatics
The role of NoSQL in the Next Generation of Financial Informatics
 
Tectonic Shift: A New Foundation for Data Driven Business
Tectonic Shift: A New Foundation for Data Driven BusinessTectonic Shift: A New Foundation for Data Driven Business
Tectonic Shift: A New Foundation for Data Driven Business
 
How to Get a Game Changing Performance Advantage with Intel SSDs and Aerospike
How to Get a Game Changing Performance Advantage with Intel SSDs and AerospikeHow to Get a Game Changing Performance Advantage with Intel SSDs and Aerospike
How to Get a Game Changing Performance Advantage with Intel SSDs and Aerospike
 
What the Spark!? Intro and Use Cases
What the Spark!? Intro and Use CasesWhat the Spark!? Intro and Use Cases
What the Spark!? Intro and Use Cases
 
Get Started with Data Science by Analyzing Traffic Data from California Highways
Get Started with Data Science by Analyzing Traffic Data from California HighwaysGet Started with Data Science by Analyzing Traffic Data from California Highways
Get Started with Data Science by Analyzing Traffic Data from California Highways
 
Running a High Performance NoSQL Database on Amazon EC2 for Just $1.68/Hour
Running a High Performance NoSQL Database on Amazon EC2 for Just $1.68/HourRunning a High Performance NoSQL Database on Amazon EC2 for Just $1.68/Hour
Running a High Performance NoSQL Database on Amazon EC2 for Just $1.68/Hour
 
ACID & CAP: Clearing CAP Confusion and Why C In CAP ≠ C in ACID
ACID & CAP:  Clearing CAP Confusion and Why C In CAP ≠ C in ACIDACID & CAP:  Clearing CAP Confusion and Why C In CAP ≠ C in ACID
ACID & CAP: Clearing CAP Confusion and Why C In CAP ≠ C in ACID
 
Flash Economics and Lessons learned from operating low latency platforms at h...
Flash Economics and Lessons learned from operating low latency platforms at h...Flash Economics and Lessons learned from operating low latency platforms at h...
Flash Economics and Lessons learned from operating low latency platforms at h...
 
Storm Persistence and Real-Time Analytics
Storm Persistence and Real-Time AnalyticsStorm Persistence and Real-Time Analytics
Storm Persistence and Real-Time Analytics
 
Aerospike: Maximizing Performance
Aerospike: Maximizing PerformanceAerospike: Maximizing Performance
Aerospike: Maximizing Performance
 
Big Data Learnings from a Vendor's Perspective
Big Data Learnings from a Vendor's PerspectiveBig Data Learnings from a Vendor's Perspective
Big Data Learnings from a Vendor's Perspective
 

Recently uploaded

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Aerospike: Key Value Data Access

  • 1. Aerospike aer . o . spike [air-oh- spahyk] noun, 1. tip of a rocket that enhances speed and stability
  • 3. Topics ➤ Structured v. Unstructured Data ➤ Database Hierarchy and Definitions ➤ Data Access Patterns © 2013 Aerospike. All rights reserved. | Records | Pg. 3
  • 4. Structured Databases For performance, many early databases were structured. Every table has a defined schema. Changes to the schema required a DBA, possibly a Change Control Board (CCB). © 2013 Aerospike. All rights reserved. | Records | Pg. 4 id (10 bytes) lname (40 bytes) fname (40 bytes) address (60 bytes) city (20 bytes) state (20 bytes) Phone (20 bytes) 1 Able John 123 First New York NY 2128675309 2 Baker Kris 234 Second UNKNOWN UNKNOWN UNKNOWN 3 Charlie Larry 345 Third Seattle WA 4258675309 4 Delta Moe 456 Fourth Austin TX 7378675309
  • 5. Pros + ACID + Familiarity Cons - Requires pre-defined schema - Changes to schema can be traumatic, limiting dynamic application development. - Poor durability on SSD © 2013 Aerospike. All rights reserved. | Records | Pg. 5 Structured Databases
  • 6. Unstructured Databases Unstructured databases do not have a pre-defined schema and bins may exist in some records, but not in others. Different kinds of records may be mixed in sets. © 2013 Aerospike. All rights reserved. | Records | Pg. 6 Id lname fname address city state Phone Size 1 Able John 123 First New York NY +81 2128 6753 909 45 bytes 2 Baker Kris 234 Second 20 bytes 3 Charlie 8 bytes 4 Delta Moe 456 Fourth Austin TX 7378675309 47 bytes
  • 7. Pros + No predefined schema + Addition of new bins can be done from client + Addition of new sets (like tables) can be done from client + Makes most of sequential write speed of disks Cons - Difficult to predict object size - Updates to a record require an entire record re-write (AS solution is LDTs) © 2013 Aerospike. All rights reserved. | Records | Pg. 7 Aerospike
  • 8. What Do You Want From A Distributed DB? • Hide the complexity of distribution. • Linear scalability. • Better service availability. © 2013 Aerospike. All rights reserved. Pg. 8
  • 9. Smart Partition Architecture © 2013 Aerospike. All rights reserved. Pg. 9 Cluster creates a map of how data is distributed, called a partition map. Combine features from other architectures to create a map.
  • 10. Smart Partitioning • Every key is hashed using the RIPEMD160 hash function • The creates a fixed 160 bits (20 bytes) string. • 12 bits of this hash are used to identify the partition id • There are 4096 partitions • Are distributed among the nodes PaikPaik 182023kh15hh3kahdjsh182023kh15hh3kahdjsh Partition ID Master node Replica node … 1 4 1820 2 3 1821 3 2 4096 4 1 © 2013 Aerospike. All rights reserved. Pg. 10 Aerospike uses a partition table
  • 11. Smart Partitioning For simplicity, let’s take a 3 node cluster with only 9 partitions and a replication factor of 2. © 2013 Aerospike. All rights reserved. Pg. 11
  • 12. © 2013 Aerospike. All rights reserved. | Records | Pg. 12 Database Hierarchy Term Definition Notes Cluster An Aerospike cluster services a single database service. While a company may deploy multiple clusters, applications will only connect to a single cluster. Node A single instance of an Aerospike database. For production deployments, a host should only have a single node. For development, you may place more than one node on a host. Namespace An area of storage related to the media. Can be either RAM or SSD based. Similar to a “database” or “tablespaces” in relational databases. Set An unstructured grouping of data that have some commonality. Similar to “tables” in a relational database, but do not require a schema. Record A key and all data related to that key. Similar to a “row” in a relational database. Bin One part of data related to a key. Bins in Aerospike are typed, but the same bin in different records can have different types. Bins are not required. Single bin optimizations are allowed. (Large Data Type) LDT LDTs provide functions for storing arbitrarily large amounts of data without requiring the database to read the entire record. Most commonly the data stored in LDTs will be time series data, but this is not a requirement. This feature is still in development.
  • 13. Data Hierarchy Cluster Node 1 Node 2 Node 3 Namespace Set Record Record BinBin © 2013 Aerospike. All rights reserved. | Records | Pg. 13 Bin
  • 14. Cluster ➤ Will be distributed on different nodes. ➤ Management of cluster is automated, so no manual rebalancing or reconfiguration is necessary. ➤ Will contain one or more namespaces. Adding/removing namespaces requires a cluster-wide restart. © 2013 Aerospike. All rights reserved. | Records | Pg. 14
  • 15. Nodes ➤ Each node is assumed to be identical. ➤ Data (and their associated traffic) will be evenly balanced across the nodes. ➤ Big differences between nodes imply a problem. ➤ Node capacity should take into account node failure patterns. © 2013 Aerospike. All rights reserved. | Records | Pg. 15
  • 16. Namespaces ➤ Are associated with the storage media:  Hybrid (ram for index and SSD for data)  RAM + disk for persistence only  RAM only ➤ Each can be configured with their own:  replication factor (change requires a cluster-wide restart)  RAM and disk configuration  settings for high-watermark  default TTL (if you have data that must never be automatically deleted, you must set this to “0”) © 2013 Aerospike. All rights reserved. | Records | Pg. 16
  • 17. Sets ➤ Similar to “tables” in relational databases. ➤ Sets are optional. ➤ Schema does not have to be pre-defined. ➤ In order to request a record, you must know its set. ➤ Scans can be done across a set © 2013 Aerospike. All rights reserved. | Records | Pg. 17
  • 18. Records ➤ Similar to a row in a relational database. ➤ All data for a record will be stored on the same node. This is true even for LDTs. ➤ Any change to a record will result in a complete write of the entire record, unless using LDTs. © 2013 Aerospike. All rights reserved. | Records | Pg. 18
  • 19. Bins ➤ Values Are typed. Current types are:  Simple (integer, string, blob [language specific])  Complex (list, map)  Large Data Types (LDTs) ➤ A single bin may be updated by the client.  Increment  Replacement  User Defined Function (UDF) © 2013 Aerospike. All rights reserved. | Records | Pg. 19
  • 20. Data Hierarchy Cluster Node 1 Node 2 Node 3 Namespace Set Record Record BinBin © 2013 Aerospike. All rights reserved. | Records | Pg. 20 Bin
  • 21. Data Access Patterns  Read  Write  Update © 2013 Aerospike. All rights reserved. | Records | Pg. 21
  • 22. Accessing An Object In Aerospike Reading A Standard Data Type With SSDs © 2013 Aerospike. All rights reserved. | Records | Pg. 22 128 KB Blocks Master Node SSD (DATA) Client RAM (Index) 1) Client finds Master Node from partition map. 2) Client makes read request to Master Node. 3) Master Node finds data location from index in RAM. 4) Master Node reads entire object from SSD. This is true even if only reading bin. 5) Master Node returns value. Index reference
  • 23. Accessing An Object In Aerospike Writing A New Standard Data Type Record With SSDs © 2013 Aerospike. All rights reserved. | Records | Pg. 23 128 KB Blocks Master Node SSD (DATA) Client RAM (Index) 1) Client finds Master Node from partition map. 2) Client makes write request to Master Node. 3) Master Node make an entry indo index (in RAM) and queues write in temporary write buffer. 4) Master Node coordinates write with replica nodes (not shown). 5) Master Node returns success to client. 6) Master Node asynchronously writes data in 128 KB blocks. 7) Index in RAM points to location on SSD. Asynchronous write
  • 24. Accessing An Object In Aerospike Updating A Standard Data Type Record With SSDs © 2013 Aerospike. All rights reserved. | Records | Pg. 24 128 KB Blocks Master Node SSD (DATA) Client RAM (Index) 1) Client finds Master Node from partition map. 2) Client makes update request to Master Node. 3) Master Node reads the existing record (if using multiple bins) 4) Master Node queues write of updated record in a temporary write buffer 5) Master Node coordinates write with replica nodes (not shown). 6) Master Node returns success to client. 7) Master Node asynchronously writes data in 128 KB blocks. 8) Index in RAM points to new location on SSD. Asynchronous write Old New New
  • 25. Accessing An Object In Aerospike Keeping It Efficient © 2013 Aerospike. All rights reserved. | Records | Pg. 25 128 KB Blocks Master Node SSD (DATA) Client RAM (Index) Index reference Minimize the number of network round trips Minimize the number of network round trips Minimize the network bandwidth Minimize the network bandwidth Minimize SSD reads/writ es Minimize SSD reads/writ es
  • 26. Issues With Standard Data Types ➤ Record size is limited by block size (128 KB by default). ➤ Even a small update to a record results in a complete record re-write. © 2013 Aerospike. All rights reserved. | Records | Pg. 26
  • 27. Example Use Case To compare different systems, let’s take a look at a standard task. ➤Find out if an object has some value ➤If it does, update the record and return a value © 2013 Aerospike. All rights reserved. | Records | Pg. 27
  • 28. Example: Simple KVS Method Value is one large string JSON object. Example record: ➤Key=user_id ➤Value={“name” : “john”, “dob” : “08-20-1970” , “gender” : “male” , “likes” : “cars,computers,goats”} Business logic is that if the person is older than 18 years old, put them into campaign “bluesky”. 1.Client will request entire value from the node 2.Node reads entire value from disk 3.Node sends entire value to client 4.Client parses data and check logic on age 5.Client updates record with new value Value={“name” : “john”, “dob” : “08-20-1970” , “gender” : “male” , “likes” : “cars,computers,goats” , “campaigns” : “bluesky”} 6.Node writes entire value to disk © 2013 Aerospike. All rights reserved. | Records | Pg. 28 Client Node Storage Read (all) Read (all) Read (all) Read (all) Write (all) Write (all) Return status
  • 29. Example: KVS with Bins Values are stored in bins Example record: ➤Key=user_id ➤Value= “name” = “john” “dob” = “08-20-1970” “gender” = “male” “likes” = “cars,computers,goats” Business logic is that if the person is older than 18 years old, put them into campaign “bluesky”. 1.Client will request dob and campaign bins from the node 2.Node reads entire value from storage 3.Node sends only dob and campaigns to client 4.Client checks logic on age 5.Client updates record with new bin 1.Node writes entire value to disk. Node must read value first. © 2013 Aerospike. All rights reserved. | Records | Pg. 29 Client Node Storage Read (bin) Read (all) Read (all) Read (bin) Write (bin) Write (all) Read (all) Return status
  • 30. Example: Using UDFs Values are stored in bins Example record: ➤Key=user_id ➤Value= “name” = “john” “dob” = “08-20-1970” “gender” = “male” “likes” = “cars,computers,goats” Business logic is that if the person is older than 18 years old, put them into campaign “bluesky”. 1.Client makes UDF request 2.Node reads entire value from storage 3.Node applies UDF on returned data 4.Nodes writes data 5.Node returns status © 2013 Aerospike. All rights reserved. | Records | Pg. 30 Client Node Storage UDF Read (all) Read (all) Return status Write (all) Write (all)
  • 31. Example: Connecting to a cluster © 2013 Aerospike. All rights reserved. | Records | Pg. 31 Policy contains operational defaults like timeout Policy contains operational defaults like timeout Seed hostSeed host Seed portSeed port Do some workDo some work Disconnect from the clusterDisconnect from the cluster List of hostsList of hosts
  • 32. Example: Get/Put operations © 2013 Aerospike. All rights reserved. | Records | Pg. 32 Setup some preliminary values Setup some preliminary values Write a record with two bin values Write a record with two bin values Read a record with all bin values Read a record with all bin values
  • 33. Example: Increment/Decrement operation © 2013 Aerospike. All rights reserved. | Records | Pg. 33 Setup some preliminary values Setup some preliminary values Add operation – avoids the read-add-write cycle Add operation – avoids the read-add-write cycle
  • 34. Example: Touch operation © 2013 Aerospike. All rights reserved. | Records | Pg. 34 Setup some preliminary values Setup some preliminary values Write a record with a 2 second expiry Write a record with a 2 second expiry Change it to a 5 second expiryChange it to a 5 second expiry

Editor's Notes

  1. Fastest Best uptime Predictable performance consistency
  2. Horizontal scaling can provide many benefits. Let’s take a look at some of the major features. This might seem odd, but first, you want features that prevent you from having to think about having a distributed database.
  3. The cluster