上百亿个键值对使用什么数据库好?

2019-04-17 22:40:11 +08:00
 blackcurrant
键和值都是不超过 70 个字符的字符串。读的速度要求不大,写的速度需要非常快,最好还能节省空间。
什么数据库合适呢?
6715 次点击
所在节点    程序员
38 条回复
liuzhen
2019-04-17 22:48:18 +08:00
弄上百个普通的 kv 库

根据键的 hash 值或者其他策略决定放在哪个库?
misaka19000
2019-04-17 22:51:26 +08:00
redis
lhx2008
2019-04-17 22:52:04 +08:00
内存够的话,redis cluster
blackcurrant
2019-04-17 22:55:04 +08:00
@misaka19000 需要数据完全写在硬盘上,因为没有这么多的内存。
yidinghe
2019-04-17 22:56:10 +08:00
100 亿条 140 字节记录本身 1300GB 左右,你说的速度快是需要每秒写入多少 GB 呢?
cshlxm
2019-04-17 23:00:46 +08:00
redis 集群啊
feiyuanqiu
2019-04-17 23:01:54 +08:00
hbase
leeg810312
2019-04-17 23:04:45 +08:00
LevelDB RocksDB
sufaith
2019-04-17 23:07:01 +08:00
redis
blackcurrant
2019-04-17 23:08:52 +08:00
@yidinghe 起码要比 mysql 的写入速度快才行。
9hills
2019-04-17 23:14:55 +08:00
Redis 用到你的需求不合适

写多读少,单机版建议用 LevelDB
分布式可以试试 Cassandra
zycpp
2019-04-18 08:35:39 +08:00
leveldb +1
虽然没弄过这么大的…,我目前数据在亿级别,没啥问题
JimmyTinsley
2019-04-18 08:44:24 +08:00
试试 Cassandra?
reus
2019-04-18 08:44:41 +08:00
唯一选择就是 rocksdb,不少关系数据库都用它做后端
reus
2019-04-18 08:45:43 +08:00
不要用 leveldb,一个几年了的严重问题,最近才修复。同样的问题,rocksdb 早修复了。
wangxiyu191
2019-04-18 08:55:58 +08:00
要优化写的话,找个用 LSM-Tree 的就好。单机 Rocksdb,集群的话一堆了 Tair-LDB Cassandra Scylla TiKV 等等……
zhanwh9
2019-04-18 09:05:42 +08:00
hbase 感觉比较合适
geeti
2019-04-18 09:24:04 +08:00
没人推荐 dynamodb?
petelin
2019-04-18 09:36:37 +08:00
@geeti 推荐 dynamodb 不是开源项目懂得人少
haohappy
2019-04-18 09:48:56 +08:00
MongoDB 不行么

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

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

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

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

© 2021 V2EX