Tôi có một vấn đề quyết định làm thế nào để lưu trữ dữ liệu này trong cơ sở dữ liệu của tôi. Bất kỳ đề xuất về cách tốt nhất để làm điều đó? Tôi không biết nhiều về cơ sở dữ liệu, tôi có thể thêm vào.
Tôi có dữ liệu được định dạng như vậy, nhưng thay vì 4, số lượng cột xấp xỉ 240, vì vậy mỗi ngày có 240 giá trị duy nhất được liên kết với nó:
Date/Time 200,00 202,50 205,00
2010.11.12 13:34:00 45,8214 43,8512 41,5369
2010.11.12 13:35:00 461,9364 454,2612 435,5222
Ngoài ra, các hàng được liên kết với DataSites.
Suy nghĩ đầu tiên của tôi là có một bảng như vậy: DataID (pk), DataSiteID, ParameterID, Date, Value, với một chỉ mục trên DataSite, Parameter và Date. ParameterID đề cập đến một bảng khác lưu trữ các tiêu đề cột đầu vào (200,00 202,50 205,00 ...).
Suy nghĩ thứ hai của tôi chỉ đơn giản là có một bảng với tất cả 240 cột lẻ. Tôi đã nghĩ ra một vài cách khác, nhưng chúng cũng không đạt yêu cầu.
Vấn đề tôi gặp phải với giải pháp đầu tiên của mình (không phải là vấn đề lớn như vậy, nhưng tôi không thích nó), đó là Ngày và DataSiteID sẽ được lặp lại cho tất cả 240 giá trị trong hàng đầu vào đó, vì vậy nó sử dụng khá nhiều không gian thêm.
Sẽ có khoảng 40gb dữ liệu một năm tới (ở định dạng văn bản trên) và dữ liệu sẽ được tìm kiếm theo DataSite, Parameter và Date. Lượng dữ liệu đến nhiều khả năng sẽ tăng gấp bốn lần trong một năm hoặc lâu hơn.
Bất kỳ ý tưởng tốt? Cảm ơn, James
chỉnh sửa: Đây là dữ liệu chuỗi thời gian, với các cột được đo ở các bước sóng khác nhau. Dữ liệu sẽ muốn được phân tích trong một phạm vi bước sóng tương đối hẹp. Cũng có thể có thêm các bước sóng được thêm vào tại một số điểm trong tương lai.
chỉnh sửa: Cảm ơn các bạn đã trả lời, tôi thực sự đánh giá cao nó :) Tôi nghĩ rằng tôi có thể tìm thấy thời gian để chạy một số thử nghiệm với 500gb hoặc hơn dữ liệu thử nghiệm. Tôi sẽ đăng lại với bất kỳ kết luận nào;)