Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Snowflake Schema (Sơ Đồ Tuyết Rơi) Là Gì?


Snowflake schema là biến thể của mô hình star schema, nơi một số dimension tables được chuẩn hóa, bằng cách chia thêm bản ghi vào các bảng bổ sung. Đồ thị lược đồ phát triển hình thành hình dạng tương đương bông tuyết.

Snowflake schema là mở rộng của star schema nơi mỗi điểm của ngôi sao nhánh ra thành nhiều điểm hơn. Được gọi là snowflake schema vì sơ đồ giống bông tuyết. Snowflaking là phương pháp chuẩn hóa dimension tables trong STAR schemas. Khi nó chuẩn hóa hoàn toàn tất cả dimension tables, cấu trúc kết quả mô phỏng bông tuyết với fact table ở giữa.

Snowflaking có thể cải thiện hiệu suất của một số truy vấn cụ thể. Lược đồ được sắp xếp với mỗi fact được bao quanh bởi các dimension liên quan, và những dimension đó liên kết với dimension khác, nhánh ra thành mẫu bông tuyết.

Snowflake schema bao gồm một fact table kết nối với nhiều dimension tables, có thể kết nối với dimension tables khác qua quan hệ many-to-one. Các bảng trong snowflake schema thường được chuẩn hóa đến dạng chuẩn thứ ba (3NF). Mỗi dimension table thực hiện chính xác một cấp độ trong phân cấp.

Star schema lưu trữ tất cả thuộc tính cho một dimension vào một bảng phi chuẩn hóa. Điều này yêu cầu không gian đĩa nhiều hơn snowflake schema chuẩn hóa hơn. Snowflaking chuẩn hóa dimension bằng cách thay đổi thuộc tính với cardinality thấp thành các dimension tables riêng biệt liên kết với dimension table chính bằng khóa ngoại. Mục đích của snowflake là giảm thiểu không gian đĩa, tuy nhiên không được khuyến khích vì có thể ảnh hưởng tiêu cực đến thực thi truy vấn.

Trong snowflake schema, các bảng được chuẩn hóa để loại bỏ dư thừa. Dimension tables được chia thành nhiều dimension tables.

Snowflake schema được tạo ra để truy vấn linh hoạt trên các chiều phức tạp và mối quan hệ hơn. Phù hợp cho quan hệ many-to-many và one-to-many giữa các cấp độ dimension.

Ưu điểm của Snowflake Schema

  • Ưu điểm chính: cải thiện hiệu suất truy vấn nhờ giảm lưu trữ đĩa cần thiết và join các lookup tables nhỏ hơn.
  • Hỗ trợ khả năng mở rộng cao hơn trong mối quan hệ giữa các cấp độ và thành phần dimension.
  • Không có dư thừa, nên dễ bảo trì hơn.

Nhược điểm của Snowflake Schema

  • Nhược điểm chính: nỗ lực bảo trì thêm do số lượng lookup tables tăng. Còn gọi là multi-fact star schema.
  • Truy vấn phức tạp hơn, do đó khó hiểu hơn.
  • Nhiều bảng hơn, nhiều join hơn, thời gian thực thi truy vấn lâu hơn.