Đây là một câu hỏi về thiết kế kho dữ liệu. Chúng tôi đang thiết lập một kho dữ liệu chăm sóc sức khỏe và bắt đầu với 2 hệ thống nguồn chính kết hợp với khoảng 20.000 bảng và 2 TB dữ liệu. 1) Đó là dữ liệu có chiều cao 2) Chúng tôi sẽ không ảnh hưởng nhiều đến các hệ thống OLTP
Chúng tôi đã chọn một thiết kế Kimball gia tăng. Câu hỏi của tôi là, nếu tất cả các dữ liệu được dàn dựng, sau đó sắp xếp vào các phần chèn / cập nhật và đưa vào kho dữ liệu. Sau đó, dữ liệu dàn sẽ được xóa cho tải gia tăng tiếp theo.
Điều này để lại cho bạn 1 bản sao của dữ liệu.
Phương pháp khác là tăng dần nó thành dàn, sắp xếp nó vào các phần chèn / cập nhật và lưu trữ nó ở cùng định dạng với các hệ thống nguồn. Sau đó, chúng tôi sẽ kết hợp dữ liệu từ các hệ thống nguồn vào kho dữ liệu từ bản sao đầy đủ.
Điều này về cơ bản sẽ để lại cho bạn 2 bản sao của dữ liệu, một bản dưới dạng các hệ thống nguồn và 1 được tải vào kho dữ liệu thực tế.
Thực hành tốt nhất cho việc này là gì? Ban đầu tôi nghĩ tốt nhất là chỉ lưu trữ bản sao trong kho dữ liệu và xóa các bảng nguồn mỗi lần tải.
Tuy nhiên, trong trường hợp đó, nếu bạn phải quay lại kích thước hiện có và thêm một cột, bạn sẽ phải tải lại tất cả các bảng nguồn phụ thuộc. Thêm vào đó bạn sẽ mất lịch sử?
Có vẻ như thực sự không hiệu quả để lưu trữ hai lần mặc dù .... chỉ muốn một số suy nghĩ về thiết kế, kinh nghiệm của bạn và thực hành tốt nhất.
staging
dữ liệu cần thiết của tôi chứa từ một số nguồn (một số trong số đó hoạt động 24/7) và tôi không xóa dữ liệustaging
vì tôi không có lý do gì để xóa dữ liệu của dàn. À,necessary data
tức là dữ liệu sẽ được sử dụngdata-warehouse
và nếu tôi cần thêm dữ liệu, tôi sẽ ETL từ các nguồn (sự kiện thiết kế + kích thước -> chọn bảng / tệp /.../ từ nguồn).