軟體工程師的小事:到底要不要 Close

資料匯入系統的經驗談 | 2019 鐵人賽

這是一個 將多個來源的外部資料 匯入到資料庫並進行分析的情境

  • 總資料大小為 3GB
  • 資料更新頻率為每月一次
  • 資料傳遞接使用 CSV 文字檔

因資料量過大無法透過網際網路每月提供最新的全部資料 第一次手動提供後每個月僅提供異動資料

再依每個月異動後的資料進行分析 將分析結果儲存到對應資料表中

執行一段時間後

因不同來源可能會有不同時間點提供的問題 造成分析結果無法在每個月預計的時間中執行完畢

應考慮將原始 CSV 文字檔儲存到資料表 再進行更新 異動檔內容也因進入資料表

應將每個月的資料結果進行儲存 而不是取得異動檔後 將原本的資料表狀態更新為最新版本

如下

Date        Column
2019/01        ...
2019/01        ...
2019/01        ...

2019/02        ...
2019/02        ...
2019/02        ...

這樣子就算時間點已經逾時 也可以取得到當時狀態進行分析 就不會有時間點已經超過無法分析的問題

若會擔心資料量過大 可以將一段時間後的資料進行封存作業

留言