小型Web数据库的选择

2013-12-05 22:36:10 +08:00
 daiv
一直用Python + web.py + SQLite ,主要这个数据库小巧,省资源,有128m就够用。但是SQLite 写的时候有锁,导致并发大大减弱。

我该放弃SQLite ?

我的需求:数据库只做 插入和查询,不需要更新数据的。只有2个表,

请大家推荐一款,谢谢啦
想要插入的时候也可以查询呀。毕竟没有更新操作。
6621 次点击
所在节点    程序员
42 条回复
loading
2013-12-06 07:18:03 +08:00
分割为多个sqlite文件,查询前先判断在哪个文件(数据库),毕竟你只有128m
daiv
2013-12-06 08:20:24 +08:00
@clino 太感谢你了,我检查一下代码,试试你的方法。谢谢。不过,我的代码中,每次都是取出一条数据的
daiv
2013-12-06 08:20:53 +08:00
@ipconfiger 有 256 512,1G 都有呀,不是单单 128 啦
daiv
2013-12-06 08:31:05 +08:00
@tshwangq 第一次听说,请问这个适合我使用的场景么? 读+写,不update
daiv
2013-12-06 08:34:29 +08:00
@tshwangq 嗯,你介绍了好多个,我都没碰过的,这个 y_serial 我尝试一下
daiv
2013-12-06 08:34:59 +08:00
@loading 我已经分割成 三个数据库了,每个表一个数据库。。。
loading
2013-12-06 08:40:56 +08:00
把表再拆一次,如名字a-f一个
hjie
2013-12-06 08:51:56 +08:00
sqlite 写入锁 多线程下 真的很烦啊
tshwangq
2013-12-06 09:18:22 +08:00
@daiv 嘿嘿,我也是看到你这个需求很感兴趣,感觉可能有一款类似sqlite的nosql存在,所以搜索了下,其实没有实战经验。 记得updates一下你最终结果哦。
usoluyun
2013-12-06 09:49:49 +08:00
数据库写入都是有锁的吧,否则mysql也不会搞什么读写分离了吧。关键是读的时候要指定 no lock不是么?
HunterPan
2013-12-06 09:51:52 +08:00
@hjie 赞同,
yolio2003
2013-12-06 09:52:06 +08:00
非常喜欢sqlite,留名学习提高并发的方法~
uwh5ed9
2013-12-06 09:53:01 +08:00
mark
takwai
2013-12-06 09:59:48 +08:00
用 15 楼方法,或者设置一下使用 WAL 模式 http://www.sqlite.org/draft/wal.html
ipconfiger
2013-12-06 10:02:46 +08:00
WAL是好办法
ericls
2013-12-06 10:39:13 +08:00
128M还是跑sqlite吧
我之前是因为跑不动mysql才跑的sqlite
放的自己的一个小博客 有一段时间了 反正没流量 所以也就没有进一步的需求

不过楼主这种站子做大了 换大一点的服务器也是应该的吧。。。
搞点内存配合memcached redis神码的用
daiv
2013-12-06 10:51:20 +08:00
@ipconfiger wal 模式 读写不干涉,挺好的。
@takwai 要尝试一下 wal,读和写之间不会阻塞
@ericls sqlite 还是很省资源的,我还有更大的内存啦,sqlite 128够用,知识有锁。
@hjie 是呀,sqlite 要是没读写的冲突,那就很爽了
@usoluyun 读得时候 sqlite 没有锁吧
est
2013-12-06 10:58:37 +08:00
@takwai
@ipconfiger

睾科技。xiao习了!
duzhe0
2013-12-06 16:24:49 +08:00
Mysql的默认存储引擎Myisam就做到并发插入和读取。
zstxt1989
2013-12-06 20:43:53 +08:00
可以试试mongodb

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

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

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

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

© 2021 V2EX