V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yangyaofei
V2EX  ›  程序员

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

  •  
  •   yangyaofei ·
    yangyaofei · 2015-08-17 14:37:16 +08:00 · 2853 次点击
    这是一个创建于 3176 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    @liprais 是啊是啊,其实只是要按照这么多设计,现在应该只有 2000w 这么多数据.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5917 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 02:05 · PVG 10:05 · LAX 19:05 · JFK 22:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.