大数据 T1 什么是大数据

96 阅读3分钟

专栏 大数据 数据处理原理。如果对你有帮助求个赞或者关注,谢谢谢谢。

什么是大数据

以下摘自维基百科。

Big data primarily refers to data sets that are too large or complex to be dealt with by traditional data-processing application software.

然而这个定义过于模糊,看了和没看好像没什么区别。与操作系统类似,大数据其实并没有一个较为严谨且合适的定义,似乎也并不需要一个非常严谨的定义。jyy老师说过:过于追求严谨的定义并不是一件很有意义的事情。(十分推荐南京大学jyy老师的操作系统课,收获颇丰)

大数据这一门课,主要是用来解决大量数据处理所产生的问题的,什么是大量数据会随着时代的变化而不断变化(处理器,存储都在迅速发展)。

我们学大数据在学什么

我认为学习大数据,就是在学习如何 使用 工具可以接受的时间内存储,管理,和操作 这些数据。

  1. 工具:将要使用的软件或者各种框架
  2. 可以接受的时间:根据业务不同,可接受的时间不同
  3. 存储/管理: 我们如何存储并且如何将这些数据从磁盘中取出来
  4. 操作:通过计算来获得我们需要的结果

大数据的特征

  1. Volume: 数据的量
  2. Variety: 数据的种类多变
    • Structured:拥有特定格式,MP4,MP3,JPG等
    • semi-structured: 维基百科的页面:有文字还有链接
    • unstructured
  3. Velocity:处理或者存储文件的速度
  4. Veracity: 这些数据是否是“真的”数据?有没有错误?有没有被更改?
  5. Variability: 数据量在不同时间的变化量大不大?数据流的高峰期与低谷期的差距? 只要有以上两个问题,可能就到了大数据发挥作用的时间

硬件介绍

与大数据相关的硬件相关概念

  • 通用计算: 没有特定的目标,啥活都能干。比如CPU能完几乎任意计算机上的任务。可以通过各种benchmark对处理性能进行一个大致评估。
  • 专用硬件: 针对某些问题进行专门优化。比如H100有巨大的显存,可以用于AI训练,但是游戏性能可能不如的RTX40系列显卡,尤其是在光追性能上。还有Quantum Core等。
  • 存储:永久性存储(磁盘,SSD等),GPU的显存、CPU的多级缓存。读写速度从快到慢:CPU的寄存器,CPU的L1 - L3缓存,RAM,SSD,磁盘等。

image.png

  • 网络:由于大数据经常需要多台电脑同步进行计算,因此数据需要通过网络传输,网络也经常是计算问题中的瓶颈。

大数据分类

  • Batch
    • 批量处理
    • 主要由static data组成,就是已经存好的数据块一起处理。比如有很多数据,怎么进行分析
    • 主要关注处理完成的时间
  • Streaming
    • 流式处理
    • 实时处理数据
    • 主要关注数据处理的延迟

如何让我们的处理大数据的速度更快?

两种方式,横向和纵向扩展

  1. 横向扩展(Horizontal scaling)
    • 将计算任务分发给多个计算机同时进行计算,也就是我们熟悉的并行计算(Parallel Computing:)
    • 好处是理论上可以无限提高计算性能(现实当然是不可能,因为计算机之间交流有开销,并且设计数量越多开销越大),所以对如何调度计算提出了新的要求。
  2. 纵向扩展(Vertical scaling)
    • 简单粗暴,买更好的机器就行
    • 但是几乎无法升级,而且可能价格极其昂贵

下一步是什么

介绍MapReduce