【发布时间】:2014-11-23 01:39:40
【问题描述】:
我们有 100 万个数据集,每个数据集大约 180mb。所以我们的数据总大小约为 185T。每个数据集都是纯 DEL 文件,只有三列。前两列是行键,最后一列是行的值。比如第一列是A,第二列是B,第三列是C。A的值就是数据集的编号,所以A固定在一个数据集中,范围是1-100万。 B 是位置编号,B 的范围可以从 1 到 300 万。
我们计划做的是给定 B 的任意一组非重叠范围,例如从 1-1000、10000-13000、16030-17000....,我们计算每个数据集的值的总和所有这些范围,并以秒为单位返回前 200 个数据集编号(A)。
有没有大数据方面的专业人士知道我们需要多少台服务器来处理这个案例?我的老板相信 10 台服务器(每台 16 核)可以用 50,000 美元的预算来完成。你觉得可行吗?
【问题讨论】:
-
有点晚了,问题已经结束了,但是如果该数据有些静态或仅在每个文件的末尾添加数据且位置数不断增加,则实际上可以在一秒钟内完成(最多 5 个范围)在单台 PC 上(假设有大约 100MB/秒的 HD(NAS?)读取访问,并且 C 值是正常数字)。这将使用 C/C++ 代码和更优化的数据结构。
标签: performance bigdata database-performance