程序日志,日均 300-500 条,不定期(约每周两次)会爆发到 1500 条。需要做到日志持久化,持续时间至少一年,也就是约 15 万条。(不用 txt/log 是因为有时候需要进行统计、计算等) 默认采用 LevelDB ,毕竟是查少写多的场景,再加上长久依赖和习惯,旧项目一直没改动,延续了下来。最近开新项目,我一想,存日志不应该上 SQLite 吗?总有需要表格化、关系化查找的时候。用 SQLite 直接读数据库就好了,用 LevelDB 外面还得再套一层。 现在举棋不定,用 LevelDB 可以直接套娃,但是最后统计和计算的时候,还是会苦了自己;用 SQLite 要重写很多东西,但是会方便后期使用。觉得两个都好,两个都想要,可是成年人知道,两个都要,身体受不了。 sqlite, LevelDB, 日志, 持久化
SqLite 是运行在客户端的轻量数据库,并没有指明是存储日志的。所以你的程序是跑在客户端的吗? 如果程序是跑在服务器上的,1 年就存十几万条日志,那可以有很多方案啊,mysql/mongodb/postgreSQL 。