SlideShare a Scribd company logo
1 of 26
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!)

More Related Content

What's hot

Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedInБыстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
CEE-SEC(R)
 
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
 
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
 
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
 

What's hot (20)

Data streaming-systems
Data streaming-systemsData streaming-systems
Data streaming-systems
 
Виталий Бондаренко "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 ...
 
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedInБыстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
 
Building Distributed Data Streaming System
Building Distributed Data Streaming SystemBuilding Distributed Data Streaming System
Building Distributed Data Streaming System
 
Spark meetup - Zoomdata Streaming
Spark meetup  - Zoomdata StreamingSpark meetup  - Zoomdata Streaming
Spark meetup - Zoomdata Streaming
 
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
 
HBaseConAsia2018 Keynote1: Apache HBase Project Status
HBaseConAsia2018 Keynote1: Apache HBase Project StatusHBaseConAsia2018 Keynote1: Apache HBase Project Status
HBaseConAsia2018 Keynote1: Apache HBase Project Status
 
What database
What databaseWhat database
What database
 
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
 
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
 
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
 
ClustrixDB: how distributed databases scale out
ClustrixDB: how distributed databases scale outClustrixDB: how distributed databases scale out
ClustrixDB: how distributed databases scale out
 
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?
 
HBaseCon2017 Apache HBase at Didi
HBaseCon2017 Apache HBase at DidiHBaseCon2017 Apache HBase at Didi
HBaseCon2017 Apache HBase at Didi
 
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...
 
Aceleracion de aplicacione 2
Aceleracion de aplicacione 2Aceleracion de aplicacione 2
Aceleracion de aplicacione 2
 
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
 
Column and hadoop
Column and hadoopColumn and hadoop
Column and hadoop
 
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
 
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.
 

Similar to Fast Online Access to Massive Offline Data - SECR 2016

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
 
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
 

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...
 
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
 
Introduction to Kafka Cruise Control
Introduction to Kafka Cruise ControlIntroduction to Kafka Cruise Control
Introduction to Kafka Cruise Control
 
Big Data on Cloud Native Platform
Big Data on Cloud Native PlatformBig Data on Cloud Native Platform
Big Data on Cloud Native Platform
 
Big Data on Cloud Native Platform
Big Data on Cloud Native PlatformBig Data on Cloud Native Platform
Big Data on Cloud Native Platform
 
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
 
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
 
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
 
Kafka at Peak Performance
Kafka at Peak PerformanceKafka at Peak Performance
Kafka at Peak Performance
 
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
 
More Datacenters, More Problems
More Datacenters, More ProblemsMore Datacenters, More Problems
More Datacenters, More Problems
 
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
 
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
 
Pass 2013 dantoni azure a gs
Pass 2013 dantoni azure a gsPass 2013 dantoni azure a gs
Pass 2013 dantoni azure a gs
 
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...
 
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
 
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...
 
L20 Scalability
L20 ScalabilityL20 Scalability
L20 Scalability
 
Data core overview - haluk-final
Data core overview - haluk-finalData core overview - haluk-final
Data core overview - haluk-final
 
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
 

Recently uploaded

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 

Recently uploaded (20)

%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 

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!)