Video: Học lập trình Web A-Z - Nhập môn CSDL - Bài 03 - Tối ưu cơ sở dữ liệu về tốc độ khi đọc báo cáo 2025
Môi trường lưu trữ dữ liệu của bạn kho dữ liệu sẽ có nguồn cấp dữ liệu có thể có nhiệm vụ tạo ra một bộ báo cáo hữu hạn và có thể dự báo. Đây là một cách tiếp cận để thiết kế một cơ sở dữ liệu quan hệ để hỗ trợ cho nhiệm vụ này, được xây dựng dựa trên nguyên tắc denormalization cơ sở dữ liệu , hoặc cố tình vi phạm các nguyên tắc thiết kế cơ sở dữ liệu quan hệ tốt vì lợi ích hiệu quả.
Denormalization phù hợp nhất cho các giải pháp nhanh , trong đó bạn phải có một kho dữ liệu quan hệ có quy mô nhỏ hoặc một Data Mart và chạy nhanh. Ví dụ: bạn có thể tạo một cơ sở dữ liệu quan hệ denormalized cho một điều khoản cụ thể để sản xuất một bộ báo cáo nào đó mà sẽ không còn tồn tại do nỗ lực di chuyển hệ thống kế thừa.
Mặc dù denormalization không phải là một kết thúc chết, nó tạo ra rất nhiều dữ liệu trùng lặp, và các cấu trúc cơ sở dữ liệu bạn tạo ra không có nhiều tính linh hoạt. Ngoài ra, bạn có thể có các khả năng truy vấn hạn chế (ngoài các báo cáo chuẩn của bạn) vì những tính năng này gắn chặt với cấu trúc báo cáo được chính thức hoá trong thiết kế bảng. Tuy nhiên, bạn có thể muốn kiểm tra cách tiếp cận này.
Để hỗ trợ định dạng báo cáo được hiển thị ở cuối hình, các cấu trúc nguồn được ánh xạ vào một bảng denormalized mà từ đó báo cáo có thể được tạo ra mà không cần phải tham gia bất kỳ bảng nào. (Để đơn giản hơn, báo cáo của bạn chạy rất nhanh):
Một ví dụ trong thế giới thực sẽ đòi hỏi nhiều bảng khác (từ 10 đến 50 hoặc nhiều hơn) và nhiều báo cáo hơn thể hiện trong hình. Tuy nhiên, con số này nên có ý tưởng. Ngoài ra, bạn có thể muốn làm theo các nguyên tắc và kỹ thuật của thiết kế chiều. Vì RDBMS bây giờ có ít rắc rối hơn đối với các cấu trúc theo chiều hướng hơn so với trước đây, bạn có thể đạt được hiệu suất phù hợp với nhu cầu báo cáo của mình và vẫn có sự linh hoạt để hỗ trợ nhiều truy vấn theo yêu cầu đa chiều. Đối với việc triển khai nhanh chóng theo định hướng báo cáo, tuy nhiên, ít nhất xem xét việc thiết kế dựa trên denormalization cho dữ liệu quan hệ.