每日产生 1440 万条数据,如何做到查询效率在百毫秒内体验?

2015-07-09 14:23:05 +08:00
 hbq

现行需求分析

  1. 每隔十秒产生1万条数据,每一条数据约260字节。
  2. 数据产生时间9:30-11:30;13:00 -15:00。在这个时间段内一天数据量约为:$1万*6*60*4 = 1440万条,约3.5GB数据$。长期预估1-3年内产生:3.7TB数据。
  3. 已产生数据非常小量更新操作,可以任务数据库无更新操作(如update ,delete),只有插入、查询操作(insert 、select)
  4. 无复杂查询。如:group by ,join
  5. 查询操作并发度不高,但查询效率严格控制在十毫秒到几百毫秒内。
  6. 对写数据库操作要求高,达到10秒内完成插入1万条数据
  7. 每条数据字段都是数字或段文字,没有复杂字段。
  8. 选择什么样物理服务器+数据库+数据架构?如dell r730+mysql+分库分表?
11217 次点击
所在节点    程序员
40 条回复
gamecreating
2015-07-09 15:52:10 +08:00
股市????
hbq
2015-07-09 16:18:46 +08:00
@em70 嗯!你说的反向索引是不错的方案。谢谢
hbq
2015-07-09 16:21:03 +08:00
@webflier 我准备收拾收拾东西 ,跳楼了。。。。不要拦我
dingyaguang117
2015-07-09 16:26:24 +08:00
mongodb无压力
billwang
2015-07-09 17:16:30 +08:00
我们这边一天产生4g的数据量,按日分表建立索引。数据进入时采用缓存,每隔15秒插入一次。
ksupertu
2015-07-09 18:40:22 +08:00
后端elasticsearch存储,调优后单台2W/S写入速度,可水平扩展集群系统,前面可以在加个mogodb之类的数据库来持久化一下,elasticsearch丢起数据来集群恢复起来很慢
taowen
2015-07-09 18:47:17 +08:00
taowen.gitbooks.io
用elasticsearch设计好mapping
xujif
2015-07-09 19:33:54 +08:00
一看就知道是l2数据,别问我为什么知道
cxe2v
2015-07-09 19:44:09 +08:00
@xujif 看时间都知道了
simonlei
2015-07-09 22:51:43 +08:00
xlvecle
2015-07-09 23:23:38 +08:00
elasticsearch,solr,sphinx
hwind
2015-07-10 00:18:53 +08:00
NoSQL的解决方案就可以满足你的需求,比如HBase
kurosagi
2015-07-10 06:57:51 +08:00
1,可以不更新,就插入和查询
2,无复杂查询
3 写数据库操作要求高
4 没有复杂字段

我知道可能不行,以前也就实习的时候用过,但是dynamoDB和cassandra怎么样?

理论上,可能,好像,没问题,但是似乎有人告诫我NoSQL是坑不要入。
caomaocao
2015-07-10 09:29:37 +08:00
放mongo?
hbq
2015-07-10 09:37:32 +08:00
@scys 我是在设计架构。查询效率在500ms都是可以接受的。
kurosagi
2015-07-10 10:13:35 +08:00
@caomaocao Mongo 显然不行,访问量高了丢数据。
zhanglp888
2015-07-10 11:26:24 +08:00
@hbq 我是你的百分之一的量,效率方面也就没有参考价值了!我的问题还要面对很多数据去组合,group by 的问题。

@em70 讲的最好了,想要速度,就得需要更大的空间去做索引或缓存
ybh37
2015-07-10 12:00:26 +08:00
Redis?
Ryans
2015-07-10 17:17:02 +08:00
@hbq 这个时间段像是A股交易
liuweisj
2015-07-10 17:34:39 +08:00
数据库的话试试Hbase吧,性能的话可以根据需求来部署HDFS集群

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

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

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

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

© 2021 V2EX