在我建立的在線訂票系統中,我需要爲客戶添加訂單的實時分析報告。使用非規格化數據庫表進行分析數據
重要的訂單數據分爲多個表格(客戶,訂單,line_items,package_types,票據)。每個表格都包含對我的客戶可能需要的任何報告都不重要的附加數據。
我正在考慮在非規格化報表中將每個訂單記錄爲單獨的訂單項。我試圖弄清楚這是否合理。
通常,我爲報表運行的查詢只需要一次連接兩個或三個表。每個表格都添加了適當的索引。
將所有訂單數據編譯成只包含必要的報表列的表是否有意義?
該應用程序建立在Ruby on Rails 3上,DB是Postgresql。
編輯:這樣做的目標是儘可能快地爲用戶呈現瀏覽器中的數據。
從規範化數據獲取報告的速度有多慢? – Mark
我還沒有做過任何確切的基準測試,但只需計算從開始請求到完成時的秒數,大約需要20秒或更長時間才能從規範化數據呈現頁面。這比我想要的要長一點。 –