SlideShare a Scribd company logo
ESPRESSO/Voldemort©2013 LinkedIn Corporation. All Rights Reserved.
Fast Online Access to Massive Offline Data
Software Engineering Conference in Russia
28 October 2016
By Felix GV
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Agenda
▪ Introduction
– High Level Web Architecture
–What is Primary Data and Derived Data?
–What is Voldemort?
▪ Recent Improvements to Voldemort RO
– Cross-DC Bandwidth
– Multi-tenancy
– Performance
▪ How to Get Started?
2
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
High Level Web Architecture
Web
Front Ends Mid Tiers Primary
Databases
Derived
Databases
3
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
High Level Web Architecture
Web
Front Ends Mid Tiers Queue
Logs Logs Change
Capture
Hadoop
Job
Scheduler
Launch
Jobs
Database
Snapshots
Trigger Derived
Data Refresh
Data
Crunching
ETL
Bulk Load
Derived
Databases
Primary
Databases
4
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
What is Primary Data and Derived Data?
Primary Data is “Source of Truth” data:
▪ Users’ profiles, private messages, etc.
▪ Typically requires strong consistency & read-your-write semantics
Derived Data comes from crunching primary data:
▪ “People You May Know”, “Jobs You May Be Interested In”, etc.
▪ Aggregation, Joins, Machine learning
▪ Typically generated offline, in Hadoop
How can we serve derived data back to online apps?
5
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
What is Voldemort?
Voldemort is a Distributed Key Value Store with two modes:
▪ Read-Write
– Random access writes, tunable consistency
▪ Read-Only
– Bulk-loaded from Hadoop
Can be single DC, or globally distributed.
Pluggable:
▪ Storage Engine (BDB-JE, RocksDB, Read-Only format, etc.)
▪ Serialization (Avro, JSON, Protobuf, Thrift, raw bytes, etc.)
6
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
What is Voldemort Read-Only?
Voldemort RO Servers:
▪ Fetch entire datasets from HDFS
▪ Serve key-value read requests
Build and Push job:
▪ Validates store & schema
▪ Triggers MR job
– MR job partitions data
▪ Triggers server fetches
▪ Swaps new dataset
7
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
For Voldemort to die, all pieces must die.
8
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Recent Improvements to Voldemort RO
▪ Cross-DC Bandwidth
– Block-level Compression
– Throttling
▪ Multi-tenancy
– Nuage Integration
– Storage Space Quotas
▪ Performance
– Build and Push Performance
– Client Latency
9
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Voldemort Cross-DC Bandwidth
Voldemort RO among largest users of cross-DC bandwidth at LinkedIn
▪ >100 TB / day ingested across the WAN, every day
We added block-level compression:
▪ Output of BnP’s MR job is compressed (GZIP)
▪ Voldemort servers decompress on the fly
– CPU cost of decompression deemed negligible
▪ Completely transparent to store owners
▪ ~18% reduction in dataset size
10
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Voldemort Cross-DC Bandwidth
DC1
DC2
DC3
DC1
DC2
DC3
Inbound bandwidth used to look like this:
▪ Very spiky
▪ Each DC was fetching sequentially
▪ Love/hate relationship with Net Ops
Now, with parallel fetching and throttling:
▪ No more spikes
▪ DCs are fetching in parallel
▪ Best friends with Net Ops
11
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Recent Improvements to Voldemort RO
▪ Cross-DC Bandwidth
– Block-level Compression
– Throttling
▪ Multi-tenancy
– Nuage Integration
– Storage Space Quotas
▪ Performance
– Build and Push Performance
– Client Latency
12
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Voldemort Multi-tenancy
Nuage is LinkedIn’s internal (AWS-like) self-service provisioning infra
All new stores at LinkedIn are now created via Nuage
▪ Prevents accidental pushes to the wrong cluster
▪ Store creation in production is now self-service
▪ ~3 stores / week created in production!
13
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Voldemort Multi-tenancy
Storage Space Quotas
▪ Precise storage requirement measured during build phase
▪ Voldemort server validates quota before starting to fetch
▪ The goal is to prevent unexpected growth from killing clusters
LOTS of improvements on admin commands
▪ Stability
▪ Performance
14
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Recent Improvements to Voldemort RO
▪ Cross-DC Bandwidth
– Block-level Compression
– Throttling
▪ Multi-tenancy
– Nuage Integration
– Storage Space Quotas
▪ Performance
– Build and Push Performance
– Client Latency
15
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Build and Push Performance
New datacenter with denser clusters required major BnP refactoring
As a side effect of that rewrite, BnP is also a lot more efficient
▪ Each partition replica is now built only once
▪ The following metrics are reduced (roughly by half) :
– Number of reduce tasks
– Amount of shuffle bandwidth
– Amount of data written to HDFS
Leveraged new datacenter buildout to get rid of duplicate BnP jobs
16
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Build and Push Performance
Delta:
63.2%
reduction
Before:
103 hours / job
After:
38 hours / job
17
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Build and Push Performance
Delta:
31.4%
reduction
Before:
381 jobs / day
After:
261 jobs / day
18
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Build and Push Performance
Delta:
74.4%
reduction
Before:
4.48 years / day
After:
1.15 years / day
19
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Client Latency
Major client/server communication rewrite:
▪ Client and server’s memory footprint reduced by half
▪ Client garbage collection reduced by 80%
▪ Failure detection is more accurate
▪ Solved the stability issues of our highest throughput clients
Major effort to upgrade all clients to the latest version.
20
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Client Latency
Set up:
▪ 20 client instances
▪ 40 nodes multi-tenant Voldemort cluster
– >90 stores
– 56K QPS at peak
Metric:
▪ Worst p95/p99 latency from all clients
▪ Units are in milliseconds (“m” mean microseconds)
▪ Old code in pink
▪ New code in green
21
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Client Latency
95th percentile
22
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Client Latency
99th percentile
23
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems 24
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
How to Get Started?
# Get code
git clone https://github.com/voldemort/voldemort
cd voldemort
# Launch Voldemort Servers
./gradlew jar
./bin/voldemort-shell.sh config/readonly_two_nodes_cluster/node0/config &
./bin/voldemort-shell.sh config/readonly_two_nodes_cluster/node1/config &
# Launch Build and Push job
./gradlew bnpJar
./bin/run-bnp.sh <config_file>
25
©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems
Questions?
(We’re hiring!)
Ad

More Related Content

What's hot (20)

Data streaming-systems
Data streaming-systemsData streaming-systems
Data streaming-systems
imcpune
 
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Fwdays
 
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedInБыстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
CEE-SEC(R)
 
Building Distributed Data Streaming System
Building Distributed Data Streaming SystemBuilding Distributed Data Streaming System
Building Distributed Data Streaming System
Ashish Tadose
 
Spark meetup - Zoomdata Streaming
Spark meetup  - Zoomdata StreamingSpark meetup  - Zoomdata Streaming
Spark meetup - Zoomdata Streaming
Zoomdata
 
Bootstrap SaaS startup using Open Source Tools
Bootstrap SaaS startup using Open Source ToolsBootstrap SaaS startup using Open Source Tools
Bootstrap SaaS startup using Open Source Tools
botsplash.com
 
HBaseConAsia2018 Keynote1: Apache HBase Project Status
HBaseConAsia2018 Keynote1: Apache HBase Project StatusHBaseConAsia2018 Keynote1: Apache HBase Project Status
HBaseConAsia2018 Keynote1: Apache HBase Project Status
Michael Stack
 
What database
What databaseWhat database
What database
Regunath B
 
Application Development with Apache Cassandra as a Service
Application Development with Apache Cassandra as a ServiceApplication Development with Apache Cassandra as a Service
Application Development with Apache Cassandra as a Service
WSO2
 
Oracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data Streaming
Oracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data StreamingOracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data Streaming
Oracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data Streaming
Michael Rainey
 
How Alibaba Cloud scaled ApsaraDB with MariaDB MaxScale
How Alibaba Cloud scaled ApsaraDB with MariaDB MaxScaleHow Alibaba Cloud scaled ApsaraDB with MariaDB MaxScale
How Alibaba Cloud scaled ApsaraDB with MariaDB MaxScale
MariaDB plc
 
ClustrixDB: how distributed databases scale out
ClustrixDB: how distributed databases scale outClustrixDB: how distributed databases scale out
ClustrixDB: how distributed databases scale out
MariaDB plc
 
What is Change Data Capture (CDC) and Why is it Important?
What is Change Data Capture (CDC) and Why is it Important?What is Change Data Capture (CDC) and Why is it Important?
What is Change Data Capture (CDC) and Why is it Important?
FlyData Inc.
 
HBaseCon2017 Apache HBase at Didi
HBaseCon2017 Apache HBase at DidiHBaseCon2017 Apache HBase at Didi
HBaseCon2017 Apache HBase at Didi
HBaseCon
 
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
DataStax
 
Aceleracion de aplicacione 2
Aceleracion de aplicacione 2Aceleracion de aplicacione 2
Aceleracion de aplicacione 2
jfth
 
Software defined storage real or bs-2014
Software defined storage real or bs-2014Software defined storage real or bs-2014
Software defined storage real or bs-2014
Howard Marks
 
Column and hadoop
Column and hadoopColumn and hadoop
Column and hadoop
Alex Jiang
 
Webseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
Webseminar: MariaDB Enterprise und MariaDB Enterprise ClusterWebseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
Webseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
MariaDB Corporation
 
Achieve new levels of performance for Magento e-commerce sites.
Achieve new levels of performance for Magento e-commerce sites.Achieve new levels of performance for Magento e-commerce sites.
Achieve new levels of performance for Magento e-commerce sites.
Clustrix
 
Data streaming-systems
Data streaming-systemsData streaming-systems
Data streaming-systems
imcpune
 
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Fwdays
 
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedInБыстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
CEE-SEC(R)
 
Building Distributed Data Streaming System
Building Distributed Data Streaming SystemBuilding Distributed Data Streaming System
Building Distributed Data Streaming System
Ashish Tadose
 
Spark meetup - Zoomdata Streaming
Spark meetup  - Zoomdata StreamingSpark meetup  - Zoomdata Streaming
Spark meetup - Zoomdata Streaming
Zoomdata
 
Bootstrap SaaS startup using Open Source Tools
Bootstrap SaaS startup using Open Source ToolsBootstrap SaaS startup using Open Source Tools
Bootstrap SaaS startup using Open Source Tools
botsplash.com
 
HBaseConAsia2018 Keynote1: Apache HBase Project Status
HBaseConAsia2018 Keynote1: Apache HBase Project StatusHBaseConAsia2018 Keynote1: Apache HBase Project Status
HBaseConAsia2018 Keynote1: Apache HBase Project Status
Michael Stack
 
Application Development with Apache Cassandra as a Service
Application Development with Apache Cassandra as a ServiceApplication Development with Apache Cassandra as a Service
Application Development with Apache Cassandra as a Service
WSO2
 
Oracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data Streaming
Oracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data StreamingOracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data Streaming
Oracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data Streaming
Michael Rainey
 
How Alibaba Cloud scaled ApsaraDB with MariaDB MaxScale
How Alibaba Cloud scaled ApsaraDB with MariaDB MaxScaleHow Alibaba Cloud scaled ApsaraDB with MariaDB MaxScale
How Alibaba Cloud scaled ApsaraDB with MariaDB MaxScale
MariaDB plc
 
ClustrixDB: how distributed databases scale out
ClustrixDB: how distributed databases scale outClustrixDB: how distributed databases scale out
ClustrixDB: how distributed databases scale out
MariaDB plc
 
What is Change Data Capture (CDC) and Why is it Important?
What is Change Data Capture (CDC) and Why is it Important?What is Change Data Capture (CDC) and Why is it Important?
What is Change Data Capture (CDC) and Why is it Important?
FlyData Inc.
 
HBaseCon2017 Apache HBase at Didi
HBaseCon2017 Apache HBase at DidiHBaseCon2017 Apache HBase at Didi
HBaseCon2017 Apache HBase at Didi
HBaseCon
 
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
DataStax
 
Aceleracion de aplicacione 2
Aceleracion de aplicacione 2Aceleracion de aplicacione 2
Aceleracion de aplicacione 2
jfth
 
Software defined storage real or bs-2014
Software defined storage real or bs-2014Software defined storage real or bs-2014
Software defined storage real or bs-2014
Howard Marks
 
Column and hadoop
Column and hadoopColumn and hadoop
Column and hadoop
Alex Jiang
 
Webseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
Webseminar: MariaDB Enterprise und MariaDB Enterprise ClusterWebseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
Webseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
MariaDB Corporation
 
Achieve new levels of performance for Magento e-commerce sites.
Achieve new levels of performance for Magento e-commerce sites.Achieve new levels of performance for Magento e-commerce sites.
Achieve new levels of performance for Magento e-commerce sites.
Clustrix
 

Similar to Fast Online Access to Massive Offline Data - SECR 2016 (20)

Webinar - Delivering Enhanced Message Processing at Scale With an Always-on D...
Webinar - Delivering Enhanced Message Processing at Scale With an Always-on D...Webinar - Delivering Enhanced Message Processing at Scale With an Always-on D...
Webinar - Delivering Enhanced Message Processing at Scale With an Always-on D...
DataStax
 
Azure + DataStax Enterprise Powers Office 365 Per User Store
Azure + DataStax Enterprise Powers Office 365 Per User StoreAzure + DataStax Enterprise Powers Office 365 Per User Store
Azure + DataStax Enterprise Powers Office 365 Per User Store
DataStax Academy
 
Introduction to Kafka Cruise Control
Introduction to Kafka Cruise ControlIntroduction to Kafka Cruise Control
Introduction to Kafka Cruise Control
Jiangjie Qin
 
Big Data on Cloud Native Platform
Big Data on Cloud Native PlatformBig Data on Cloud Native Platform
Big Data on Cloud Native Platform
Sunil Govindan
 
Big Data on Cloud Native Platform
Big Data on Cloud Native PlatformBig Data on Cloud Native Platform
Big Data on Cloud Native Platform
Sunil Govindan
 
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & TableauBig Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Sam Palani
 
Updates to Apache CloudStack and LINBIT SDS
Updates to Apache CloudStack and LINBIT SDSUpdates to Apache CloudStack and LINBIT SDS
Updates to Apache CloudStack and LINBIT SDS
ShapeBlue
 
Case study migration from cm13 to cm14 - Oracle Primavera P6 Collaborate 14
Case study migration from cm13 to cm14 - Oracle Primavera P6 Collaborate 14Case study migration from cm13 to cm14 - Oracle Primavera P6 Collaborate 14
Case study migration from cm13 to cm14 - Oracle Primavera P6 Collaborate 14
p6academy
 
Kafka at Peak Performance
Kafka at Peak PerformanceKafka at Peak Performance
Kafka at Peak Performance
Todd Palino
 
Datastax - Why Your RDBMS fails at scale
Datastax - Why Your RDBMS fails at scaleDatastax - Why Your RDBMS fails at scale
Datastax - Why Your RDBMS fails at scale
Ruth Mills
 
More Datacenters, More Problems
More Datacenters, More ProblemsMore Datacenters, More Problems
More Datacenters, More Problems
Todd Palino
 
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksLessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Databricks
 
La creación de una capa operacional con MongoDB
La creación de una capa operacional con MongoDBLa creación de una capa operacional con MongoDB
La creación de una capa operacional con MongoDB
MongoDB
 
Pass 2013 dantoni azure a gs
Pass 2013 dantoni azure a gsPass 2013 dantoni azure a gs
Pass 2013 dantoni azure a gs
Joseph D'Antoni
 
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
Continuent
 
Webinar: Enterprise Trends for Database-as-a-Service
Webinar: Enterprise Trends for Database-as-a-ServiceWebinar: Enterprise Trends for Database-as-a-Service
Webinar: Enterprise Trends for Database-as-a-Service
MongoDB
 
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
Trivadis
 
L20 Scalability
L20 ScalabilityL20 Scalability
L20 Scalability
Ólafur Andri Ragnarsson
 
Data core overview - haluk-final
Data core overview - haluk-finalData core overview - haluk-final
Data core overview - haluk-final
Haluk Ulubay
 
How to Choose a Host for a Big Data Project
How to Choose a Host for a Big Data ProjectHow to Choose a Host for a Big Data Project
How to Choose a Host for a Big Data Project
Peak Hosting
 
Webinar - Delivering Enhanced Message Processing at Scale With an Always-on D...
Webinar - Delivering Enhanced Message Processing at Scale With an Always-on D...Webinar - Delivering Enhanced Message Processing at Scale With an Always-on D...
Webinar - Delivering Enhanced Message Processing at Scale With an Always-on D...
DataStax
 
Azure + DataStax Enterprise Powers Office 365 Per User Store
Azure + DataStax Enterprise Powers Office 365 Per User StoreAzure + DataStax Enterprise Powers Office 365 Per User Store
Azure + DataStax Enterprise Powers Office 365 Per User Store
DataStax Academy
 
Introduction to Kafka Cruise Control
Introduction to Kafka Cruise ControlIntroduction to Kafka Cruise Control
Introduction to Kafka Cruise Control
Jiangjie Qin
 
Big Data on Cloud Native Platform
Big Data on Cloud Native PlatformBig Data on Cloud Native Platform
Big Data on Cloud Native Platform
Sunil Govindan
 
Big Data on Cloud Native Platform
Big Data on Cloud Native PlatformBig Data on Cloud Native Platform
Big Data on Cloud Native Platform
Sunil Govindan
 
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & TableauBig Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Sam Palani
 
Updates to Apache CloudStack and LINBIT SDS
Updates to Apache CloudStack and LINBIT SDSUpdates to Apache CloudStack and LINBIT SDS
Updates to Apache CloudStack and LINBIT SDS
ShapeBlue
 
Case study migration from cm13 to cm14 - Oracle Primavera P6 Collaborate 14
Case study migration from cm13 to cm14 - Oracle Primavera P6 Collaborate 14Case study migration from cm13 to cm14 - Oracle Primavera P6 Collaborate 14
Case study migration from cm13 to cm14 - Oracle Primavera P6 Collaborate 14
p6academy
 
Kafka at Peak Performance
Kafka at Peak PerformanceKafka at Peak Performance
Kafka at Peak Performance
Todd Palino
 
Datastax - Why Your RDBMS fails at scale
Datastax - Why Your RDBMS fails at scaleDatastax - Why Your RDBMS fails at scale
Datastax - Why Your RDBMS fails at scale
Ruth Mills
 
More Datacenters, More Problems
More Datacenters, More ProblemsMore Datacenters, More Problems
More Datacenters, More Problems
Todd Palino
 
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksLessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Databricks
 
La creación de una capa operacional con MongoDB
La creación de una capa operacional con MongoDBLa creación de una capa operacional con MongoDB
La creación de una capa operacional con MongoDB
MongoDB
 
Pass 2013 dantoni azure a gs
Pass 2013 dantoni azure a gsPass 2013 dantoni azure a gs
Pass 2013 dantoni azure a gs
Joseph D'Antoni
 
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
Continuent
 
Webinar: Enterprise Trends for Database-as-a-Service
Webinar: Enterprise Trends for Database-as-a-ServiceWebinar: Enterprise Trends for Database-as-a-Service
Webinar: Enterprise Trends for Database-as-a-Service
MongoDB
 
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
Trivadis
 
Data core overview - haluk-final
Data core overview - haluk-finalData core overview - haluk-final
Data core overview - haluk-final
Haluk Ulubay
 
How to Choose a Host for a Big Data Project
How to Choose a Host for a Big Data ProjectHow to Choose a Host for a Big Data Project
How to Choose a Host for a Big Data Project
Peak Hosting
 
Ad

Recently uploaded (20)

Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New VersionPixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
saimabibi60507
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New VersionPixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
saimabibi60507
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Ad

Fast Online Access to Massive Offline Data - SECR 2016

  • 1. ESPRESSO/Voldemort©2013 LinkedIn Corporation. All Rights Reserved. Fast Online Access to Massive Offline Data Software Engineering Conference in Russia 28 October 2016 By Felix GV
  • 2. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Agenda ▪ Introduction – High Level Web Architecture –What is Primary Data and Derived Data? –What is Voldemort? ▪ Recent Improvements to Voldemort RO – Cross-DC Bandwidth – Multi-tenancy – Performance ▪ How to Get Started? 2
  • 3. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems High Level Web Architecture Web Front Ends Mid Tiers Primary Databases Derived Databases 3
  • 4. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems High Level Web Architecture Web Front Ends Mid Tiers Queue Logs Logs Change Capture Hadoop Job Scheduler Launch Jobs Database Snapshots Trigger Derived Data Refresh Data Crunching ETL Bulk Load Derived Databases Primary Databases 4
  • 5. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems What is Primary Data and Derived Data? Primary Data is “Source of Truth” data: ▪ Users’ profiles, private messages, etc. ▪ Typically requires strong consistency & read-your-write semantics Derived Data comes from crunching primary data: ▪ “People You May Know”, “Jobs You May Be Interested In”, etc. ▪ Aggregation, Joins, Machine learning ▪ Typically generated offline, in Hadoop How can we serve derived data back to online apps? 5
  • 6. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems What is Voldemort? Voldemort is a Distributed Key Value Store with two modes: ▪ Read-Write – Random access writes, tunable consistency ▪ Read-Only – Bulk-loaded from Hadoop Can be single DC, or globally distributed. Pluggable: ▪ Storage Engine (BDB-JE, RocksDB, Read-Only format, etc.) ▪ Serialization (Avro, JSON, Protobuf, Thrift, raw bytes, etc.) 6
  • 7. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems What is Voldemort Read-Only? Voldemort RO Servers: ▪ Fetch entire datasets from HDFS ▪ Serve key-value read requests Build and Push job: ▪ Validates store & schema ▪ Triggers MR job – MR job partitions data ▪ Triggers server fetches ▪ Swaps new dataset 7
  • 8. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems For Voldemort to die, all pieces must die. 8
  • 9. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Recent Improvements to Voldemort RO ▪ Cross-DC Bandwidth – Block-level Compression – Throttling ▪ Multi-tenancy – Nuage Integration – Storage Space Quotas ▪ Performance – Build and Push Performance – Client Latency 9
  • 10. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Voldemort Cross-DC Bandwidth Voldemort RO among largest users of cross-DC bandwidth at LinkedIn ▪ >100 TB / day ingested across the WAN, every day We added block-level compression: ▪ Output of BnP’s MR job is compressed (GZIP) ▪ Voldemort servers decompress on the fly – CPU cost of decompression deemed negligible ▪ Completely transparent to store owners ▪ ~18% reduction in dataset size 10
  • 11. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Voldemort Cross-DC Bandwidth DC1 DC2 DC3 DC1 DC2 DC3 Inbound bandwidth used to look like this: ▪ Very spiky ▪ Each DC was fetching sequentially ▪ Love/hate relationship with Net Ops Now, with parallel fetching and throttling: ▪ No more spikes ▪ DCs are fetching in parallel ▪ Best friends with Net Ops 11
  • 12. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Recent Improvements to Voldemort RO ▪ Cross-DC Bandwidth – Block-level Compression – Throttling ▪ Multi-tenancy – Nuage Integration – Storage Space Quotas ▪ Performance – Build and Push Performance – Client Latency 12
  • 13. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Voldemort Multi-tenancy Nuage is LinkedIn’s internal (AWS-like) self-service provisioning infra All new stores at LinkedIn are now created via Nuage ▪ Prevents accidental pushes to the wrong cluster ▪ Store creation in production is now self-service ▪ ~3 stores / week created in production! 13
  • 14. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Voldemort Multi-tenancy Storage Space Quotas ▪ Precise storage requirement measured during build phase ▪ Voldemort server validates quota before starting to fetch ▪ The goal is to prevent unexpected growth from killing clusters LOTS of improvements on admin commands ▪ Stability ▪ Performance 14
  • 15. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Recent Improvements to Voldemort RO ▪ Cross-DC Bandwidth – Block-level Compression – Throttling ▪ Multi-tenancy – Nuage Integration – Storage Space Quotas ▪ Performance – Build and Push Performance – Client Latency 15
  • 16. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Build and Push Performance New datacenter with denser clusters required major BnP refactoring As a side effect of that rewrite, BnP is also a lot more efficient ▪ Each partition replica is now built only once ▪ The following metrics are reduced (roughly by half) : – Number of reduce tasks – Amount of shuffle bandwidth – Amount of data written to HDFS Leveraged new datacenter buildout to get rid of duplicate BnP jobs 16
  • 17. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Build and Push Performance Delta: 63.2% reduction Before: 103 hours / job After: 38 hours / job 17
  • 18. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Build and Push Performance Delta: 31.4% reduction Before: 381 jobs / day After: 261 jobs / day 18
  • 19. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Build and Push Performance Delta: 74.4% reduction Before: 4.48 years / day After: 1.15 years / day 19
  • 20. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Client Latency Major client/server communication rewrite: ▪ Client and server’s memory footprint reduced by half ▪ Client garbage collection reduced by 80% ▪ Failure detection is more accurate ▪ Solved the stability issues of our highest throughput clients Major effort to upgrade all clients to the latest version. 20
  • 21. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Client Latency Set up: ▪ 20 client instances ▪ 40 nodes multi-tenant Voldemort cluster – >90 stores – 56K QPS at peak Metric: ▪ Worst p95/p99 latency from all clients ▪ Units are in milliseconds (“m” mean microseconds) ▪ Old code in pink ▪ New code in green 21
  • 22. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Client Latency 95th percentile 22
  • 23. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Client Latency 99th percentile 23
  • 24. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems 24
  • 25. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems How to Get Started? # Get code git clone https://github.com/voldemort/voldemort cd voldemort # Launch Voldemort Servers ./gradlew jar ./bin/voldemort-shell.sh config/readonly_two_nodes_cluster/node0/config & ./bin/voldemort-shell.sh config/readonly_two_nodes_cluster/node1/config & # Launch Build and Push job ./gradlew bnpJar ./bin/run-bnp.sh <config_file> 25
  • 26. ©2016 LinkedIn Corporation. All Rights Reserved. Distributed Data Systems Questions? (We’re hiring!)