我有一个系统,通过HTTP从不同的地方接收日志文件(>10k个生产者,每天10个日志,每个日志约100行文本)。
我想要将它们存储起来,以便每晚能够对它们进行各种统计,并导出它们(按到达日期或第一行内容排序)...
我的问题是:最佳的存储方式是什么?
- 使用平面文本文件(带有适当的锁定),每个上传的文件一个文件,每个生产者一天一个目录
- 使用平面文本文件,每天为所有生产者使用一个(大)文件(此处问题在于索引和锁定)
- 使用包含文本的数据库表(由于内部原因,MySQL更受欢迎)(删除时可能会出现问题,因为删除可能非常耗时!)
- 使用每行文本一个记录的数据库表
- 使用分片的数据库(每天一张表),允许简单的数据清理。(这是分区。但是我可以访问的mysql版本(即内部支持的)不支持它)
- 使用类似couchdb或mongodb的基于文档的数据库(问题可能出在索引/成熟度/摄入速度上)
有什么建议吗?