求各位大大推荐一个 key- value 数据库。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
forbreak
V2EX    问与答

求各位大大推荐一个 key- value 数据库。

  forbreak 2016-11-03 16:22:52 +08:00 3629 次点击
这是一个创建于 3264 天前的主题,其中的信息可能已经有所发展或是发生改变。

求推荐一个 key - value 数据库,数据量可能会上亿。会做查询和删除操作。 顺便再问一下 有没有支持这种数据结构的。

原始的数据如下: (key1->key2->key3)->value 根据上面 3 个 key 加起来才可以查到 value add key4 添加一个 key 的时候变成下面这样 (key1->key2->key3->key4)->value remove key3 删除一个 key 的时候变成这样 (key1->key2->key4)->value 可以很快速的变化 key 。 
第 1 条附言    2016-11-03 17:01:58 +08:00
一般情况下, value 是不会变化的。所以不会有更新操作。
16 条回复    2016-11-03 20:49:21 +08:00
fredcc
    1
fredcc  
   2016-11-03 16:38:57 +08:00
直接把 key1-key4 拼接起来做 key 会有问题么
alittletrain
    2
alittletrain  
   2016-11-03 16:39:19 +08:00
mysql 5.7 支持 json
peter999
    3
peter999  
   2016-11-03 16:40:25 +08:00
pg 也是选项之一
murmur
    4
murmur  
   2016-11-03 16:42:36 +08:00
你这个属于很典型的给 item 打 tag 的功能 这种东西感觉用 lucene 这种倒排索引还快一些
另外,任何数据库删除都是个需要考虑的功能,毕竟涉及重建索引
Kilerd
    5
Kilerd  
   2016-11-03 16:50:17 +08:00
没看懂,大概就是类似指针这样连来连去??
forbreak
    6
forbreak  
OP
   2016-11-03 16:59:53 +08:00
感谢回答,连起来没有问题,如果 key 改变的时候需要数据全部删除在入一遍。 如果有这种直接可以去掉的当然更好点了。
forbreak
    7
forbreak  
OP
   2016-11-03 17:04:44 +08:00
@Kilerd 只是 key 是有多个不同的值组合成的。 然后可能 key 的值会突然去掉 组合中的某一个值。 或者 集体增加一个值。 value 不变。
forbreak
    8
forbreak  
OP
   2016-11-03 17:05:25 +08:00
@fredcc 感谢回答,连起来没有问题,如果 key 改变的时候需要数据全部删除在入一遍。 如果有这种直接可以去掉的当然更好点了。
binux
    9
binux  
   2016-11-03 17:08:14 +08:00 via Android
你这样改来改去,要保证 key 唯一吗
forbreak
    10
forbreak  
OP
   2016-11-03 17:18:01 +08:00
@binux 要保证唯一,并不是频繁的更改,只是会存在这种更改。想保证改动的过程时间缩短而已。
mfu
    11
mfu  
   2016-11-03 17:50:48 +08:00
Redis 吧,序列化到硬盘。
mfu
    12
mfu  
   2016-11-03 17:51:25 +08:00
没看到『数据量可能会上亿』……
fredcc
    13
fredcc  
   2016-11-03 18:30:40 +08:00
@forbreak 删除再写入对于 key-value 数据库不一定是不可接受的方式吧
MiskoLee
    14
MiskoLee  
   2016-11-03 18:40:13 +08:00
这不符合目前主流的 KV 数据库定义啊( Key 一般都是一个 String )。
所以,这个轮子就是自己造了。

====

自己设计一个 KV 数据库( key 是一个 List )。
这样才可以在语义上满足题目的需求。
crytis
    15
crytis  
   2016-11-03 20:41:29 +08:00 via iPhone
@mfu redis 上亿数据不行吗? redis 适合的数据量大约是多少?
mfu
    16
mfu  
   2016-11-03 20:49:21 +08:00 via iPad
@crytis 不是不行,内存空间可能会占得多些。我没存过那么大的数据量。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2678 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 26ms UTC 02:30 PVG 10:30 LAX 19:30 JFK 22:30
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86