Tags:

Cache – kỹ thuật giúp tối ưu tốc độ tải dữ liệu

Cache là gì?

Trong máy tính, cache – hay còn gọi là bộ nhớ đệm là một vùng lưu trữ dữ liệu có tốc độ truy xuất rất nhanh, thường được dùng để lưu một tập dữ liệu con, hoặc những tập dữ liệu có tính chất tạm thời. Giúp các request đến những dữ liệu này trong tương lai sẽ được đáp ứng nhanh hơn là truy xuất đến nơi chứa thực tế của dữ liệu đó. 

Cache còn cho phép chúng ta sử dụng lại dữ liệu đã được tải bởi các yêu cầu trước đó một cách hiệu quả, ví dụ như trước đó có rất nhiều yêu cầu truy xuất danh sách 10 sản phẩm bán chạy nhất trong tháng 10, từ request đầu tiên chúng ta sẽ lưu chúng vào bộ nhớ cache, những request sau dữ liệu sẽ được truy xuất và trả về từ bộ nhớ cache nhanh hơn nhiều so với việc truy xuất xuống database.

Cache hoạt động như thế nào?

Dữ liệu trong bộ nhớ đệm thường được lưu trữ trong các phần cứng cố tốc độ truy xuất nhanh như RAM (Random access memory) và một số phần mềm.Mục đích chính của cache là tăng hiệu suất truy xuất dữ liệu bằng cách giảm tải tối thiểu các hoạt động truy xuất dữ liệu đến những nơi lưu trữu có tốc độ tải chậm hơn ví dụ như database.

Cache – đánh đổi dung lượng để lấy tốc độ, bộ nhớ đệm thường lưu trữ tạm thời một tập con dữ liệu, trái ngược với cơ sở dữ liệu mà dữ liệu của nó thường đầy đủ và bền.

Các thuật toán điều khiển Cache

Có rất nhiều thuật toán Cache, nhưng sau đây là các thuật toán cơ bản nhất :

  • Least Frequently Used (LFU) : theo dõi tần suất truy cập một dữ liệu. Các dữ liệu có số lần truy cập thấp nhất được loại bỏ đầu tiên.
  • Least Recently Used (LRU) : lưu trữ các dữ liệu được truy cập gần đây gần đầu bộ đệm. Khi bộ đệm đạt đến giới hạn của nó, các liệu được truy cập gần đây nhất sẽ bị xóa.
  • Most Recently Used (MRU) : loại bỏ các dữ liệu truy cập gần đây nhất đầu tiên. Cách tiếp cận này là tốt nhất khi các data cũ có nhiều khả năng được sử dụng.

Các loại Cache hay được sử dụng nhất

  • cache server : Một dedicated network server hoặc dịch vụ chuyên dụng hoạt động như một máy chủ lưu các trang web hoặc nội dung internet khác cục bộ. Một cache server đôi khi được gọi là proxy cache.
  • Cache memory: Random access memory, hay còn được gọi là RAM, Cache memory thường được gắn trực tiếp vào CPU và được sử dụng để cập nhanh các dữ liệu trong CPU.
  • Flash cache: Temporary storage of data on NAND flash memory chips — thường được sử dụng ở **solid-state drives (SSDs) ** , thực hiện các request dữ liệu nhanh hơn có thể nếu bộ đệm nằm trên ổ đĩa cứng truyền thống (HDD

Lợi ích của cache

Cải thiện hiệu xuất ứng dụng

Vì bộ nhớ đệm có tốc độ nhanh hơn đĩa (từ tính hoặc SSD), nên việc đọc dữ liệu từ bộ nhớ đệm cực kỳ nhanh (dưới mili giây). Việc truy cập dữ liệu nhanh hơn đáng kể này cải thiện hiệu suất tổng thể của ứng dụng.

Giảm thiểu hoạt động truy xuất database

Một dữ liệu cache có thể được dùng để thay thế các hoạt động truy xuất đến database ở tần số cao, do vậy giảm thiểu đáng kể các hoạt động truy xuất đến database. Giúp giảm tải cho database và tăng tốc độ phản hồi dữ liệu.

Giảm tải cho backend

Bằng cách chuyển hướng các hoạt động đọc, tải dữ liệu từ backend sang tầng in-memory layer, bộ nhớ đệm có thể giảm tải cho cơ sở dữ liệu của bạn và bảo vệ nó khỏi các sự cố vào những thời điểm có tầng suất truy vấn đột biến.

 

Nguồn

https://aws.amazon.com/vi/caching/

https://viblo.asia/p/cache-la-gi-Az45bzeL5xY

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x