前言:
我们从与传统服务器的对比来进行今天的知识普及,从扩展性,分布式,可用性,以及计算模型来分析一下,大数据为什么这么快?
传统数据 | 大数据 | |
---|---|---|
扩展性 | 纵向扩展 | 横向扩展 |
分布式 | 资源集中 | 资源分布 |
可用性 | 单份数据 | 数据复制 |
模型 | 移动数据 | 移动计算程序 |
文章目录
1.扩展性对比
传统数据纵向扩展
- 服务器数量不发生变化,配置越来越高(发生变化)
- 纵向扩展表示在需要处理更多负载时通过提高单个系统处理能力的方法来解决问题,最简单的情况就是为应用系统提供更强大的硬件
- 例如:如果数据库所在的服务器实例只有8G内存,低配CPU,小容量硬盘,进而导致了数据库不能高效的运行,那么我们就可以通过将该服务器的内存扩展到16G,更换大容量或者更换高性能服务器来解决这个问题
**请问一下?再不够呢?怎么办?**那就没办法了…
大数据横向扩展
- 横向扩展是将服务分割为众多的子服务并在负载平衡等技术的帮助下在应用中添加新的服务实例
- 例如:如果数据库所在的服务器实例只有一台服务器,进而导致了数据库不能高效的运行,那么我们就可以通过增加服务器数量,将其构成一个集群来解决问题
如果条件允许的话,你要装数据或者计算数据,只要有足够的服务器,再大的文件我也可以装下
2.分布式对比
传统数据集中式计算
- 数据计算几乎完全依赖于一台中,大型的中心计算机的处理能力,和他相连的终端(用户设备)具有不相同的智能程度,实际上大多数终端完全不具有处理能力,仅仅作为一台输入输出设备的使用
传统数据集中式存储
- 指的是建立一个庞大的数据库,把各种信息存入其中,各种功能模块围绕信息库的周围并对信息库进行录入丶修改丶查询丶删除等操作的组织方式
- 传统的方式资源(cpu/内存/硬盘)集中
- 下图将红蓝黑绿紫黄存在了一台大型机上
大数据分布式计算
- 分布式计算是一种方法,是将该应用分解成许多小的部分,分配给多台计算机进行处理,这样可以节约整体计算时间,大大提高计算效率
大数据分布式存储
- 分布式存储是一种数据存储技术,通过网络使用企业中的每台机器的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落,多台服务器
- 大数据方式资源(cpu/内存/硬盘)分布(前提:同等配置的前提下)
- 下面的用户将文件上传至服务器中,大数据分布存储将文件存储到不同的服务器中
3.数据处理
传统的数据库处理方式
- 用户将文件上传至服务器中
- 磁盘IO大
- 占用带宽高
- 传统数据备份方式单份备份
大数据的数据处理方式
- 用户上传一份文件
- 多节点存储
- 磁盘IO占比小
- 占用带宽分散 单台服务器的压力较小
- 大数据数据备份方式多分备份(数据复制,默认三个副本)
4.数据计算
传统数据的计算模型
- 传统的计算模型是移动数据到程序端
- 磁盘IO问题
- 网络带宽问题
大数据的计算模型
- 大数据计算模型是移动程序到数据端
总结一下:
- 大数据存储或者计算 io 和网络的使用率都非常低,且多节点存储,多节点计算(众人拾柴火焰高)
- 高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
- 高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
- 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
- 高容错性:能够自动将失败的任务重新分配。
重要得事情多说几遍:
- 大数据存储或者计算 io 和网络的使用率都非常低,且多节点存储,多节点计算(众人拾柴火焰高)
- 高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
- 高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
- 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
- 高容错性:能够自动将失败的任务重新分配。
- 大数据存储或者计算 io 和网络的使用率都非常低,且多节点存储,多节点计算(众人拾柴火焰高)
- 高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
- 高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
- 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
- 高容错性:能够自动将失败的任务重新分配。
- 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
- 高容错性:能够自动将失败的任务重新分配。