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

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

  •  
  •   wuxqing · 2014-05-18 22:03:27 +08:00 · 6476 次点击
    这是一个创建于 3840 天前的主题,其中的信息可能已经有所发展或是发生改变。
    找了一圈,都是单进程的
    TokyoCabinet
    KyotoCabinet
    leveldb
    15 条回复    2014-05-19 23:18:12 +08:00
    timonwong
        1
    timonwong  
       2014-05-18 22:09:30 +08:00
    什么叫支持多进程?
    lambdaT
        2
    lambdaT  
       2014-05-19 00:51:23 +08:00
    TC 多线程的吧,可能大家一致认为,查询是很快的,慢的是IO
    YouXia
        3
    YouXia  
       2014-05-19 01:18:54 +08:00 via Android
    应该是多线程吧,redis也是支持的。
    msg7086
        4
    msg7086  
       2014-05-19 07:39:44 +08:00
    单进程效率高。数据库是大家共享的,多进程很难保证atomic之类的问题吧。线程数少其实不一定就慢的。
    nybux
        5
    nybux  
       2014-05-19 08:20:15 +08:00
    bdb
    wuxqing
        6
    wuxqing  
    OP
       2014-05-19 08:33:54 +08:00
    @timonwong 多个程序读写一个kv db
    Mutoo
        7
    Mutoo  
       2014-05-19 08:53:11 +08:00
    erlang 的 ETS/DETS 数据库,天生支持多线程。
    wuxqing
        8
    wuxqing  
    OP
       2014-05-19 09:20:26 +08:00
    @Mutoo
    我的需求不是多线程,是多进程
    feilaoda
        9
    feilaoda  
       2014-05-19 09:22:57 +08:00
    TokyoCabinet + Tokyo Tyrant


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

    我就只想到 bdb 了,不知道为何你有如此需求?
    wuxqing
        11
    wuxqing  
    OP
       2014-05-19 10:28:52 +08:00
    @timonwong
    是embedded kv db,是在安卓上使用。有多个apk要读写同一个db。原先是用的sqlite,但是速度慢,想改用kv db。
    bdb性能咋样?
    webflier
        12
    webflier  
       2014-05-19 10:31:38 +08:00
    市面上有一大把standalone的kv store啊。
    如果你一定要用embedded kv db,那么只能自己再包一层了。比如多个客户端通过rabbitmq跟你的keyvalue store交互。
    webflier
        13
    webflier  
       2014-05-19 10:32:56 +08:00
    @wuxqing 你要在安卓上用。。。请无视我的回答。。。。
    Ever
        14
    Ever  
       2014-05-19 10:34:05 +08:00
    berkeleydb现在是AGPL协议, 做产品不合适吧.
    Mutoo
        15
    Mutoo  
       2014-05-19 23:18:12 +08:00
    @wuxqing 嗯,是我表达错了,erlang是多进程的,甚至可以是分布式的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2745 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:43 · PVG 20:43 · LAX 04:43 · JFK 07:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.