sqlite 可否应对大量数据

2017-08-07 12:58:17 +08:00
 ghostheaven
有个原型产品用了 sqlite,日常有大量的写操作,大概每隔 2 秒有一次,一次有几条到十几条数据插入,基本没有读取,需要 7*24 小时工作,但对可靠性要求不算太高,允许偶尔丢数据或重启。

不知道 sqlite 能否支撑这样的服务长时间运行,有 v 友用过 sqlite 做大量数据的吗?
3813 次点击
所在节点    问与答
14 条回复
dodo20120
2017-08-07 13:07:01 +08:00
不建议,有次做了个公众号投票系统,为了方便用了 sqlite3,结果,一会就读写不进了,系统直接崩,换成 pg 后立马满血复活。
ghostheaven
2017-08-07 13:18:27 +08:00
@dodo20120 用 sqlite 也是图它小,简单,发布出去部署很方便。其它的 sql db 都要开服务,建连接。

我在考虑每天分一个 db 文件,需要查询的话指定哪一天,其实有点像一种日志系统。
dodo20120
2017-08-07 13:21:47 +08:00
@ghostheaven 方便是方便,不过我只在小应用上用了,自从上次崩后,一般稍微读写多的我都换 pg 了,其实部署的话只要第一次弄好就行了,你这个每 2 秒就有一次操作,一天算下来已经不少数据了,后面数据 越来越大,不太建议使用 sqlite
oh
2017-08-07 13:33:09 +08:00
不建议用 sqlite
zhangbohun
2017-08-07 13:35:30 +08:00
不如试试 h2
ghostheaven
2017-08-07 13:36:51 +08:00
@dodo20120 那拆分数据库呢?每天 0 点开始用新的 db 文件,这样每个应该都不会太大。
cs8425
2017-08-07 14:34:46 +08:00
有試過跟 LZ 相似的應用(node.js + sqlite3), 60 秒 1~3 筆, 2015/09/04 上線到現在,
大概 240 萬筆, db 檔大概 144MB, 沒問題
akira
2017-08-07 14:39:00 +08:00
那你还真不如直接写日志
Soar360
2017-08-07 14:48:26 +08:00
http://www.cnblogs.com/nnhy/p/BigData.html

SQLite 单表 4 亿参数调整合适的话,每秒插入 2W 没问题。
mansur
2017-08-07 15:01:25 +08:00
如果始终只有一个线程在读写,保证没有并发情况就可用,如果有并发就不能用,会堵塞
hjc4869
2017-08-07 15:01:54 +08:00
sqlite 没有并发就放心用。
ghostheaven
2017-08-07 15:53:09 +08:00
@mansur 那我就放心地分表了,预计每天数据库也就是 200M 左右

@hjc4869
@mansur 没有并发,基于 Node.js ,跟 @cs8425 一样,只是频率高一些。

@akira 日志的查找不方便,偶尔需要回顾查找历史数据,并做一些简单的计算和筛选。

多谢楼上各位了~
cchange
2017-08-07 23:52:04 +08:00
@ghostheaven 请教一下 请问 sqlite 是否比较成熟的数据库工具,我知道 navicat 有 navicat for sqlite,但是授权比较贵,我想在部署软件的时候放一个 GUI 的管理器,便于维护

我搜了一下 有 http://sqlitebrowser.org/
https://www.sqlite.org/cvstrac/wiki?p=ManagementTools

可惜之前听说管理工具对中文支持度比较差,DB Browser for SQLite 测试没有问题。

我主要开发语言是 C#,新手...
mingweili0x
2017-08-08 01:23:27 +08:00
为什么不直接写在 log 文件里,听着需求就像是日志啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/381024

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX