登录
首页精彩阅读大数据项目如何更科学地规划数据存储问题呢?
大数据项目如何更科学地规划数据存储问题呢?
2014-11-03
收藏

      大数据项目如何更科学地规划数据存储问题呢?

 大数据项目项目的业务背景一般都是比较复杂的,所以数据来源及数据种类也是参差不齐,那么,我们需要怎样更好地规划数据存储方面的东西呢?


    首先,我们来说说为什么我们需要关注数据存储的问题。第一,上面也说了,数据源种类多而复杂,面临各种集成的问题与使用的问题。第二,大数据分析的过程离不开ETL(数据抽取、转换、加载),这也是做分析的前提,因此对于数据源的存储是不容忽视的。那么,基于上面的原因,我们是否可以很肯定地说,现实项目实施过程中,一个HBase是不能够完成复杂的数据源项目背景的需求的呢?下面,我们来分析一下。

    由于HBase是一个半结构化的数据仓库,与传统的RDB有很大区别,HBase更重要的是结构,而不是类型。那么我们可以假设把数据分成3类:无结构数据、半结构化数据、结构化数据。其实对于Java程序员出身的人来说,无结构化数据是很难理解的,因为没有不能抽象化成对象的事物存在嘛,但是像Log日志文件这种数据源,它确实是种无结构化数据(当然这是以各种不同Log文件来说,这里不讨论个人输出的格式化数据)。对于半结构化的数据,就像上面说的HBase一样。HBase的鼻祖是Google公司的BigTable,据说Google公司的地图等数据存储都是用BigTable,并且性能非常卓越,具体是不是这样就不清楚了。其实我在想,结构化数据是可以转化成半结构化数据的,因为只要他们都拥有共同的结构,是可以向上转化,就像Java里面的任何类都是Object类的子类一样,都可以转化为Object类,我们把强类型的数据转化成弱类型数据。

    再回到我们大数据项目来说,如果能够把各式各样的数据转换成半结构化数据存储到HBase中,那么我们对数据的集中读取与管理是非常方便的,但是数据的转换、读取性能、数据灵活性就将成为重要的性能瓶颈。打个比方,对于实时监控或者实时分析较强的行业,如果我们把传送回来的数据经过转换再存储,读取时还需要做大量的数据类型转换、异常、合法性判断等,中间的时效性就会降低,那么数据的意义会大打折扣,因此,我们不能否认了RDB的地位。

    总结上面的讨论,可以得出这样一个结论:大数据的数据存储大致地可以规划成这3类:与Log日志文件相类似的无结构数据源、与HBase半结构化数据相类似的数据源、以RDB存储的数据源。种3种数据源基本上可以包含了大部分大数据项目的需求,当然实际上3种数据源的权重,就要根据实际项目的背景需求去衡量了!

数据分析咨询请扫描二维码

客服在线
立即咨询