全库遍历速度哪家强?

2014-11-10 16:57:59 +08:00
 uleone
业务中需要对数据库中4000万条数据进行逐条遍历,数据总量20多G,要求1分钟内能取出所有数据。
目前使用的是MongDB,一主一丛,16G内存。并发查询最快3分钟多钟完成。且并发数多了会变慢。
有没有其他更好的方案可以提升全库遍历的速度?比如哪种内存数据库?
3794 次点击
所在节点    问与答
13 条回复
kingwkb
2014-11-10 17:16:03 +08:00
redis
ipconfiger
2014-11-10 17:30:23 +08:00
文件
uleone
2014-11-10 17:32:29 +08:00
@kingwkb redis的全库遍历怎么做?SCAN命令吗?速度怎么样?
uleone
2014-11-10 17:33:10 +08:00
@ipconfiger 文件会比MongoDB快吗?
ipconfiger
2014-11-10 17:42:15 +08:00
@uleone 直接下载啊,当然快啦
ziyuan
2014-11-10 17:55:36 +08:00
理论上,内存数据库+网格计算是最快的了,成熟的产品有oracle exdata,如果不考虑成本的话
vietor
2014-11-10 17:57:20 +08:00
可以考虑使用 ElasticSearch
msg7086
2014-11-10 17:57:47 +08:00
数据20G,内存16G,你是怎么放进内存里的……

如果是读写硬盘的话,你们用了SSD RAID了吗?
uleone
2014-11-10 18:02:36 +08:00
@msg7086 目前MongoDB是16G,肯定不是全在内存中。其他方案的话内存可以加,SSD用不上。
msg7086
2014-11-10 18:11:48 +08:00
@uleone 没有SSD,内存也不够全放的话,势必会受到机械磁盘读写速度的影响,每秒只能随机寻找100次数据,最多了。
Kabie
2014-11-10 18:12:17 +08:00
....不是全内存肯定会慢吧。。。

你先试试能完全放在内存里的数据……
charlestang
2014-11-10 19:51:10 +08:00
楼主是不是应该介绍一下数据的类型,比如4000万行数据,有几个字段,分别什么类型的,全是整数,还是全是字符串,或者别的。为什么需要的不是查询,而是全部遍历?这个需求本身比较奇怪吧……
hiddenman
2014-11-11 10:09:29 +08:00
真羡慕有这么多数据的环境。

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

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

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

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

© 2021 V2EX