2016-08-27 22 views
0

存儲用於顯示圖形的度量標準數據的最佳方式是什麼?存儲用於圖形的度量標準數據的最佳方法

目前我有一個表analytics(domain::text, interval_in_days::int, grouping::text, metric::text, type::text, labels[], data[], summary::json)

domain是指標的總體範疇。就像他們所處的應用程序的一部分一樣。可能是salessupport

interval_in_daysgrouping被「視圖選項」最終用戶可以在接口級指定爲具有數據點的不同視圖。

grouping可以dateday_of_weektime_of_day interval_in_days可以7, 30 or 90

labels是標籤的在x軸的陣列和data是對應的數據點。

typedata_seriessummary。如果data series,行表示的用於圖形繪製的數據,而summary具有summary:json字段與物體填充像{total_number_of_X: 132, median_X: 320.. etc}

metric僅僅是對應的圖表示度量,所以有對的每個值的單獨的圖形因此,對於每個顯示的度量/圖形,我有9個(3個區間* 3個分組)。對於每個domain我有一個單行與summary類型。

每隔幾個小時我就會將多個表中的大量數據彙總到分析表中。所以我不必執行昂貴的查詢adhoc。

我覺得這不是最佳方法,所以我真的很感興趣看到其他人如何完成相同的任務或任何建議。

回答

0

存儲9行原始數據並將它們聚合到更舒適的東西沒有任何問題。這是一種常用方法,在某些情況下具有性能優勢。

我在設計中會真正重新考慮的是數據類型。從您的描述看來,您可以將所有::text字段轉換爲類似::varchar(20)的字段。然後,您可以在這些列上使用STORAGE PLAIN,並且您的表格將變得更加高效。

另外,考慮添加外鍵來描述存儲在各個列中的內容。例如,您聲明grouping可以是dateday_of_weektime_of_day,因此您可以使用groupings表來列出這些選項。但是,外鍵還需要被索引覆蓋,所以您可能會因爲性能原因而想跳過這一點。

相關問題