上亿数据增删改查,用什么数据库合适?

2016 年 7 月 8 日
 xingwing

需求是这样的,数据库里存的都是 kv 数据, k 是 ID , v 是多个值, k 的数量巨大,亿级或十亿级(比如中国人口数),如何能够快速(毫秒级)增删改查数据库的数据? cassandra 集群可以吗?

13725 次点击
所在节点    程序员
43 条回复
owt5008137
2016 年 7 月 8 日
具体还是要看应用吧,要速度快的话 redis cluster 呗
wujunze
2016 年 7 月 8 日
oracel
ytmsdy
2016 年 7 月 8 日
是否涉及到数据之间的逻辑运算?如果设计逻辑运算,建议使用 oracle , mysql 这一类传统数据库,如果不涉及,仅仅是增删改查,那就用 no-sql 这一类数据库吧
xingwing
2016 年 7 月 8 日
@ytmsdy 不涉及,能推荐一款 nosql 吗, cassandra 行吗?我看 360 在用
elgoog1970
2016 年 7 月 8 日
m
xi4oh4o
2016 年 7 月 8 日
leveldb
rubyvector
2016 年 7 月 8 日
传统数据库必须加缓存,或者直接上 NOSQL
Yanickkk
2016 年 7 月 8 日
分个库不就好了···把上亿的数据放在一起都是不和谐的
hiro0729
2016 年 7 月 8 日
用 HBase 呀,它最适合这种结构不复杂的数据了,但是对 key 的设计有一定要求
tjxjj
2016 年 7 月 8 日
oracle ,分个区就行了,轻松搞定, 10 多个 y 不是个事儿
owt5008137
2016 年 7 月 8 日
@hiro0729 hbase 延迟很高吧,毫秒级似乎比较困难
justfly
2016 年 7 月 8 日
写不大的话 分表就好 256 表 按 key 哈希 每表 500W ,上面加个 LRU 的 memcache 就好
xingwing
2016 年 7 月 8 日
@justfly 单点问题咋解决?
raptor
2016 年 7 月 8 日
看有多少钱了,有钱堆硬件的话,全部内存查询就 OK 啦。
nine
2016 年 7 月 8 日
6 亿数据表示用 PostgreSQL 很轻松啊。
fin
2016 年 7 月 8 日
v 是什么样的值呢
xingwing
2016 年 7 月 8 日
@fin 用户的一些路由信息,比如:用户长连接的服务器地址等
justfly
2016 年 7 月 8 日
@xingwing HA 要求高的话 加多套数据库配合 Keepalived 如果在有缓存情况下 依然需要多库负载均衡 可以多从库。

ps: 纯内存方案,可以用 codis 集群。
ladyv2
2016 年 7 月 8 日
用 memsql?
loading
2016 年 7 月 8 日
分库集群,哪个数据库都行。
如果一台机器…就不是技术的问题了,是这个方案身有问题!

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

https://study.congcong.us/t/291049

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

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

© 2021 V2EX