POSTGRESQL BUFFER
hoạt động như thế nào?
GIỚI THIỆU
Hầu hết các hệ thống cơ sở dữ liệu SQL hiện nay đều
lưu trữ dữ liệu ở trên ổ đĩa. Tuy nhiên, như chúng ta đã biết
thì truy xuất từ điã sẽ chậm hơn khoảng 80 lần so với RAM.
Dù bạn có thay thế đĩa cứng bằng ổ SSD thì vẫn sẽ chậm
hơn 4 lần so với RAM.
Các hệ cơ sở dữ liệu SQL xử lý việc này bằng kỹ thuật
buffer. Buffer hoạt động dựa trên nguyên tắc: đưa 1 phần
thông tin thường dùng chứa thẳng trên RAM để có tốc độ
truy xuất nhanh. Những lần sử dụng sau thì sẽ không phải
truy xuất ổ đĩa để lấy dữ liệu nữa.
22
DIJSKTRA
Trong PostgreSQL, hệ thống đảm nhận việc này có tên
là Buffer Manager.
CẤU TRÚC CỦA BỘ QUẢN LÝ ĐỆM
Bộ quản lý đệm gồm có 3 thành phần: buffer table, buf-
fer descriptors và buffer pool. Trong bài viết này chúng ta
sẽ chỉ đề cập đến buffer pool.
Buffer pool chính là bộ nhớ tạm mà chúng ta đã nói
qua ở kỹ thuật buffer. Buffer pool được hiện thực dưới
dạng 1 mảng được lưu trữ trên RAM. Mỗi ô của mảng này
sẽ chứa một lượng “dữ liệu thô”, và index của ô này được
gọi là buffer_id.