Technology

LinkedIn Sales Navigator Search Speed Boost

LinkedIn engineers drastically cut Sales Navigator's search data processing time by optimizing its Spark pipeline, enabling faster results for users.

By Daniel Singer, Editor, StartupHub.ai

3 min read

Abstract visualization of data nodes and connections representing a complex data pipeline.
Optimizing the complex data pipeline powering LinkedIn Sales Navigator's search.Credit: LinkedIn Engineering
Visual TL;DR
Slow Search ProcessingDriver
Sales Navigator search data processing time was too long
Migrate to SparkCore
From the article 7 mentionsThe engineering team detailed how they moved the core data manipulation pipeline from the older MapReduce framework to Apache Spark, implementing a series of targeted optimizations.
Optimize Spark JobsContext
From the articleThe complex data manipulation pipeline, comprising over 100 individual Spark jobs, was a prime candidate for optimization.
Reduce Pipeline ComplexityContext
Tackled complex data manipulation pipeline for critical Sales Navigator features
Cut Execution TimeOutcome
From the article 2 mentionsEngineers successfully reduced the total execution time from a lengthy 6-7 hours down to roughly three hours.
Faster Search ResultsEffect
From the article 2 mentionsThe goal was to accelerate the delivery of updated search results, a crucial factor for sales professionals making timely decisions.
Improved User ExperienceEffect
Drastically cut search data processing time for users
Contents(4)

LinkedIn has overhauled its Sales Navigator search system, cutting down the time it takes to process data and deliver fresh prospect insights. The engineering team detailed how they moved the core data manipulation pipeline from the older MapReduce framework to Apache Spark, implementing a series of targeted optimizations.

This initiative focused on the search system that underpins critical Sales Navigator features like Lead Search, Relationship Explorer, and Lead Recommendations. The goal was to accelerate the delivery of updated search results, a crucial factor for sales professionals making timely decisions.

The complex data manipulation pipeline, comprising over 100 individual Spark jobs, was a prime candidate for optimization. Engineers successfully reduced the total execution time from a lengthy 6-7 hours down to roughly three hours.

Under the Hood: Sales Navigator's Search Architecture

The search system operates in three tiers: offline, nearline, and serving. The offline component handles large-scale batch processing, transforming raw data into immutable base indexes using Spark heavily. A nearline component captures real-time updates, building a live index that's periodically flushed to disk.

The serving layer then orchestrates query requests, distributing them to various search servers that retrieve and rank results from index shards.

Tackling Pipeline Complexity

Operating such an extensive data pipeline presents inherent challenges. Complex job dependencies can obscure performance bottlenecks, where a slowdown in one job cascades, impacting the entire workflow.

Additionally, strict resource caps prevent simple scaling by adding more compute power, pushing the team to find more efficient solutions.

Uneven data distribution across jobs, particularly when unioning datasets of vastly different sizes, also created significant performance hurdles.

Strategic Optimization Techniques

The optimization process began with pruning the job graph. By identifying and consolidating jobs with no external dependencies, LinkedIn removed unnecessary intermediate data writes and reads, saving over 30 minutes on one segment alone.

Focus then shifted to identifying bottlenecks on the critical path of the job execution flow. Optimizing these key jobs directly impacts the overall pipeline duration.

Spark Job Tuning for Speed

Data skewness, a common Spark performance killer, was addressed through repartitioning. By redistributing data more evenly based on unique search document IDs, one job's execution time dropped from two hours to just 30 minutes.

Careful adjustment of shuffle partition counts, aligned with the number of Spark executors, also yielded significant time savings, reducing a job’s runtime by over 30 minutes.

Broadcast joins proved effective for merging datasets of dramatically different sizes. Broadcasting a 40 MB table to all executors reduced a job’s runtime from over an hour to approximately 20 minutes.

The team also leveraged LinkedIn’s internal auto-tuning tool, Right-Sizing, which analyzes historical job runs to adjust Spark parameters automatically.

This comprehensive approach to LinkedIn Sales Navigator Spark optimization demonstrates how deep technical tuning can unlock significant performance gains in enterprise-grade big data pipeline optimization.

Sources

TopicsLinkedInSales NavigatorApache SparkBig DataData EngineeringInfrastructurePerformance OptimizationMachine Learning

Daniel Singer

Written by

Daniel Singer

Editor, StartupHub.ai

Daniel Singer is the editor of StartupHub.ai, a technology expert and thought leader on AI and its applications across sectors, from fintech and healthcare to developer tooling and consumer software. He writes and tests the tools covered here thoroughly and regularly, and built StartupHub.ai to give founders, operators and buyers a clearer read on what they are actually being sold.

Test your Agent Readiness now

Paste your website. How well ChatGPT, Claude and the other agents can read and use a site, in about a minute, free.

Watch

The videos behind the news, one flip at a time

The feed mixes the videos from our articles with startup demos and you flip through them like TV channels for free with no signup.