一个小项目( 1000 个用户左右),直接使用 SQLite 合不合适呢?
|  |      1xuanbg      2021-01-26 08:50:02 +08:00 合适 | 
|  |      2way2explore2      2021-01-26 08:50:08 +08:00 if 1000 users are all online at the same time, definetely not. | 
|  |      3qping      2021-01-26 08:51:44 +08:00 sqlite 没法支持并发写吧,只是并发读应该可以 | 
|      4stardustree      2021-01-26 08:52:03 +08:00 先试试,崩了再说呗 (●'◡'●) | 
|  |      5lynan OP 功能是用户 a 提交表单,用户 b 提交反馈。同时在线人数应该不多,用户提交表单这个行为是低频的。 | 
|  |      6lynan OP 用户 b 对用户 a 提交的表单进行反馈。 | 
|      70ZXYDDu796nVCFxq      2021-01-26 08:53:59 +08:00 via Android 合适,没问题 | 
|  |      8kaka6      2021-01-26 08:56:58 +08:00 正常没问题,并发量大时就会有问题,必竟是文件数据库,有 IO 瓶颈 | 
|  |      9havemail      2021-01-26 09:07:01 +08:00 肯定是不合适,但是如果你加个 Redis 缓存 还是可以的一试,毕竟功能简单而且 QPS 不会太高,1000 用户只是表单提交没啥并发,上线前最好是做一次压测,看看瓶颈在哪。 | 
|  |      10love      2021-01-26 09:07:29 +08:00 1000 用户同时在线都没问题 | 
|  |      11jason19659      2021-01-26 09:07:56 +08:00 没啥问题,用文件写都行 | 
|  |      12unclemcz      2021-01-26 09:08:47 +08:00 性能应该问题不大的,数据管理是个问题,sqlite 应该无法远程运维。 我自己的一个项目放云上,用 sqlite 运行了差不多一年不到的样子,后来实在是太麻烦了,每次数据运维都要登录服务器,现在换 mysql 了。 | 
|  |      14Soar360      2021-01-26 09:13:18 +08:00  1 hummm...  SQLite 是库级锁哦。 | 
|  |      15qwerthhusn      2021-01-26 09:13:29 +08:00 装个 mysql 或者 postgres 也是分分钟的事。资料也多,解决问题方便。 以后用起来使用成本肯定比 SQLLite 要低,而且万一以后扛不住了,也很好扩展 | 
|  |      16IDAEngine      2021-01-26 09:20:46 +08:00 还是别用 SQLLite 吧,管理维护太麻烦了,还不如装个 sqlserver 免费版 | 
|  |      17xyooyx      2021-01-26 09:25:29 +08:00 加一个降级方案,保证扛不住的时候数据不丢 | 
|  |      18yimity      2021-01-26 09:30:39 +08:00 sqlite 和 MySQL 在使用上没什么特别大的差别,但是 MySQL 会带来特别多的好处。 所以不清楚线上站点,总是想用 sqlite 是为了什么? | 
|      19securityCoding      2021-01-26 09:42:25 +08:00 图什么? | 
|  |      20kiracyan      2021-01-26 09:42:55 +08:00 sqlite 一般都做单机数据库的吧 | 
|  |      21misaka19000      2021-01-26 09:52:51 +08:00 这个和用户数量没关系吧,主要是看 QPS,如果 1000 个用户只有 100 个子线,而同时只有 10 个用户在进行数据操作,那么 SQLite 显然是没问题的 | 
|      22yinzhili      2021-01-26 09:59:56 +08:00 以后如果确定不需要扩展的话就可以 | 
|      23xumng123      2021-01-26 11:37:23 +08:00 via iPhone 不方便,从 sqlite 迁移到 mysql 巨麻烦,导出的脚本各种不兼容 | 
|      24lawler      2021-01-26 11:40:02 +08:00 用 H2 吧,至少有在线管理数据库。 | 
|      25roundgis      2021-01-26 11:47:13 +08:00 via Android 用了六七年了,一點問題都沒有 | 
|  |      26real3cho      2021-01-26 11:52:03 +08:00 SQL Server Express 它不香吗? | 
|  |      27opengps      2021-01-26 12:04:45 +08:00  1 这个问题,跟我当年了解云是虚拟机时候一样的感觉。 一直觉得虚拟机只是本地玩玩,然而现在的云却几乎全是虚拟机。 决定是否可以用于线上的主要因素并非大小体积等,而是看他是否能解决一些线上的问题,任何东西放在有用的地方就是好东西 | 
|  |      28bagheer      2021-01-26 12:32:27 +08:00  3 github 上有一个 rqlite 项目,用 sqlite 做存储, 做了分布式.(默认全内存) | 
|  |      29Nich0la5      2021-01-26 14:36:55 +08:00 尽量不要   sqlite 抗不住高并发 | 
|  |      30libook      2021-01-26 14:51:18 +08:00 从项目本身的靠谱性上来说,SQL 可以拿来做企业级应用的。 但数据库一大堆,各有特色,选哪个要结合你的实际需求来看。 最直观的方式就是模拟用户使用情况,然后做压测,比如你有 1000 个用户,就搞 2000 个模拟用户试试,看看能不能扛得住。 要是负载巨低,数据量超小,你搞个 yaml 自己写程序读写也成,读操作就直接在内存里操作,写操作就更新文件。 或者你还是不知道用啥合适,就用主流方案,比如 MySQL 、SQLServer 。 | 
|  |      31MrTLJH      2021-01-26 17:29:01 +08:00 via Android 目前我就在用,用户每天 1000 个左右,没并发就没问题 | 
|  |      32areless      2021-01-26 17:39:18 +08:00 via Android 这个可以跑在内存中,还能跑在显存中~用 gpu 加速 sql 只要执行的快 库锁级不是问题~直接锁电脑都没问题呀 | 
|      33c00WKmdje2wZLrSI      2021-01-26 17:42:26 +08:00 @unclemcz navicat 有个 http 隧道功能,可以远程 sqlite | 
|  |      34lithbitren      2021-01-26 17:43:20 +08:00 跑在内存里,sqlite 作为内存的持久化,怎么并发问题都不大 | 
|      35kosmgco      2021-01-26 17:58:23 +08:00  1 | 
|      36vanityfairn      2021-01-26 18:59:17 +08:00 h2,有个管理页面,哈哈哈哈。我最近也是在搞内存数据库做个人小项目。用 mysql,对个人而言嫌贵了。 | 
|  |      37ibcker      2021-01-26 20:31:09 +08:00 最好不要,不要问我是怎么直到的。。。。逃。。。 | 
|  |      38yufeng0681      2021-01-26 23:02:33 +08:00 docker 部署一个 mysql,也不繁琐啊 | 
|      39fox0001      2021-01-26 23:39:29 +08:00 via Android 老哥,对未来的自己好点,还是别… | 
|  |      40coymail      2021-01-27 01:00:26 +08:00 via iPhone 可以,但没必要 | 
|      41xy90321      2021-01-27 01:34:51 +08:00 把 sqlite 的 db 文件配置到 RAM Disk 里,然后该怎么玩就怎么玩... | 
|      42xy90321      2021-01-27 01:47:55 +08:00 但是有一个建议,不要把业务直接和 sqlite 去耦合 想办法抽象出一个 DAO 层来,然后在 DAO 里去适配具体的 DBMS 这样在绝大部分场景下,即使被迫更换 DBMS 也都是一件可控 /可预期的事情 | 
|  |      43nuk      2021-01-27 02:19:31 +08:00 可以,除非数据太多,超过 1G 就不太合适了。 | 
|      44CallMeReznov      2021-01-27 08:41:43 +08:00 1000 人属于非常极限的状态了。 | 
|  |      45lynan OP 非常谢谢上面的热心回复,昨晚切换到 MySQL 了,用的云数据库,感觉多了一层连接,比原来使用 SQLite 慢得多(+💰可以解决的问题)。 确实,在需要扩展功能的时候,SQLite 不方便维护。 | 
|      46ybzai90      2021-01-27 09:23:00 +08:00 当然可以,宝塔不就是在用嘛 | 
|      47xpresslink      2021-01-27 11:42:19 +08:00 一个小项目( 1000 个用户左右),并发用户如果 10 个毫无问题和但是 200 个差别就比较大了。 建议不要用,还是用 Mysql 或 Postgresql,不然项目增改需求,历史数据又比较多的时候就会很痛苦。 | 
|      48UserDMM      2021-01-27 18:56:40 +08:00 sqlite 这东西还是不适合那么人同时搞 |