Scaling Time Series Data Storage — Part II

by Dhruv Garg, Dhaval Patel, Ketan Duvedi

Netflix Technology Blog
11 min readadvanced
--
View Original

Overview

This article discusses Netflix's approach to scaling its time series data storage architecture in response to increased demand from global expansion and new features. It details the limitations of the previous architecture and outlines the redesign strategies implemented to achieve at least a 5x growth in data storage efficiency and performance.

What You'll Learn

1

How to analyze data access patterns for effective storage solutions

2

Why sharding by data type and age improves performance

3

How to implement TTL for data expiration in time series storage

Prerequisites & Requirements

  • Understanding of time series data storage concepts
  • Familiarity with Cassandra and data sharding techniques(optional)

Key Questions Answered

What are the limitations of Netflix's previous time series data storage architecture?
The previous architecture treated all viewing data uniformly, regardless of type or age, leading to performance issues as the volume of video previews increased. This resulted in a 30% growth in data store size in one quarter, causing delays in feature rollouts.
How does Netflix's new architecture improve data storage efficiency?
The new architecture shards data by type and age, allowing for more efficient storage and retrieval. It reduces data duplication by only storing recent language preferences and applying TTL to expire less relevant data, thus optimizing storage costs.
What strategies were implemented to enhance read performance?
The redesign includes parallel reads across different clusters, allowing for efficient data retrieval. This approach minimizes latency and improves performance by decoupling data sets with different growth rates.
What preliminary results have been observed from the migration to the new architecture?
Preliminary results indicate significant improvements in operational characteristics, including reduced compaction and garbage collection pressure, as well as better latencies. The architecture allows for at least a 5x growth capacity and substantial cost savings through aggressive data compression.

Key Statistics & Figures

Growth in data store size
30%
This growth was observed in one quarter as video previews became more prevalent in the viewing data.
Target growth capacity
5x
The redesign aims to accommodate at least a 5x increase in data storage needs.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Key Actionable Insights

1
Implement sharding strategies to manage data growth effectively.
By sharding data based on type and age, organizations can optimize storage performance and reduce latency, which is crucial for handling increasing data volumes.
2
Utilize TTL for managing data expiration to save storage costs.
Applying TTL to less relevant data ensures that storage remains efficient and relevant, preventing unnecessary data bloat in time series databases.
3
Adopt parallel read strategies to enhance data retrieval performance.
Parallel reads can significantly reduce latency and improve the user experience, especially in systems with large data sets requiring quick access.

Common Pitfalls

1
Failing to account for data access patterns can lead to inefficient storage solutions.
Without analyzing how data is accessed, organizations may end up with architectures that cannot scale effectively, leading to performance bottlenecks.
2
Neglecting data expiration can result in unnecessary storage costs.
If TTL is not implemented, outdated data can accumulate, increasing storage needs and costs without providing value.

Related Concepts

Time Series Data Management
Data Sharding Techniques
Caching Strategies