【发布时间】:2023-03-08 13:19:01
【问题描述】:
存储用于显示图表的指标数据的最佳方式是什么?
目前我有一张桌子analytics(domain::text, interval_in_days::int, grouping::text, metric::text, type::text, labels[], data[], summary::json)
domain 是指标的整体类别。就像他们在应用程序的哪个部分一样。可以是sales 或support 等。
interval_in_days 和grouping 是“视图选项”,最终用户可以在界面级别指定以对数据点有不同的视图。
grouping 可以是date、day_of_week 或time_of_day
interval_in_days可以是7, 30 or 90
labels 是 x 轴上的标签数组,data 是对应的数据点。
type 是 data_series 或 summary。如果data series,该行表示用于绘制图形的数据,而summary 的summary:json 字段填充有{total_number_of_X: 132, median_X: 320.. etc} 之类的对象
metric 只是对应图表所代表的指标,因此metric 的每个值都有一个单独的图表
由此可知,对于我显示的每个指标/图表,我有 9 个(3 个区间 * 3 个分组)。对于每个domain,我有一个类型为summary 的单行。
每隔几个小时,我就会将多个表中的大量数据汇总到分析表中。所以我不必执行昂贵的查询。
我觉得这不是最佳方法,所以我真的很想看看其他人如何完成相同的任务或任何建议。
【问题讨论】:
标签: postgresql database-design