大数据
啥是大数据?
我自己的一些经历–>>在做代码开发之前,一直觉得大数据这件事是高大上的一门学问,门槛很高,而且我上大学的时候这个词才刚刚在众多互联网记住中展露头角;
我的个人经历–>>
我上大学时那时候安卓的版本才到安卓4.4,在智能手机出来普及以前,各大网站的数据量并没有那么多,但是随着智能手机的普及,互联网巨头家里的数据呈现几何级增长,像什么微博,微信,视频网站的数据;
有了这些数据,各大互联网巨头都在想着法的将这些数据变现,但是这么多数据也给他们带来了一些问题:
- 1,海量的数据该怎么存储
- 2,这些数据该怎么处理
随着从事互联网行业的年限增多,也渐渐对海量数据的存储和处理有了一些模糊的认知:
大数据的分布式存储,并行计算和实时数据流处理
新技术的发展
新技术的发展时间轴
我们国家在2014年才将大数据写入政府工作报告,但是我们的发展速度之快我们在日常生活中足以感受到;
大数据到底是什么?
我感觉大数据就像是比特币,需要从海量数据中挖掘有价值的信息;
这个海量数据:
1,规模大,
2,不是关系型数据中的信息那样有规律,而是多样性(有文本,图像视频等大量不直接相关的信息)
3,需要通过大量的计算和复杂的分析得到有价值的信息;
4,信息具有时效性决定了对大数据的利用要实现实时分析,实时呈现分析结果;
大数据核心技术
围绕着大数据的特点:
1,分布式存储架构,
面对海量数据—>
需要找到合适的存储方式—>>分布式存储架构,可以水平扩展,实现存储数据类型多样化,二维可以实现高容错高吞吐量,轻松实现大文件存储(支持P级别的数据存储)
数据的时效性—>
大规模的并行计算,
分布式的数据分发,
高可靠容错机制
- Google的MapReduce
数据库的设计–>
海量数据该怎么存储,在分布式存储的大框架下,数据的存储方式—面向列式内存数据库
1,大表数据----数亿行以及数百万列
2,硬件需要有高性能的随机读取能力以及毫秒级的响应
3,稀疏存储,null的列不占用空间