ghostheaven
V2EX  ›  问与答

sqlite 可否应对大量数据

  •  
  •   ghostheaven · Aug 7, 2017 · 4707 views
    This topic created in 3375 days ago, the information mentioned may be changed or developed.
    有个原型产品用了 sqlite,日常有大量的写操作,大概每隔 2 秒有一次,一次有几条到十几条数据插入,基本没有读取,需要 7*24 小时工作,但对可靠性要求不算太高,允许偶尔丢数据或重启。

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

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

    SQLite 单表 4 亿参数调整合适的话,每秒插入 2W 没问题。
    mansur
    mansur
    Aug 7, 2017
    10
    如果始终只有一个线程在读写,保证没有并发情况就可用,如果有并发就不能用,会堵塞
    hjc4869
    hjc4869
    Aug 7, 2017 via Android
    11
    sqlite 没有并发就放心用。
    ghostheaven
    ghostheaven
    OP
    Aug 7, 2017
    12
    @mansur 那我就放心地分表了,预计每天数据库也就是 200M 左右

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

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

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

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

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

    我主要开发语言是 C#,新手...
    mingweili0x
    mingweili0x
    Aug 8, 2017
    14
    为什么不直接写在 log 文件里,听着需求就像是日志啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5288 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 01:23 · PVG 09:23 · LAX 17:23 · JFK 20:23
    ♥ Do have faith in what you're doing.