求解答 关于 大数据的解决方案

2015-08-17 14:37:16 +08:00
 yangyaofei

有人找我说做一个系统,本人也是二把刀(对方更是),想问问这样的需求怎么做比较好
1 说会有 20T 左右,15000W 条的数据.
2 要批量导入(从别的地方来的数据)
3 要做查询,不是很复杂,但是数据量大啊
4 自用,不对外,用的人有限,估计达不到 1K 的水平
5 数据就是各种信息, 各种分类和时间

因为对这个不是很了解,所以想问以下的问题:
1 因为访问量不高,是否要做 men catch 呢?做多大合适?还是说这个要做实验来调整?
2 我觉得这么大的数据库,肯定要做分表的,现在设想的是做成树状结构,方便查询不知道可以否?
3 他们想的方案事自己买服务器,然后做.而我想的是卖阿里的云和数据库来用.毕竟自己的机器还要去维护,听不容易的.放在云上会方便一些.但是看了下价格也是挺贵的(不知道他们预算是多少,应该不差钱吧).话说自己买服务器贵还是云贵呢?
4 数据库想用 mysql,不知道能不能承载这么大的数据,因为录入数据是前期的工作,系统建成了之后录入应该不是很多,大部分是批量导入.大部分时间是在查询.不知需要怎么优化呢,优化到多少才算是比较好或者合格呢.
5 不知道这种系统吃不吃 CPU,如果比较吃 CPU 是不是要做分布式呢(自己想当然的认为不需要,但是知道自己的相符不靠谱)
6 关于表结构什么的,是不是符合了 4NF 范式就可以提高查询速度什么的呢?
7 这个系统使用 NoSQL 是否可以呢?对于查询速度什么的提高是否有很大帮助呢?
8 有没有相关的书可以参考?
第一次挑战这种级别的数据库还有点小兴奋呢,原来做的都是小系统,构架烂也不会影响太多,这次数据量这么大,怕弄不好.请各位大大指导指导......

3034 次点击
所在节点    程序员
17 条回复
defunct9
2015-08-17 15:22:49 +08:00
hadoop + hive 吧
glasslion
2015-08-17 15:26:53 +08:00
men catch 是什么鬼?
cxe2v
2015-08-17 16:23:11 +08:00
@glasslion 应该是指 memory cache
mhycy
2015-08-17 16:26:02 +08:00
1E5000W 条数据就 20T ,谁把文件存到数据库里面去了?
yangyaofei
2015-08-17 16:29:11 +08:00
@mhycy 里面确实有很多图片....... 如果把图片换成哈希的话大概是多大?
@defunct9 需要哪个么.不应该搞定数据库就好了么,毕竟内部用,没有什么并发.
mhycy
2015-08-17 16:29:43 +08:00
补充,这需求直接自己买服务器,别犹豫,现在的云实现这个需求不是费钱就是费劲。
自己的服务器灵活性高,别听啥维护成本低的鬼话,上规模以后云的成本不可能低。
更何况现在大多数云服务器只是个 VPS 而已
mhycy
2015-08-17 16:32:51 +08:00
@yangyaofei
全部 hash 一遍,加上体积索引。
以 fileSize_hash.ext 命名文件 hash[0:2]/hash[2:4]/hash[4:6] 为路径索引文件。
视情况分盘
mhycy
2015-08-17 16:34:42 +08:00
@yangyaofei 补充,建议文件服务器独立出来。底层 RAID60+SSD Cache
defunct9
2015-08-17 17:05:33 +08:00
@yangyaofei hive 也用的是 mysql 保存 meta 数据,大数据基本都是这个路数。
yangyaofei
2015-08-17 17:07:58 +08:00
@mhycy 下午计算了一下,确实也挺贵的.但是要是自己弄服务器,那不间断供电啊什么的成本不高么?
还有,如果是自己买服务器,多买几台把数据库做成分布式还是一台直接用好?
还有还有,如果一台的话,内存多大合适?
那个还有,查询什么的没问题么,需不需要做分布式什么的来容易查询
totogo
2015-08-17 17:52:47 +08:00
Google BigQuery
mhycy
2015-08-17 19:00:56 +08:00
@yangyaofei
看需求,事实上不间断供电这些都是小事,人工成本才是大事。
但是按照你现在这个需求,完成这些不是事~

另外,服务器本身虚拟化,多机是肯定需要的。
算是半个分布式虚拟化集群吧。(热迁移就不强求了)

无论查询还是储存,最终都还是要依据机器的性能来做分布设计。
yangyaofei
2015-08-17 23:23:15 +08:00
@mhycy 大概明白了,谢谢
liprais
2015-08-18 00:56:50 +08:00
4 自用,不对外,用的人有限,估计达不到 1K 的水平
这种数据量有二十个人同时用就够喝一壶了, 1k 就真的是 world wide wait 了
nooper
2015-08-18 01:05:41 +08:00
感觉是电信的
invite
2015-08-18 07:13:48 +08:00
@yangyaofei 图片放数据库,谁设计的,出来聊聊。
yangyaofei
2015-08-18 08:52:31 +08:00
@invite 哈哈哈~我不是很了解,应该是数据文件一共这么多,要放数据库里面.各种格式的数据 xml,excel 什么的
@nooper 然而并不是

@liprais 是啊是啊,其实只是要按照这么多设计,现在应该只有 2000w 这么多数据.

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

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

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

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

© 2021 V2EX