![](/img/trans.png)
[英]What is the best approach to create multiple xml elements with same name with Java?
[英]What is the best approach to create aggregation tables?
我每1秒钟收集一次数据,并将其存储在hsqlDB中。 我需要在收集的数据中的每个指标上拥有聚合数据(每15秒,1分钟等)。 什么是计算聚合值的最佳方法? 什么时候存储在数据库中? 我应该在线计算值,并在数据库中每15秒存储一次? 还是可以查询数据库以获取最后的结果并计算它们的汇总值? 我应该使用小聚合(15秒)来计算大聚合(1分钟)吗? 有免费的Java工具吗?
根据以前的经验,我建议使用实时数据库,该数据库可能与处理时间序列的内置功能无关。 这样,您应该能够避免存储计算出的聚合数据。 使用关系数据库,您将很快获得数百万行的记录,这些行将很难管理且访问缓慢。 另一个选择是对数据进行非规范化,并将每1小时的数据存储在BLOB列(二进制格式)中的一行中。
您可以使用HSQLDB是MVCC模式进行并发读写。
如果原始数据表具有索引的时间戳列,则使用SELECT语句对范围进行聚合计算非常快。 因为带有聚合计算的SELECT语句是同时发生的,所以您可以使用单独的线程每1秒和每15秒执行一次操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.