SlideShare a Scribd company logo
1 of 28
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 1
Aerospike aer . o . spike [air-oh- spahyk]
noun, 1. tip of a rocket that enhances speed and stability
FLASH ECONOMICS AND
LESSONS LEARNED FROM
OPERATING LOW LATENCY
AND HIGH TPS PLATFORMS
IN-MEMORY NOSQL
DR. V. SRINIVASAN
FOUNDER, VP ENGINEERING & OPERATIONS
GITPRO
APRIL 12, 2014
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 2
REQUIREMENTS FOR INTERNET
ENTERPRISES
1. Know who the Interaction is with
■ Monitor 200+ Million US Consumers,
5+ Billion mobile devices and sensors
2. Determine intent based on
current context
■ Page views, search terms, game state,
last purchase, friends list, ads served,
location
3. Respond now, use big data for
more accurate decisions
■ Display the most relevant Ad
■ Recommend the best product
■ Deliver the richest gaming experience
■ Eliminate fraud…
4. Service can NEVER go down!
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 3
INTERNET ENTERPRISES
RETAIL
E-COMMERCE
MOBILE
OMNI
CHANNEL GAMING
WEB
VIDEO
SOCIAL
SEARCH
EMAIL
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 4
Response time: Hours, Weeks
TB to PB
Read Intensive
TRANSACTIONS
(OLTP)
Response time: Seconds
Gigabytes of data
Balanced Reads/Writes
ANALYTICS (OLAP)
STRUCTURED
DATA
Response time: Seconds
Terabytes of data
Read Intensive
BIG DATA ANALYTICS
Real-time Transactions
Response time: < 10 ms
1-20 TB
Balanced Reads/Writes
24x7x365 Availability
UNSTRUCTURED
DATA
REAL-TIME BIG DATA
DATABASE LANDSCAPE
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 5
Aerospike recognized as the only company in the
Visionaries Quadrant in Gartner's Magic Quadrant
for Operational Database Management Systems
Gartner, Magic Quadrant for Operational Database
Management Systems Donald Fienberg et al.October 23, 2013
This graphic was published by Gartner, Inc. as part of a larger research
document and should be evaluated in the context of the entire document.
The Gartner document is available at www.aerospike.com .
Gartner does not endorse any vendor, product or service depicted in its
research publications, and does not advise technology users to select only
those vendors with the highest ratings. Gartner research publications
consist of the opinions of Gartner's research organization and should not be
construed as statements of fact. Gartner disclaims all warranties, expressed
or implied, with respect to this research, including any warranties of
merchantability or fitness for a particular purpose.
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 6
MILLIONS OF CONSUMERS
BILLIONS OF DEVICES
AEROSPIKE CLUSTER
APP SERVERS RDBMS
DATA
WAREHOUSE
SEGMENTS
WRITE REAL-TIME CONTEXT
READ RECENT CONTENT
PROFILE STORE
Cookies, email, deviceID, IP address,
location, segments, clicks, likes,
tweets, search terms...
REAL-TIME ANALYTICS
Best sellers, top scores, trending
tweets
BATCH
ANALYTICS
Discover
patterns,
segment data:
location patterns,
audience affinity
TYPICAL REAL-TIME DATABASE
DEPLOYMENT
TRANSACTIONS
WRITE CONTEXT
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 7
KEY CHALLENGES
1. Handle extremely high rates of read/write transactions
over persistent data
2. Avoid hot spots to maintain tight latency SLAs
3. Provide immediate consistency with replication
4. Ensure long running tasks do not slow down
transactions
5. Scale linearly as data sizes and workloads increase
6. Add capacity with no service interruption
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 8
SYSTEM ARCHITECTURE FOR 100%
UPTIME
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 9
SHARED-NOTHING SYSTEM:100% DATA
AVAILABILITY
■ Every node in a cluster is identical,
handles both transactions and long
running tasks
■ Data is replicated synchronously
with immediate consistency within
the cluster
■ Data is replicated asynchronously
across data centers
OHIO Data Center
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 10
ROBUST DHT TO ELIMINATE HOT SPOTS
How Data Is Distributed (Replication Factor 2)
■ Every key is hashed into a
20 byte (fixed length) string
using the RIPEMD160 hash function
■ This hash + additional data
(fixed 64 bytes)
are stored in RAM in the index
■ Some bits from this hash value are
used to compute the partition id
■ There are 4096 partitions
■ Partition id maps to node id
based on cluster membership
cookie-abcdefg-12345678
182023kh15hh3kahdjsh
Partition
ID
Master
node
Replica
node
… 1 4
1820 2 3
1821 3 2
4096 4 1
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 11
REAL-TIME PRIORITIZATION TO MEET SLA
1. Write sent to row master
2. Latch against simultaneous writes
3. Apply write to master memory and replica
memory synchronously
4. Queue operations to disk
5. Signal completed transaction (optional
storage commit wait)
6. Master applies conflict resolution policy
(rollback/ rollforward)
master replica
1. Cluster discovers new node via gossip
protocol
2. Paxos vote determines new data
organization
3. Partition migrations scheduled
4. When a partition migration starts, write
journal starts on destination
5. Partition moves atomically
6. Journal is applied and source data
transactions
continue
Writing with Immediate Consistency Adding a Node
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 12
INTELLIGENT CLIENT TO MAKE APPS
SIMPLER
Shield Applications from the Complexity of the Cluster■ Implements Aerospike API
■ Optimistic row locking
■ Optimized binary protocol
■ Cluster tracking
■ Learns about cluster changes,
partition map
■ Gossip protocol
■ Transaction semantics
■ Global transaction ID
■ Retransmit and timeout
■ Linear scale
■ No extra hop
■ No load balancers
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 13
OTHER DATABASE
OS FILE SYSTEM
PAGE CACHE
BLOCK INTERFACE
SSD HDD
BLOCK INTERFACE
SSD SSD
OPEN NVM
SSD
OTHER
DATABASE
AEROSPIKE FLASH OPTIMIZED
IN-MEMORY DATABASE
Ask me and I’ll tell you the answer.Ask me. I’ll look up the answer and then tell it to
you.
AEROSPIKE
HYBRID MEMORY SYSTEM™
• Direct device access
• Large Block Writes
• Indexes in DRAM
• Highly Parallelized
• Log-structured FS “copy-on-write”
• Fast restart with shared memory
FLASH OPTIMIZED HIGH
PERFORMANCE
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 14
Storage type DRAM & NoSQL SSD & DRAM
Storage per server 180 GB (196 GB Server) 2.4 GB (4 x 700 GB)
TPS per server 500,000 500,000
Cost per server $8,000 $11,000
Server costs $1,488,000 $154,000
Power/server 0.9 kW 1.1 kW
Power (2 years) $0.12 per kWh ave.
US
$352,000 $32,400
Maintenance (2 years) $3,600 per
server
$670,000 $50,400
Total $2,510,000 $236,800
FLASH PROVIDES DRAM-LIKE PERFORMANCE WITH
MUCH LOWER COMPLEXITY & TCO
Actual customer analysis.
Customer requires 500K TPS,
10 TB of storage, with
2x replication factor.
186 SERVERS REQUIRED 14 SERVERS REQUIRED
OTHER DATABASES
ONLY
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 15
HOT ANALYTICS BY ROW
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 16
SECONDARY INDEXES IN MEMORY
■ Fast
■ Indexes in DRAM,
Data on Flash
■ No hotspots, Index-Data
balanced across the cluster
■ Parallel processing across
nodes, cores & SSDs
■ Reliable
■ Index and Data co-located
to manage data migrations and
guarantee ACID
■ Lock-free MVCC
Secondary Index
Primary Index
Record Values
DRAM
SSD
Server
Client
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 17
LOW SELECTIVITY INDEX QUERIES
1. Query sent to ALL nodes in parallel
“SCATTER”
2. Secondary Index keys in DRAM
■ Map to Primary keys in DRAM
■ Co-located with Record on SSD
3. Records read in parallel from ALL
SSDs
4. Parallel read results aggregated on
node
5. Results from ALL nodes
aggregated client-side
“GATHER”
Secondary Keys
Primary Keys
Records R1, R2
DRAM
SSD
Server
Client
…
Keys Keys
R3, R4 R5, R4
V1 V2 V3 V4 V5 V6
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 18
SQL & NoSQL
➤ Secondary index
 Equality, Range, IN (,,,), Compound
 e.g. WHERE group_id = 1234,
WHERE last_activity > 1349293398,
WHERE branch_id IN (5,6,7,8)
➤ Filters
 SQL: Where clause with non-indexed
“AND”s (e.g. “AND gender=„M‟ ”)
 NOSQL: Map step
➤ Aggregation
 SQL: GROUP BY, ORDER BY, LIMIT,
OFFSET
 NOSQL: Reduce step
Secondary Key
Primary Key
Record
Filter Map
Aggregate
DRAM
SSD
Aggregate
Client
Client
Server
Reduce
Aggregate
Query
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 19
ROW BASED SCHEDULING
■ Due to caching and blocks,
most system resource
consumption is per row
( Flash is in-memory )
■ Rows are fine grained
■ Scheduler is “local” only
■ Deadline scheduling
■ Per-query priority
(per transaction timeout)
Secondary
Index
Primary Index
Record Values
SSD
Server
Client
Hot analytics Operational
Priority Q
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 20
LESSONS LEARNED
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 21
Native Flash  Performance
0
50,000
100,000
150,000
200,000
250,000
300,000
350,000
Balanced Read-Heavy
Aerospike Cassandra MongoDB Couchbase 2.0*
*We were forced to exclude Couchbase...since when run with either disk
or replica durability on it was unable to complete the test.”
– Thumbtack Technology
0
2.5
5
7.5
10
0 50,000 100,000 150,000 200,000
AverageLatency,ms
Throughput, ops/sec
Balanced Workload Read Latency
Aerospike
Cassandra
MongoDB
0
4
8
12
16
0 50,000 100,000 150,000 200,000
AverageLatency,ms
Throughput, ops/sec
Balanced Workload Update Latency
Aerospike
Cassandra
MongoDB
HIGH THROUGHPUT LOW LATENCY
Throughput,TPS
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 22
High Availability Through Clustering & Replication
1 32 4 5 Phases
1) 100KTPS – 4 nodes
2) Clients at Max
3) 400KTPS – 4 nodes
4) 400KTPS – 3 nodes
5) 400KTPS – 4 nodes
Aerospike Node Specs:
CentOS 6.3
Intel i5-2400@ 3.1 GHz (Quad core)
16 GB RAM@1333 MHz
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 23
LESSONS
1. Keep architecture simple
■ No hot spots (e.g., robust DHT)
■ Scales up easily (e.g., easy to size)
■ Avoids points of failure (e.g., single node type)
2. Avoid manual operation – automate, automate!
■ Self-managed cluster responds to node failures
■ Data rebalancing requires no intervention
■ Real-time prioritization allows unattended system operation
3. Keep system asynchronous
■ Shared nothing – nodes are autonomous
■ Async writes across data centers
■ Independent tuning parameters for different classes of tasks
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 24
LESSONS (cont’d)
4. Monitor the Health of the System Extensively
■ Growth in load sneaks up on you over weeks
■ Early detection means better service
■ Most failures can be predicted (e.g., capacity, load, …)
5. Size clusters properly
■ Have enough capacity ALWAYS!
■ Upgrade SSDs every couple years
■ Reduce cluster sizes to make operations simple
6. Have geographically distributed data centers
■ Size the distributed data centers properly
■ Use active-active configurations if possible
■ Size bandwidth requirements accurately
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 25
LESSONS (CONT’D)
7. Have plan for unforeseen situations
■ Devise scenarios and practice during normal work time
■ Ensure you can do rolling upgrades during high load time
■ Make sure that your nodes can restart fast (< 1 minute)
8. Constantly test and monitor app end-to-end
■ Application level metrics are more important than DB metrics
■ Most issues in a service are due to a combination of application, network,
database, storage, etc.
9. Separate online and offline workloads
■ Reserve real-time edge database for transactions and hot analytics queries
(where newest data is important)
■ Avoid ad-hoc queries on on-line system
■ Perform deep analysis in offline system (Hadoop)
10. Use the Right Data Management System for the job
■ Fast NoSQL DB for real-time transactions and hot analytics on rapidly
changing data
■ Hadoop or other comparable systems for exhaustive analytics on mostly
read-only data
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 26
1. Scaling the Internet of Everything
2. Pushing the limits of modern hardware
3. No data loss (ACID) and No downtime
MODERN REAL-TIME DATA PLATFORM
APPSERVERAEROSPIKESERVER
REAL-TIME BIG DATA APPLICATION
AEROSPIKE SMART CLIENT™
• APIs (C, C#, Java, PHP, Python, Ruby, Erlang…)
• Transactions, Cluster awareness
EXTENSIBLE DATA MODEL
• Str, Int, Lists, Maps
• Lookups, Queries, Scans
• Aerospike Alchemy
Framework™
with User Defined Functions
and Distributed Aggregations
MONITORING &
MANAGEMENT
• Aerospike Monitoring
Console™
• Command Line Tools
• Plugins-
Nagios, Graphite, Zabbix
AEROSPIKE SMART
CLUSTER™
AEROSPIKE HYBRID
MEMORY SYSTEM™
PROXIMITY & REDUNDANCY
Cross Data Center Replication™
(XDR)
REAL-TIME
ENGINE
APP/WEB
SERVER
AEROSPIKE
CLUSTER
Written in „C‟,
Patents pending
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 27
SUPPORT FOR REAL-TIME BIG DATA
APPS
Rapid Development
Complete
Customizability
➤ Support for popular languages
and tools
 ASQL and Aerospike Client
in Java, C#, Ruby, Python..
➤ Complex data types
 Nested documents
(map, list, string, integer)
 Large (Stack, Set, List)
Objects
➤ Queries
 Single record
 Batch multi-record lookups
 Equality and range
 Aggregations and
MapReduce
➤ User Defined Functions
(UDFs)
 In-DB processing
➤ Aggregation Framework
 UDF Pipeline
 MapReduce ++
➤ Time Series Queries
 Just 2 IOPs for most r/w
independent of object
size
© 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 28
QUESTIONS?
info@aerospike.com
www.aerospike.com

More Related Content

What's hot

RedisConf17 - Redis Enterprise: Continuous Availability, Unlimited Scaling, S...
RedisConf17 - Redis Enterprise: Continuous Availability, Unlimited Scaling, S...RedisConf17 - Redis Enterprise: Continuous Availability, Unlimited Scaling, S...
RedisConf17 - Redis Enterprise: Continuous Availability, Unlimited Scaling, S...
Redis Labs
 

What's hot (20)

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
 
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...
 
Introduction to Aerospike
Introduction to AerospikeIntroduction to Aerospike
Introduction to Aerospike
 
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
 
Brian Bulkowski : what startups can learn from real-time bidding
Brian Bulkowski : what startups can learn from real-time biddingBrian Bulkowski : what startups can learn from real-time bidding
Brian Bulkowski : what startups can learn from real-time bidding
 
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?
 
Redis vs Aerospike
Redis vs AerospikeRedis vs Aerospike
Redis vs Aerospike
 
10 reasons why to choose Pure Storage
10 reasons why to choose Pure Storage10 reasons why to choose Pure Storage
10 reasons why to choose Pure Storage
 
Practical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist ExamplePractical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist Example
 
Persistent Storage for Containerized Applications
Persistent Storage for Containerized ApplicationsPersistent Storage for Containerized Applications
Persistent Storage for Containerized Applications
 
Red Hat Storage Day Atlanta - Persistent Storage for Linux Containers
Red Hat Storage Day Atlanta - Persistent Storage for Linux Containers Red Hat Storage Day Atlanta - Persistent Storage for Linux Containers
Red Hat Storage Day Atlanta - Persistent Storage for Linux Containers
 
Interactive ad-hoc analysis at petabyte scale with HDInsight Interactive Query
Interactive ad-hoc analysis at petabyte scale with HDInsight Interactive QueryInteractive ad-hoc analysis at petabyte scale with HDInsight Interactive Query
Interactive ad-hoc analysis at petabyte scale with HDInsight Interactive Query
 
Ceph optimized Storage / Global HW solutions for SDS, David Alvarez
Ceph optimized Storage / Global HW solutions for SDS, David AlvarezCeph optimized Storage / Global HW solutions for SDS, David Alvarez
Ceph optimized Storage / Global HW solutions for SDS, David Alvarez
 
RedisConf17 - Redis Enterprise: Continuous Availability, Unlimited Scaling, S...
RedisConf17 - Redis Enterprise: Continuous Availability, Unlimited Scaling, S...RedisConf17 - Redis Enterprise: Continuous Availability, Unlimited Scaling, S...
RedisConf17 - Redis Enterprise: Continuous Availability, Unlimited Scaling, S...
 
Red Hat Storage Day LA - Performance and Sizing Software Defined Storage
Red Hat Storage Day LA - Performance and Sizing Software Defined Storage Red Hat Storage Day LA - Performance and Sizing Software Defined Storage
Red Hat Storage Day LA - Performance and Sizing Software Defined Storage
 
Five essential new enhancements in azure HDnsight
Five essential new enhancements in azure HDnsightFive essential new enhancements in azure HDnsight
Five essential new enhancements in azure HDnsight
 
RedisConf17 - Redis Cluster at flickr and tripod
RedisConf17 - Redis Cluster at flickr and tripodRedisConf17 - Redis Cluster at flickr and tripod
RedisConf17 - Redis Cluster at flickr and tripod
 
Red Hat Storage Day Boston - Supermicro Super Storage
Red Hat Storage Day Boston - Supermicro Super StorageRed Hat Storage Day Boston - Supermicro Super Storage
Red Hat Storage Day Boston - Supermicro Super Storage
 
Why Software-Defined Storage Matters
Why Software-Defined Storage MattersWhy Software-Defined Storage Matters
Why Software-Defined Storage Matters
 
Tips, Tricks & Best Practices for large scale HDInsight Deployments
Tips, Tricks & Best Practices for large scale HDInsight DeploymentsTips, Tricks & Best Practices for large scale HDInsight Deployments
Tips, Tricks & Best Practices for large scale HDInsight Deployments
 

Viewers also liked

InfoGrid Core Ideas
InfoGrid Core IdeasInfoGrid Core Ideas
InfoGrid Core Ideas
InfoGrid.org
 
Kai – An Open Source Implementation of Amazon’s Dynamo
Kai – An Open Source Implementation of Amazon’s DynamoKai – An Open Source Implementation of Amazon’s Dynamo
Kai – An Open Source Implementation of Amazon’s Dynamo
Takeru INOUE
 

Viewers also liked (10)

Sparksee Technology overview
Sparksee Technology overviewSparksee Technology overview
Sparksee Technology overview
 
Sparksee overview
Sparksee overviewSparksee overview
Sparksee overview
 
InfoGrid Core Ideas
InfoGrid Core IdeasInfoGrid Core Ideas
InfoGrid Core Ideas
 
GT.M: A Tried and Tested Open-Source NoSQL Database
GT.M: A Tried and Tested Open-Source NoSQL DatabaseGT.M: A Tried and Tested Open-Source NoSQL Database
GT.M: A Tried and Tested Open-Source NoSQL Database
 
Kai – An Open Source Implementation of Amazon’s Dynamo
Kai – An Open Source Implementation of Amazon’s DynamoKai – An Open Source Implementation of Amazon’s Dynamo
Kai – An Open Source Implementation of Amazon’s Dynamo
 
NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast"
NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast"NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast"
NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast"
 
Cassandra & puppet, scaling data at $15 per month
Cassandra & puppet, scaling data at $15 per monthCassandra & puppet, scaling data at $15 per month
Cassandra & puppet, scaling data at $15 per month
 
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 ...
 
Cassandra at eBay - Cassandra Summit 2012
Cassandra at eBay - Cassandra Summit 2012Cassandra at eBay - Cassandra Summit 2012
Cassandra at eBay - Cassandra Summit 2012
 
Migrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global CassandraMigrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global Cassandra
 

Similar to Flash Economics and Lessons learned from operating low latency platforms at high throughput with Aerospike NoSQL.

Intel: How to Use Alluxio to Accelerate BigData Analytics on the Cloud and Ne...
Intel: How to Use Alluxio to Accelerate BigData Analytics on the Cloud and Ne...Intel: How to Use Alluxio to Accelerate BigData Analytics on the Cloud and Ne...
Intel: How to Use Alluxio to Accelerate BigData Analytics on the Cloud and Ne...
Alluxio, Inc.
 

Similar to Flash Economics and Lessons learned from operating low latency platforms at high throughput with Aerospike NoSQL. (20)

What enterprises can learn from Real Time Bidding
What enterprises can learn from Real Time BiddingWhat enterprises can learn from Real Time Bidding
What enterprises can learn from Real Time Bidding
 
What enterprises can learn from Real Time Bidding (RTB)
What enterprises can learn from Real Time Bidding (RTB)What enterprises can learn from Real Time Bidding (RTB)
What enterprises can learn from Real Time Bidding (RTB)
 
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
 
Brian Bulkowski. Aerospike
Brian Bulkowski. AerospikeBrian Bulkowski. Aerospike
Brian Bulkowski. Aerospike
 
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?
 
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
 
Aerospike Architecture
Aerospike ArchitectureAerospike Architecture
Aerospike Architecture
 
Aerospike Architecture
Aerospike ArchitectureAerospike Architecture
Aerospike Architecture
 
AMD EPYC 7002 Launch World Records
AMD EPYC 7002 Launch World RecordsAMD EPYC 7002 Launch World Records
AMD EPYC 7002 Launch World Records
 
Flash changes everything?! Flash changes nothing...
Flash changes everything?! Flash changes nothing...Flash changes everything?! Flash changes nothing...
Flash changes everything?! Flash changes nothing...
 
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
 
Aerospike meetup july 2019 | Big Data Demystified
Aerospike meetup july 2019 | Big Data DemystifiedAerospike meetup july 2019 | Big Data Demystified
Aerospike meetup july 2019 | Big Data Demystified
 
Spark Summit EU talk by Debasish Das and Pramod Narasimha
Spark Summit EU talk by Debasish Das and Pramod NarasimhaSpark Summit EU talk by Debasish Das and Pramod Narasimha
Spark Summit EU talk by Debasish Das and Pramod Narasimha
 
Spark Summit EU talk by Debasish Das and Pramod Narasimha
Spark Summit EU talk by Debasish Das and Pramod NarasimhaSpark Summit EU talk by Debasish Das and Pramod Narasimha
Spark Summit EU talk by Debasish Das and Pramod Narasimha
 
NoSQL in Real-time Architectures
NoSQL in Real-time ArchitecturesNoSQL in Real-time Architectures
NoSQL in Real-time Architectures
 
WarsawITDays_ ApacheNiFi202
WarsawITDays_ ApacheNiFi202WarsawITDays_ ApacheNiFi202
WarsawITDays_ ApacheNiFi202
 
Spark Summit EU talk by Debasish Das and Pramod Narasimha
Spark Summit EU talk by Debasish Das and Pramod NarasimhaSpark Summit EU talk by Debasish Das and Pramod Narasimha
Spark Summit EU talk by Debasish Das and Pramod Narasimha
 
Increase Your Mission Critical Application Performance without Breaking the B...
Increase Your Mission Critical Application Performance without Breaking the B...Increase Your Mission Critical Application Performance without Breaking the B...
Increase Your Mission Critical Application Performance without Breaking the B...
 
Intel: How to Use Alluxio to Accelerate BigData Analytics on the Cloud and Ne...
Intel: How to Use Alluxio to Accelerate BigData Analytics on the Cloud and Ne...Intel: How to Use Alluxio to Accelerate BigData Analytics on the Cloud and Ne...
Intel: How to Use Alluxio to Accelerate BigData Analytics on the Cloud and Ne...
 
Zeus: Uber’s Highly Scalable and Distributed Shuffle as a Service
Zeus: Uber’s Highly Scalable and Distributed Shuffle as a ServiceZeus: Uber’s Highly Scalable and Distributed Shuffle as a Service
Zeus: Uber’s Highly Scalable and Distributed Shuffle as a Service
 

More from Aerospike, 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 Highways
Aerospike, Inc.
 
Aerospike: Maximizing Performance
Aerospike: Maximizing PerformanceAerospike: Maximizing Performance
Aerospike: Maximizing Performance
Aerospike, Inc.
 

More from Aerospike, Inc. (9)

Aerospike Hybrid Memory Architecture
Aerospike Hybrid Memory ArchitectureAerospike Hybrid Memory Architecture
Aerospike Hybrid Memory Architecture
 
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
 
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
 
Storm Persistence and Real-Time Analytics
Storm Persistence and Real-Time AnalyticsStorm Persistence and Real-Time Analytics
Storm Persistence and Real-Time Analytics
 
Aerospike: Key Value Data Access
Aerospike: Key Value Data AccessAerospike: Key Value Data Access
Aerospike: Key Value Data Access
 
Aerospike: Maximizing Performance
Aerospike: Maximizing PerformanceAerospike: Maximizing Performance
Aerospike: Maximizing Performance
 
Configuring Aerospike - Part 1
Configuring Aerospike - Part 1Configuring Aerospike - Part 1
Configuring Aerospike - Part 1
 

Recently uploaded

Recently uploaded (20)

The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, Ocado
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreel
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 

Flash Economics and Lessons learned from operating low latency platforms at high throughput with Aerospike NoSQL.

  • 1. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 1 Aerospike aer . o . spike [air-oh- spahyk] noun, 1. tip of a rocket that enhances speed and stability FLASH ECONOMICS AND LESSONS LEARNED FROM OPERATING LOW LATENCY AND HIGH TPS PLATFORMS IN-MEMORY NOSQL DR. V. SRINIVASAN FOUNDER, VP ENGINEERING & OPERATIONS GITPRO APRIL 12, 2014
  • 2. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 2 REQUIREMENTS FOR INTERNET ENTERPRISES 1. Know who the Interaction is with ■ Monitor 200+ Million US Consumers, 5+ Billion mobile devices and sensors 2. Determine intent based on current context ■ Page views, search terms, game state, last purchase, friends list, ads served, location 3. Respond now, use big data for more accurate decisions ■ Display the most relevant Ad ■ Recommend the best product ■ Deliver the richest gaming experience ■ Eliminate fraud… 4. Service can NEVER go down!
  • 3. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 3 INTERNET ENTERPRISES RETAIL E-COMMERCE MOBILE OMNI CHANNEL GAMING WEB VIDEO SOCIAL SEARCH EMAIL
  • 4. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 4 Response time: Hours, Weeks TB to PB Read Intensive TRANSACTIONS (OLTP) Response time: Seconds Gigabytes of data Balanced Reads/Writes ANALYTICS (OLAP) STRUCTURED DATA Response time: Seconds Terabytes of data Read Intensive BIG DATA ANALYTICS Real-time Transactions Response time: < 10 ms 1-20 TB Balanced Reads/Writes 24x7x365 Availability UNSTRUCTURED DATA REAL-TIME BIG DATA DATABASE LANDSCAPE
  • 5. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 5 Aerospike recognized as the only company in the Visionaries Quadrant in Gartner's Magic Quadrant for Operational Database Management Systems Gartner, Magic Quadrant for Operational Database Management Systems Donald Fienberg et al.October 23, 2013 This graphic was published by Gartner, Inc. as part of a larger research document and should be evaluated in the context of the entire document. The Gartner document is available at www.aerospike.com . Gartner does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings. Gartner research publications consist of the opinions of Gartner's research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose.
  • 6. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 6 MILLIONS OF CONSUMERS BILLIONS OF DEVICES AEROSPIKE CLUSTER APP SERVERS RDBMS DATA WAREHOUSE SEGMENTS WRITE REAL-TIME CONTEXT READ RECENT CONTENT PROFILE STORE Cookies, email, deviceID, IP address, location, segments, clicks, likes, tweets, search terms... REAL-TIME ANALYTICS Best sellers, top scores, trending tweets BATCH ANALYTICS Discover patterns, segment data: location patterns, audience affinity TYPICAL REAL-TIME DATABASE DEPLOYMENT TRANSACTIONS WRITE CONTEXT
  • 7. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 7 KEY CHALLENGES 1. Handle extremely high rates of read/write transactions over persistent data 2. Avoid hot spots to maintain tight latency SLAs 3. Provide immediate consistency with replication 4. Ensure long running tasks do not slow down transactions 5. Scale linearly as data sizes and workloads increase 6. Add capacity with no service interruption
  • 8. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 8 SYSTEM ARCHITECTURE FOR 100% UPTIME
  • 9. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 9 SHARED-NOTHING SYSTEM:100% DATA AVAILABILITY ■ Every node in a cluster is identical, handles both transactions and long running tasks ■ Data is replicated synchronously with immediate consistency within the cluster ■ Data is replicated asynchronously across data centers OHIO Data Center
  • 10. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 10 ROBUST DHT TO ELIMINATE HOT SPOTS How Data Is Distributed (Replication Factor 2) ■ Every key is hashed into a 20 byte (fixed length) string using the RIPEMD160 hash function ■ This hash + additional data (fixed 64 bytes) are stored in RAM in the index ■ Some bits from this hash value are used to compute the partition id ■ There are 4096 partitions ■ Partition id maps to node id based on cluster membership cookie-abcdefg-12345678 182023kh15hh3kahdjsh Partition ID Master node Replica node … 1 4 1820 2 3 1821 3 2 4096 4 1
  • 11. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 11 REAL-TIME PRIORITIZATION TO MEET SLA 1. Write sent to row master 2. Latch against simultaneous writes 3. Apply write to master memory and replica memory synchronously 4. Queue operations to disk 5. Signal completed transaction (optional storage commit wait) 6. Master applies conflict resolution policy (rollback/ rollforward) master replica 1. Cluster discovers new node via gossip protocol 2. Paxos vote determines new data organization 3. Partition migrations scheduled 4. When a partition migration starts, write journal starts on destination 5. Partition moves atomically 6. Journal is applied and source data transactions continue Writing with Immediate Consistency Adding a Node
  • 12. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 12 INTELLIGENT CLIENT TO MAKE APPS SIMPLER Shield Applications from the Complexity of the Cluster■ Implements Aerospike API ■ Optimistic row locking ■ Optimized binary protocol ■ Cluster tracking ■ Learns about cluster changes, partition map ■ Gossip protocol ■ Transaction semantics ■ Global transaction ID ■ Retransmit and timeout ■ Linear scale ■ No extra hop ■ No load balancers
  • 13. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 13 OTHER DATABASE OS FILE SYSTEM PAGE CACHE BLOCK INTERFACE SSD HDD BLOCK INTERFACE SSD SSD OPEN NVM SSD OTHER DATABASE AEROSPIKE FLASH OPTIMIZED IN-MEMORY DATABASE Ask me and I’ll tell you the answer.Ask me. I’ll look up the answer and then tell it to you. AEROSPIKE HYBRID MEMORY SYSTEM™ • Direct device access • Large Block Writes • Indexes in DRAM • Highly Parallelized • Log-structured FS “copy-on-write” • Fast restart with shared memory FLASH OPTIMIZED HIGH PERFORMANCE
  • 14. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 14 Storage type DRAM & NoSQL SSD & DRAM Storage per server 180 GB (196 GB Server) 2.4 GB (4 x 700 GB) TPS per server 500,000 500,000 Cost per server $8,000 $11,000 Server costs $1,488,000 $154,000 Power/server 0.9 kW 1.1 kW Power (2 years) $0.12 per kWh ave. US $352,000 $32,400 Maintenance (2 years) $3,600 per server $670,000 $50,400 Total $2,510,000 $236,800 FLASH PROVIDES DRAM-LIKE PERFORMANCE WITH MUCH LOWER COMPLEXITY & TCO Actual customer analysis. Customer requires 500K TPS, 10 TB of storage, with 2x replication factor. 186 SERVERS REQUIRED 14 SERVERS REQUIRED OTHER DATABASES ONLY
  • 15. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 15 HOT ANALYTICS BY ROW
  • 16. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 16 SECONDARY INDEXES IN MEMORY ■ Fast ■ Indexes in DRAM, Data on Flash ■ No hotspots, Index-Data balanced across the cluster ■ Parallel processing across nodes, cores & SSDs ■ Reliable ■ Index and Data co-located to manage data migrations and guarantee ACID ■ Lock-free MVCC Secondary Index Primary Index Record Values DRAM SSD Server Client
  • 17. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 17 LOW SELECTIVITY INDEX QUERIES 1. Query sent to ALL nodes in parallel “SCATTER” 2. Secondary Index keys in DRAM ■ Map to Primary keys in DRAM ■ Co-located with Record on SSD 3. Records read in parallel from ALL SSDs 4. Parallel read results aggregated on node 5. Results from ALL nodes aggregated client-side “GATHER” Secondary Keys Primary Keys Records R1, R2 DRAM SSD Server Client … Keys Keys R3, R4 R5, R4 V1 V2 V3 V4 V5 V6
  • 18. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 18 SQL & NoSQL ➤ Secondary index  Equality, Range, IN (,,,), Compound  e.g. WHERE group_id = 1234, WHERE last_activity > 1349293398, WHERE branch_id IN (5,6,7,8) ➤ Filters  SQL: Where clause with non-indexed “AND”s (e.g. “AND gender=„M‟ ”)  NOSQL: Map step ➤ Aggregation  SQL: GROUP BY, ORDER BY, LIMIT, OFFSET  NOSQL: Reduce step Secondary Key Primary Key Record Filter Map Aggregate DRAM SSD Aggregate Client Client Server Reduce Aggregate Query
  • 19. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 19 ROW BASED SCHEDULING ■ Due to caching and blocks, most system resource consumption is per row ( Flash is in-memory ) ■ Rows are fine grained ■ Scheduler is “local” only ■ Deadline scheduling ■ Per-query priority (per transaction timeout) Secondary Index Primary Index Record Values SSD Server Client Hot analytics Operational Priority Q
  • 20. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 20 LESSONS LEARNED
  • 21. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 21 Native Flash  Performance 0 50,000 100,000 150,000 200,000 250,000 300,000 350,000 Balanced Read-Heavy Aerospike Cassandra MongoDB Couchbase 2.0* *We were forced to exclude Couchbase...since when run with either disk or replica durability on it was unable to complete the test.” – Thumbtack Technology 0 2.5 5 7.5 10 0 50,000 100,000 150,000 200,000 AverageLatency,ms Throughput, ops/sec Balanced Workload Read Latency Aerospike Cassandra MongoDB 0 4 8 12 16 0 50,000 100,000 150,000 200,000 AverageLatency,ms Throughput, ops/sec Balanced Workload Update Latency Aerospike Cassandra MongoDB HIGH THROUGHPUT LOW LATENCY Throughput,TPS
  • 22. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 22 High Availability Through Clustering & Replication 1 32 4 5 Phases 1) 100KTPS – 4 nodes 2) Clients at Max 3) 400KTPS – 4 nodes 4) 400KTPS – 3 nodes 5) 400KTPS – 4 nodes Aerospike Node Specs: CentOS 6.3 Intel i5-2400@ 3.1 GHz (Quad core) 16 GB RAM@1333 MHz
  • 23. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 23 LESSONS 1. Keep architecture simple ■ No hot spots (e.g., robust DHT) ■ Scales up easily (e.g., easy to size) ■ Avoids points of failure (e.g., single node type) 2. Avoid manual operation – automate, automate! ■ Self-managed cluster responds to node failures ■ Data rebalancing requires no intervention ■ Real-time prioritization allows unattended system operation 3. Keep system asynchronous ■ Shared nothing – nodes are autonomous ■ Async writes across data centers ■ Independent tuning parameters for different classes of tasks
  • 24. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 24 LESSONS (cont’d) 4. Monitor the Health of the System Extensively ■ Growth in load sneaks up on you over weeks ■ Early detection means better service ■ Most failures can be predicted (e.g., capacity, load, …) 5. Size clusters properly ■ Have enough capacity ALWAYS! ■ Upgrade SSDs every couple years ■ Reduce cluster sizes to make operations simple 6. Have geographically distributed data centers ■ Size the distributed data centers properly ■ Use active-active configurations if possible ■ Size bandwidth requirements accurately
  • 25. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 25 LESSONS (CONT’D) 7. Have plan for unforeseen situations ■ Devise scenarios and practice during normal work time ■ Ensure you can do rolling upgrades during high load time ■ Make sure that your nodes can restart fast (< 1 minute) 8. Constantly test and monitor app end-to-end ■ Application level metrics are more important than DB metrics ■ Most issues in a service are due to a combination of application, network, database, storage, etc. 9. Separate online and offline workloads ■ Reserve real-time edge database for transactions and hot analytics queries (where newest data is important) ■ Avoid ad-hoc queries on on-line system ■ Perform deep analysis in offline system (Hadoop) 10. Use the Right Data Management System for the job ■ Fast NoSQL DB for real-time transactions and hot analytics on rapidly changing data ■ Hadoop or other comparable systems for exhaustive analytics on mostly read-only data
  • 26. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 26 1. Scaling the Internet of Everything 2. Pushing the limits of modern hardware 3. No data loss (ACID) and No downtime MODERN REAL-TIME DATA PLATFORM APPSERVERAEROSPIKESERVER REAL-TIME BIG DATA APPLICATION AEROSPIKE SMART CLIENT™ • APIs (C, C#, Java, PHP, Python, Ruby, Erlang…) • Transactions, Cluster awareness EXTENSIBLE DATA MODEL • Str, Int, Lists, Maps • Lookups, Queries, Scans • Aerospike Alchemy Framework™ with User Defined Functions and Distributed Aggregations MONITORING & MANAGEMENT • Aerospike Monitoring Console™ • Command Line Tools • Plugins- Nagios, Graphite, Zabbix AEROSPIKE SMART CLUSTER™ AEROSPIKE HYBRID MEMORY SYSTEM™ PROXIMITY & REDUNDANCY Cross Data Center Replication™ (XDR) REAL-TIME ENGINE APP/WEB SERVER AEROSPIKE CLUSTER Written in „C‟, Patents pending
  • 27. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 27 SUPPORT FOR REAL-TIME BIG DATA APPS Rapid Development Complete Customizability ➤ Support for popular languages and tools  ASQL and Aerospike Client in Java, C#, Ruby, Python.. ➤ Complex data types  Nested documents (map, list, string, integer)  Large (Stack, Set, List) Objects ➤ Queries  Single record  Batch multi-record lookups  Equality and range  Aggregations and MapReduce ➤ User Defined Functions (UDFs)  In-DB processing ➤ Aggregation Framework  UDF Pipeline  MapReduce ++ ➤ Time Series Queries  Just 2 IOPs for most r/w independent of object size
  • 28. © 2014 Aerospike, Inc. All rights reserved. Confidential. | GITPRO – April 12, 2014 | 28 QUESTIONS? info@aerospike.com www.aerospike.com