Động cơ: InnoDB. Giai đoạn = Stage. (Chắc chắn, 1% trường hợp sử dụng sẽ tốt hơn với thứ khác, nhưng trường hợp của bạn dường như không cho thấy nhu cầu về một công cụ khác.)
Snowflake: Khủng khiếp, đặc biệt nếu bạn cần tìm kiếm trên một "phạm vi". Vui lòng cung cấp lược đồ (tốt hơn qua HIỂN THỊ TẠO BẢNG
); Tôi sẽ cụ thể hơn. (Vậy thì tôi có thể đồng ý rằng Snowflake là tốt, nhưng tôi nghi ngờ điều đó.)
Lược đồ sao -- Tốt. Bình thường hóa các chuỗi chung: tốt. Bình thường hóa các giá trị 'liên tục' (ngày, số nguyên, số float): không hợp lệ. Nhưng mục đích là để tiết kiệm dung lượng đĩa, do đó tăng tốc một số truy vấn.
10GB/năm -- nghe có vẻ trung bình là "vài" hàng mỗi giây. Nặng, nhưng không nặng khủng khiếp. Đó là, quá trình xử lý ETL không giống như bạn cần trợ giúp.
Kho dữ liệu -- http://mysql.rjweb.org/doc.php/datawarehouse
Làm sạch dữ liệu cũ -- Đây là một trong số ít cách sử dụng cho PHÂN VÙNG
. http://mysql.rjweb.org/doc.php/partitionmaint
Việc chia thành các bảng riêng biệt được lưu trữ trực tuyến -- có thể gây rắc rối nhưng mang lại rất ít lợi ích.
Báo cáo chi phí -> Bảng tổng hợp http://mysql.rjweb.org/doc.php/summarytables Bảng tóm tắt nhỏ hơn nhiều so với bảng Sự kiện; nó thậm chí có thể chấp nhận được để không chuẩn hóa.
Columnstore -- Một điểm cộng lớn là khả năng nén đáng kể mà nó mang lại. Nhưng tôi không thấy 50GB của bạn là lớn lắm. Một lợi ích khác của CS là tự động "lập chỉ mục" cho mọi cột. Tuy nhiên, chỉ một cột có thể được sử dụng để tra cứu hiệu quả ở hai cấp độ.
4 lõi -- rất nhiều cho InnoDB; nhiều lõi hơn sẽ hữu ích cho CS.
RAM 32 GB -- Chỉ với 50 GB dữ liệu và 10 GB/năm -- Nếu tất cả những gì bạn làm là xem dữ liệu của năm gần nhất, thì 32 GB là quá đủ. Nếu bạn thường xuyên quét hết 50GB, thì sẽ có rất nhiều I/O. Nếu bạn triển khai Bảng Tóm tắt, thì 32 GB là quá mức cần thiết cho hầu hết các hoạt động. (Bảng Tóm tắt có thể dưới 10 GB và quay trở lại phần đầu của dữ liệu; do đó rất dễ lưu vào bộ nhớ đệm.)
32GB + CS -- 50GB của bạn sẽ trở thành khoảng 5GB. (Nhưng tôi không biết liệu 32 có quá mức cần thiết hay không.)
Ổ cứng so vớiSSD -- SSD nhanh hơn đáng kể.
Điểm mấu chốt (và ngân sách) -- Các kỹ thuật được đề cập ở trên có thể giữ cho InnoDB trên 32GB hoạt động tốt trong vài năm.