有没有支持多进程的 key/value 数据库?

2014-05-18 22:03:27 +08:00
 wuxqing
找了一圈,都是单进程的
TokyoCabinet
KyotoCabinet
leveldb
6380 次点击
所在节点    问与答
15 条回复
timonwong
2014-05-18 22:09:30 +08:00
什么叫支持多进程?
lambdaT
2014-05-19 00:51:23 +08:00
TC 多线程的吧,可能大家一致认为,查询是很快的,慢的是IO
YouXia
2014-05-19 01:18:54 +08:00
应该是多线程吧,redis也是支持的。
msg7086
2014-05-19 07:39:44 +08:00
单进程效率高。数据库是大家共享的,多进程很难保证atomic之类的问题吧。线程数少其实不一定就慢的。
nybux
2014-05-19 08:20:15 +08:00
bdb
wuxqing
2014-05-19 08:33:54 +08:00
@timonwong 多个程序读写一个kv db
Mutoo
2014-05-19 08:53:11 +08:00
erlang 的 ETS/DETS 数据库,天生支持多线程。
wuxqing
2014-05-19 09:20:26 +08:00
@Mutoo
我的需求不是多线程,是多进程
feilaoda
2014-05-19 09:22:57 +08:00
TokyoCabinet + Tokyo Tyrant


难道redis不满足要求?
timonwong
2014-05-19 10:03:21 +08:00
@wuxqing
你的也就是类似于embedded kv db吧,然后支持读写同一个db文件?

我就只想到 bdb 了,不知道为何你有如此需求?
wuxqing
2014-05-19 10:28:52 +08:00
@timonwong
是embedded kv db,是在安卓上使用。有多个apk要读写同一个db。原先是用的sqlite,但是速度慢,想改用kv db。
bdb性能咋样?
webflier
2014-05-19 10:31:38 +08:00
市面上有一大把standalone的kv store啊。
如果你一定要用embedded kv db,那么只能自己再包一层了。比如多个客户端通过rabbitmq跟你的keyvalue store交互。
webflier
2014-05-19 10:32:56 +08:00
@wuxqing 你要在安卓上用。。。请无视我的回答。。。。
Ever
2014-05-19 10:34:05 +08:00
berkeleydb现在是AGPL协议, 做产品不合适吧.
Mutoo
2014-05-19 23:18:12 +08:00
@wuxqing 嗯,是我表达错了,erlang是多进程的,甚至可以是分布式的。

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

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

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

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

© 2021 V2EX