issues
search
kymr
/
daily-study
2
stars
0
forks
source link
Week5 - Evolution of Application Data Caching : From RAM to SSD
#13
Closed
kymr
closed
6 years ago
kymr
commented
6 years ago
Title
Evolution of Application Data Caching : From RAM to SSD
Summary
Reference
https://medium.com/netflix-techblog/evolution-of-application-data-caching-from-ram-to-ssd-a33d6fa7a690
kymr
commented
6 years ago
Words
that offers low-latency, high-reliability caching and storage
in many occasions it is termed as “the hidden microservice”
performing trillions of operations per day
has the ability to persist the data to the disk
With the advent of Netflix global cloud architecture
The diagram below shows the logical structure of
As we started moving towards the Global Cloud
we had a three times increase in the data that needed to be replicated
Supporting these features came at a considerable increase in cost and complexities
Our motivation was to provide a global caching solution which was not only fast but was also cost effective.
are providing fast access to data but at a much lower cost when compared to RAM
we wanted to move part of the data out of memory without sacrificing availability or performance
storing the same amount in RAM.
RAM random read latencies were rarely higher than 1 microsecond
whereas typical SSD random read speeds are between 100–500 microseconds
is around 1 millisecond
we noticed that we were able to perform over
thus meeting our throughput goals with latency rarely exceeding 1 millisecond
This meant that
EVCache Moneta was our first venture at using SSD
The approach we chose
This approach reduced the size of most Moneta based clusters over 60% as compared to their corresponding RAM-only clusters
This enabled us to achieve
a significant reduction in cost
However, we were unable to move some of the large online and customer facing clusters
We would also exceed the desired SLA at times
As we were working towards solving these issues
which had taken a different approach
shim called extstore
extstore is efficient in terms of cost & storage device utilization
without compromising the speed and throughput
All the metadata (key & other metadata) is stored in RAM whereas the actual data is stored on flash.
which we could not do achieve with Moneta
we could use at most 50% of the disc capacity
as we had to ensure an old item could be deleted
only after it was written again
This meant we had could end up with a copy of new and old data
Since we did not have need for storing duplicate records
are scaled to meet network demands rather than storage demands
This has been quite a remarkable achievement.
By moving from
which allows us to iterate through all of the keys in an instance
By taking advantage of this command
at regular intervals
This ensures data in EVCache is durable and highly available in case of a disaster.
which is used to store users personalized recommendations.
The majority of reads are around
Below is the average read latency of one of cache
extstore latencies are consistently lower than Moneta for similar load across both the instances.
we are able to handle all types of workloads
whether it is a read heavy, write heavy or balanced
ranging from gigabytes to petabytes
It has been quite a journey to move from Moneta to extstore
as of now we have moved all our production clusters running Moneta to extstore
We have also been able to move
The new architecture for EVCache Server running extstore
is allowing us to continue to innovate in ways that matter
Title
Summary
Reference