Một số tài liệu về nén dữ liệu SQL Server tôi đọc được rằng chi phí ghi tăng lên khoảng bốn lần so với yêu cầu thông thường. Dường như điều này cũng ám chỉ rằng đây là nhược điểm chính của việc nén dữ liệu, ngụ ý mạnh mẽ rằng đối với cơ sở dữ liệu lưu trữ chỉ đọc, hiệu suất (với một vài ngoại lệ) sẽ được cải thiện bằng cách sử dụng nén dữ liệu của các trang được lấp đầy 100%.
- Những tuyên bố trên có đúng không?
Các "biến thể" chính giữa nén dữ liệu và mặt khác (để đọc)
- "CPU + x%"?
- "IO -y%"?
- xảy ra chia trang?
- sử dụng tempdb?
- Sử dụng RAM?
- Và để viết?
Với mục đích của câu hỏi này, bạn có thể giới hạn ngữ cảnh ở mức nén PAGE của cơ sở dữ liệu lớn (> 1TB) , nhưng luôn có những bình luận bổ sung.
Người giới thiệu:
Blog công cụ lưu trữ máy chủ SQL (Kịch bản DW cho thấy việc nén rất thuận lợi)
Nén dữ liệu: Chiến lược, lập kế hoạch năng lực và thực tiễn tốt nhất
Một cách tiếp cận chi tiết hơn để quyết định nén cái gì liên quan đến việc phân tích các đặc tính khối lượng công việc cho mỗi bảng và chỉ mục. Nó dựa trên hai số liệu sau:
U: Tỷ lệ phần trăm của các hoạt động cập nhật trên một bảng, chỉ mục hoặc phân vùng cụ thể, so với tổng số hoạt động trên đối tượng đó. Giá trị của U càng thấp (nghĩa là bảng, chỉ mục hoặc phân vùng được cập nhật không thường xuyên), ứng cử viên tốt hơn cho việc nén trang.
S: Tỷ lệ phần trăm của các hoạt động quét trên một bảng, chỉ mục hoặc phân vùng, so với tổng số các hoạt động trên đối tượng đó. Giá trị của S càng cao (nghĩa là bảng, chỉ mục hoặc phân vùng chủ yếu được quét), ứng cử viên tốt hơn để nén trang.
Cả hai điều trên đều thiên về hướng nén trang khuyến nghị cho cơ sở dữ liệu kiểu DW (hoạt động đọc dữ liệu lớn / độc quyền, dữ liệu lớn).