我有一个系统,该系统通过http(> 10k生产者,每天10个日志,每个〜100行文本)从不同的地方接收日志文件。
我想存储它们以便能够计算杂项。每晚对其进行统计,将其导出(按到达日期或第一行内容排序)...
我的问题是:什么是最好的存储方式?
有什么建议吗?
最佳答案
我会选择第一个解决方案。
我不明白您为什么根本需要DB。似乎您只需要浏览数据即可。将日志保持在最“原始”状态,然后对其进行处理,然后每天创建一个tarball。
聚合的唯一原因是减少文件数量。在某些文件系统上,如果在目录中放置N个以上的文件,则性能会迅速下降。检查您的文件系统,如果是这种情况,则组织一个简单的2级层次结构,例如,使用生产者ID的前2位数字作为第一级目录名称。