Solution
D. columnstore archival compression
Nén dữ liệu nào giúp giảm dung lượng lớn nhất và tối ưu hiệu suất trong Azure SQL Database?
Với bảng factSales
có 6 tỷ dòng và được tải hàng đêm bằng quy trình batch, phương pháp nén Columnstore là lựa chọn tối ưu nhất để giảm dung lượng và tăng hiệu suất.
1. Lý do chọn Clustered Columnstore Index (CCI)
🔹 Giảm dung lượng lớn nhất
Nén Columnstore giúp giảm kích thước dữ liệu lên đến 10 lần so với lưu trữ dạng hàng (rowstore).
Thay vì lưu dữ liệu theo dòng, Columnstore lưu dữ liệu theo cột và áp dụng thuật toán nén mạnh hơn.
🔹 Tăng hiệu suất cho truy vấn phân tích
Nhanh hơn gấp 10 - 100 lần cho các truy vấn
SUM
,AVG
,COUNT
,GROUP BY
,JOIN
, rất phù hợp với dữ liệu fact trong data warehouse.Giảm I/O, giúp truy vấn trên hàng tỷ dòng nhanh hơn.
🔹 Tối ưu cho tải dữ liệu theo batch
Clustered Columnstore Index (CCI) hoạt động tốt với quy trình tải dữ liệu hàng đêm.
Xử lý batch hiệu quả, giảm áp lực ghi dữ liệu.
2. So sánh với các phương pháp nén khác
Row-Level Compression
Tốt
Cải thiện nhẹ
Page-Level Compression
Tốt hơn row-level
Cải thiện tốt hơn
Clustered Columnstore Index (CCI)
Tốt nhất (10x hoặc hơn)
Nhanh nhất với truy vấn phân tích
⚡ Kết luận: Sử dụng Clustered Columnstore Index (CCI) là lựa chọn tối ưu nhất.
3. Cách triển khai Clustered Columnstore Index (CCI)
Bạn có thể tạo CCI trên bảng factSales
bằng lệnh sau:
Lưu ý:
Nếu cần truy vấn tìm kiếm nhanh trên một số cột cụ thể, có thể tạo Nonclustered Rowstore Index trên các cột đó để cân bằng giữa OLTP và OLAP.
Last updated