【发布时间】:2021-05-20 15:32:46
【问题描述】:
我想将时间序列数据存储到 postgresql 中。数据通过 http 请求(使用 Django)进入 json 包。格式如下:
{
"2018-01-01 21:44": 53.2,
"2018-01-01 21:48": 51.7,
"2018-01-01 21:52": 48.5,
...
}
我通常每天为每个注册的设备获取大约 700-800 个值。这并不多,我决定将所有值存储到一个 json 字段中(因为它可以容纳高达 1GB 的数据)。
但是我需要对这些数据进行切片(例如,从 2018 年 3 月到 2019 年 4 月,或任何其他任意 - 由用户选择 - 间隔),我认为检索整个 json 字典并不是最佳选择并在我的应用程序中制作切片。我认为切片应该在 Postgres 中完成。
我已经读到关于性能 JSONB 更好,但它不保留密钥排序(即时间戳)——所以,我猜在优先选择单个记录的情况下,JSONB 是首选。我说的对吗?
应用程序有一些实时用途(在实时 Web 应用程序上观察数据变化),因此性能至关重要。
请记住,我的时间戳数据中没有重复的键。
我倾向于 JSON 而不是 JSONB。但是我对此不太确定。
你有什么建议?
【问题讨论】:
标签: json postgresql