有个原型产品用了 sqlite,日常有大量的写操作,大概每隔 2 秒有一次,一次有几条到十几条数据插入,基本没有读取,需要 7*24 小时工作,但对可靠性要求不算太高,允许偶尔丢数据或重启。
不知道 sqlite 能否支撑这样的服务长时间运行,有 v 友用过 sqlite 做大量数据的吗?
不知道 sqlite 能否支撑这样的服务长时间运行,有 v 友用过 sqlite 做大量数据的吗?
1
dodo20120 Aug 7, 2017
不建议,有次做了个公众号投票系统,为了方便用了 sqlite3,结果,一会就读写不进了,系统直接崩,换成 pg 后立马满血复活。
|
2
ghostheaven OP @dodo20120 用 sqlite 也是图它小,简单,发布出去部署很方便。其它的 sql db 都要开服务,建连接。
我在考虑每天分一个 db 文件,需要查询的话指定哪一天,其实有点像一种日志系统。 |
3
dodo20120 Aug 7, 2017
@ghostheaven 方便是方便,不过我只在小应用上用了,自从上次崩后,一般稍微读写多的我都换 pg 了,其实部署的话只要第一次弄好就行了,你这个每 2 秒就有一次操作,一天算下来已经不少数据了,后面数据 越来越大,不太建议使用 sqlite
|
4
oh Aug 7, 2017
不建议用 sqlite
|
5
zhangbohun Aug 7, 2017 via Android
不如试试 h2
|
6
ghostheaven OP @dodo20120 那拆分数据库呢?每天 0 点开始用新的 db 文件,这样每个应该都不会太大。
|
7
cs8425 Aug 7, 2017
有試過跟 LZ 相似的應用(node.js + sqlite3), 60 秒 1~3 筆, 2015/09/04 上線到現在,
大概 240 萬筆, db 檔大概 144MB, 沒問題 |
8
akira Aug 7, 2017
那你还真不如直接写日志
|
9
Soar360 Aug 7, 2017
|
10
mansur Aug 7, 2017
如果始终只有一个线程在读写,保证没有并发情况就可用,如果有并发就不能用,会堵塞
|
11
hjc4869 Aug 7, 2017 via Android
sqlite 没有并发就放心用。
|
12
ghostheaven OP |
13
cchange Aug 7, 2017
@ghostheaven 请教一下 请问 sqlite 是否比较成熟的数据库工具,我知道 navicat 有 navicat for sqlite,但是授权比较贵,我想在部署软件的时候放一个 GUI 的管理器,便于维护
我搜了一下 有 http://sqlitebrowser.org/ https://www.sqlite.org/cvstrac/wiki?p=ManagementTools 可惜之前听说管理工具对中文支持度比较差,DB Browser for SQLite 测试没有问题。 我主要开发语言是 C#,新手... |
14
mingweili0x Aug 8, 2017
为什么不直接写在 log 文件里,听着需求就像是日志啊
|