记录大量数据的注意事项

时间:2017-06-11 19:23:18

标签: java logging scalability

我正在设计一个记录大量数据的设计。数据的典型大小约为1Kb-10Kb。我的意思是高容量,它可以达到每秒10000个数据点。所以如果我考虑每小时的最坏情况,数据可以记录多达10000 * 10 * 60 * 60B或360Mb。我可以使用日志轮换,以便它不会超过阈值。但是可以做出的其他选择这个数字下降得更多。我可以尝试压缩但是我应该放弃日志可读性。或者我只能维护每个数据的元数据。我可以尝试哪些其他技术以及利弊是什么?

1 个答案:

答案 0 :(得分:0)

几年前我们在智能手表产品上遇到了类似的问题。由于器件RAM非常低(嵌入式系统的典型特性),我们采用了以下技术: -

  1. 保存到文件系统 - 只要大小超过阈值,就将数据写入持久性文件系统 - 这甚至可以基于时间来完成,因为您说您有可预测性关系日志大小随时间的变化

  2. 上传到云 - 如果设备上的存储成为问题 - 您也可以考虑将日志数据发布到云服务器

  3. 优化日志数据 - 这可能很棘手 - 尝试尽可能少地记录每个周期 - 意味着定义一种格式来捕获数据点而不是文本。这意味着日志的解释也必须有一点解析器 - 这是你需要考虑的权衡 示例考虑基于位置的日志: -
    纬度:100.23;经度:23.87;身高:233;时间戳:1875340
    这可以简化为: -
    [100.23,23.87,233,1875340]
    如此高的体积,这些和那里的小部分将提供大量节省

  4. 一切顺利!