我有来自各种各样的传感器的输入,每个传感器只产生一两行输入,所以每个传感器创建一个新的容器是没有意义的。数据以不应丢失的顺序出现,因此,我已经考虑在输入行来时枚举它们,并相应地分配编号。然后,我想提供关于数据输入之间的间隔的更多信息。在最初将id调整为不再是顺序之后,我现在考虑将时间戳作为行键,并在将数据写入行时只分配它们。我在其他数据库中发现,这可能会导致问题,因为现在的数据包含的信息在技术上并不直接与之相关。
因此,从本质上说,行键是由:gsSetRowFieldByTimestamp(row, 0, gsCurrentTime());使用所述的时间函数为timeseries提供行键是否合适?除了可能明显的问题外,任何可预见的问题都会有效地阻碍gsCurrentTime()的解决?
发布于 2020-07-15 14:13:53
首先,即使传感器只有几列,我认为数据模式仍然应该是每个设备的一个容器。是的,这似乎是浪费,但这是GridDB的方式。如果使用集群,GridDB需要多个容器来在其节点之间划分数据。使用多查询将消除应用程序读取端的任何性能问题。
现在,如果您坚持使用单一容器,那么重要的是要注意您的数据收集器必须是单线程的,以避免理论上的行键冲突,是的,在Java中使用gsCurrentTime()或TimestampUtils.current。
https://stackoverflow.com/questions/62805852
复制相似问题