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