V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
anubiskong
V2EX  ›  问与答

求一个类似 sqlite 的轻型数据库, 支持高并发

  •  
  •   anubiskong · 2014-12-05 14:04:04 +08:00 · 6503 次点击
    这是一个创建于 2731 天前的主题,其中的信息可能已经有所发展或是发生改变。
    公司做的餐饮管理软件, c#做的, 现在用的数据库是sqlite, 稍微并发高一点就搞不定了
    有没有类似的数据库产品, 安装包小, 性能消耗低, 支持比sqlite更高的高并发?
    24 条回复    2014-12-06 00:26:33 +08:00
    pichina
        1
    pichina  
       2014-12-05 14:42:10 +08:00
    上MYSQL足够你用了。
    lichao
        2
    lichao  
       2014-12-05 15:02:23 +08:00
    SQLite 做做单机版软件还凑合,做网络版简直是自虐
    anubiskong
        3
    anubiskong  
    OP
       2014-12-05 15:35:02 +08:00
    @pichina 我们的PC软件100m, 再加上mysql的280m就有400m了, 对于试用用户来说太大了
    muziling
        4
    muziling  
       2014-12-05 15:47:51 +08:00
    高并发试用需求的话,我觉得400M不算大吧。
    ytzong
        5
    ytzong  
       2014-12-05 15:55:38 +08:00
    Access
    anubiskong
        6
    anubiskong  
    OP
       2014-12-05 16:04:34 +08:00
    @muziling 100个用户里面只有两三个有高并发需求, 但是这两三个比较关键, 都是大型商户
    rrfeng
        7
    rrfeng  
       2014-12-05 16:07:45 +08:00
    高并发的部分在程序里缓存。
    royzheng
        8
    royzheng  
       2014-12-05 16:12:18 +08:00
    没说C/S还是B/S啊
    royzheng
        9
    royzheng  
       2014-12-05 16:12:43 +08:00
    不同架构方案都不一样
    anubiskong
        10
    anubiskong  
    OP
       2014-12-05 16:28:38 +08:00
    royzheng
        11
    royzheng  
       2014-12-05 16:36:18 +08:00
    部署怎么部署呢?有一个中央数据库,其他客户端连这个中央数据库?而且这个中央数据库还只能在局域网内的?
    soulteary
        12
    soulteary  
       2014-12-05 19:25:22 +08:00
    1.C/S有可能的话,简化结构,让查询更快。
    2.有可能的话,把db放内存里。
    3.写明试用版本的最高并发多少,正式版本的多少。
    4.试用版本数据量不大,用redis吧,更简单一点,M$团队编译了WIN版的。
    min
        13
    min  
       2014-12-05 20:18:55 +08:00 via iPhone
    sql server express
    skybr
        14
    skybr  
       2014-12-05 20:25:03 +08:00
    sqlite, 架个中间层, 做个简单的词法分析, 读就多读, 写就扔进队列做单写.

    MySQL就别想了, 别嫌大不大, 你把MySQL打包给用户还得给MySQL交OEM钱.
    anubiskong
        15
    anubiskong  
    OP
       2014-12-05 20:28:29 +08:00
    @royzheng 一个C一个数据库
    loading
        16
    loading  
       2014-12-05 20:42:35 +08:00 via Android
    数据不大的话,用sqlite内存方式。
    FinalDream
        17
    FinalDream  
       2014-12-05 20:47:51 +08:00
    一个客户端一个数据库还有高并发,业务逻辑好难理解……
    ashong
        18
    ashong  
       2014-12-05 21:11:04 +08:00
    sqlite 3.7.3 以后并发没有问题

    PRAGMA 设置一下page和cache
    clino
        19
    clino  
       2014-12-05 21:15:09 +08:00
    其实sqlite注意一下使用方式还是可以改善的,timeout时间设长一些,占用数据库的地方尽量短
    anubiskong
        20
    anubiskong  
    OP
       2014-12-05 22:06:05 +08:00
    @FinalDream 其实就是业务逻辑比较复杂, 高并发也是相对的
    min
        21
    min  
       2014-12-05 22:16:22 +08:00 via iPhone
    firebird也可以
    zhangshine
        22
    zhangshine  
       2014-12-06 00:00:03 +08:00
    postgresql 50多M
    lerry
        23
    lerry  
       2014-12-06 00:02:57 +08:00 via iPhone
    redis ?
    GeekGao
        24
    GeekGao  
       2014-12-06 00:26:33 +08:00
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2193 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:21 · PVG 00:21 · LAX 09:21 · JFK 12:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.