Đây là hai cách tổ chức data warehouse (OLAP) theo mô hình chiều (dimensional modeling), xoay quanh:
- Fact table (bảng sự kiện): trung tâm, chứa số đo (measures) đo được (doanh thu, số lượng) + các FK trỏ tới bảng chiều. Rất nhiều hàng.
- Dimension table (bảng chiều): mô tả ngữ cảnh để lọc/nhóm (thời gian, sản phẩm, khách hàng, khu vực).
Star schema: fact ở giữa, mỗi chiều là một bảng phẳng, denormalized nối trực tiếp vào fact → sơ đồ hình sao.
- Ưu: truy vấn ít JOIN, đơn giản, nhanh cho phân tích/BI; dễ hiểu.
- Nhược: bảng chiều dư thừa dữ liệu (lặp thông tin).
Snowflake schema: bảng chiều được chuẩn hóa (normalized) thành nhiều bảng con phân cấp (vd chiều sản phẩm tách thành sản phẩm → danh mục → nhóm) → sơ đồ như bông tuyết.
- Ưu: ít dư thừa, tiết kiệm dung lượng, dễ bảo trì chiều lớn.
- Nhược: nhiều JOIN hơn → truy vấn phức tạp và có thể chậm hơn.
Trái với OLTP (chuẩn hóa cao để ghi an toàn), OLAP thường cố ý denormalize để đọc/aggregate nhanh → star schema là mặc định phổ biến; dùng snowflake khi chiều rất lớn/phân cấp rõ và cần giảm dư thừa.