自从大数据出来后,数据管理界发生了巨大的变化,技术驱动成为大数据管理系统的一个主要变革力量。

传统的数据库管理系统以结构化数据为主,因此关系数据库系统(RDBMS)可以一统天下满足各类应用需求。然而,大数据往往是半结构化和非结构化数据为主,结构化数据为辅,而且各种大数据应用通常需要对不同类型的数据内容检索、交叉比对、深度挖掘与综合分析。面对这类应用需求,传统数据库无论在技术上还是功能上都难以为继。因此,近几年出现了oldSQL、NoSQL 与NewSQL 并存的局面。(这几个术语后面专题讨论)

总体上,按数据类型与计算方式的不同,面向大数据的管理系统与处理采用不同的技术路线,大致可以分为四类。

1、MPP并行数据库和内存数据库

第一类技术路线主要面对的是大规模的结构化数据。针对这类大数据,通常采用新型数据库集群。它们通过列存储或行列混合存储以及粗粒度索引等技术,结合MPP(Massive Parallel Processing)架构高效的分布式计算模式,实现对PB 量级数据的存储和管理。列存储数据库技术针对数据分析的特点,能够对数据进行高性能的压缩,查询也只需访问必要的列,节省了很多I/O,分析性能比传统行存储数据库有了很大的提升(可以多达两个数据量级)。

同时,随着内存成本的降低、单机内存的增大,以SAP HANA为代表的内存数据库也采用了列存储技术,支持更高性能的数据分析。这些技术的发展,使得它们成为TB级别数据仓库的最先进技术,已经涵盖了绝大多数OLAP市场,在企业分析类应用领域已获得广泛应用。

然而,MPP并行数据库和内存数据库依赖昂贵的硬件配置,其中的很多商业软件还有价格高昂的使用许可证,这些成本并不是每个公司都能够承担或者愿意承担的;而开源大数据系统采用通用、廉价的硬件设施,使得人们更容易尝试和使用这些系统,数据和业务迁移的成本也更低。同时,以Hadoop为代表的开源大数据系统形成较大的社区之后,就会有各种相关系统补充进来,构成生态圈,满足人们不同的需求,具有非常好的开放性。因此,就出现了第二类以Hadoop为典型的开源系统技术路线,并逐渐得到认可,并成为大数据分析的新宠儿。

2、基于Hadoop开源体系的大数据系统

第二类技术路线要面对的是半结构化和非结构化数据。应对这类应用场景,基于Hadoop开源体系的系统平台更为擅长。它们通过对Hadoop生态体系的技术扩展和封装,实现对半结构化和非结构化数据的存储、管理、计算等功能。

目前,Hadoop、MapReduce这类分布式处理方式已经成为大数据处理各环节的通用处理方法。Hadoop是一个由Apache基金会开发的大数据分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,轻松地在Hadoop上开发和运行处理大规模数据的分布式程序,充分利用集群的威力高速运算和存储。Hadoop是一个数据管理系统,作为数据分析的核心,汇集了结构化和非结构化的数据,这些数据分布在传统的企业数据栈的每一层。Hadoop也是一个大规模并行处理框架,拥有超级计算能力,定位于推动企业级应用的执行。Hadoop又是一个开源社区,主要为解决大数据的问题提供工具和软件。虽然Hadoop提供了很多功能,但仍然应该把它归类为多个组件组成的Hadoop生态圈,这些组件包括数据存储、数据集成、数据处理和其他进行数据分析的专门工具。一个典型的Hadoop 生态系统主要由HDFS、MapReduce、Hbase、Zookeeper、Oozie、Pig、Hive等核心组件构成,另外还包括Sqoop、Flume等框架,用来与其他企业融合。(很多新名词,可以自行Google)

低成本、高可靠、高扩展、高有效、高容错等特性让Hadoop成为最流行的大数据分析系统,然而其赖以生存的HDFS 和MapReduce 组件却让其一度陷入困境——批处理的工作方式让其只适用于离线数据处理,在要求实时性的场景下毫无用武之地。因此,各种基于Hadoop的工具应运而生。为了减少管理成本,提升资源的利用率,有当下众多的资源统一管理调度系统,例如Twitter的Apache Mesos、Apache的YARN、Google 的Borg、腾讯搜搜的Torca、Facebook Corona等。Apache Mesos是Apache孵化器中的一个开源项目,使用ZooKeeper实现容错复制,使用Linux Containers 来隔离任务,支持多种资源计划分配(内存和CPU)。提供高效、跨分布式应用程序和框架的资源隔离和共享,支持Hadoop、MPI、Hypertable、Spark 等。YARN又被称为MapReduce 2.0,借鉴Mesos,YARN 提出了资源隔离解决方案Container,提供Java 虚拟机内存的隔离。在YARN平台上可以运行多个计算框架,如MR、Tez、Storm、Spark等。

此外,由Cloudera开发的Impala是一个开源的Massively Parallel Processing(MPP)查询引擎。与Hive 相同的元数据、SQL语法,可以直接在HDFS或HBase上提供快速、交互式SQL 查询。Impala是在Dremel的启发下开发的,不再使用缓慢的Hive + MapReduce 批处理,而是通过与商用并行关系数据库中类似的分布式查询引擎,可以直接从HDFS 或者HBase 中用SELECT、JOIN 和统计函数查询数据,从而大大降低了延迟。Hadoop社区正努力扩展现有的计算模式框架和平台,以便解决现有版本在计算性能、计算模式、系统构架和处理能力上的诸多不足。

3、MPP并行数据库与Hadoop的混合集群

第三类技术路线主要面对的是结构化和非结构化混合的大数据。采用MPP并行数据库与Hadoop的混合集群来实现对百PB量级、EB量级数据的存储和管理。用MPP来管理计算高质量的结构化数据,提供强大的SQL和OLTP型服务;同时,用Hadoop实现对半结构化和非结构化数据的处理,以支持诸如内容检索、深度挖掘与综合分析等新型应用。

4、内存计算与Hadoop的混合

第四类技术路线Hadoop与内存计算模式的混合,目前已经成为实现高实时性的大数据查询和计算分析新的趋势。这种混合计算模式之集大成者当属UC Berkeley AMP Lab开发的Spark生态系统。

Spark是开源的类似Hadoop的通用的数据分析集群计算框架,用于构建大规模、低延时的数据分析应用,建立于HDFS之上。Spark提供强大的内存计算引擎,几乎涵盖了所有典型的大数据计算模式,包括迭代计算、批处理计算、内存计算、流式计算(Spark Streaming)、数据查询分析计算(Shark)以及图计算(GraphX)。Spark 使用Scala 作为应用框架,采用基于内存的分布式数据集,优化了迭代式的工作负载以及交互式查询。Spark支持分布式数据集上的迭代式任务,实际上可以在Hadoop文件系统上与Hadoop一起运行(通过YARN、Mesos等实现)。另外,基于性能、兼容性、数据类型的研究,还有Shark、Phoenix、Apache Accumulo、Apache Drill、Apache Giraph、Apache Hama、Apache Tez、Apache Ambari 等其他开源解决方案。未来相当长一段时间内,主流的Hadoop平台改进后将与各种新的计算模式和系统共存,并相互融合,形成新一代的大数据处理系统和平台。同时,由于有Spark SQL的支持,Spark是既可以处理非结构化数据,也可以处理结构化数据的,为统一这两类数据处理平台提供了非常好的技术方案,成为目前的一个新的趋势。

总之,我们可以得出以下结论(或预测):

  • Hadoop、Spark这类分布式处理系统已经成为大数据处理各环节的通用处理方法,并进一步构成生态圈;

  • 结构化大数据与非结构化大数据处理平台将逐渐融合与统一,而不必为每类数据单独构建大数据平台;

  • MapReduce将逐渐被淘汰,被Spark这类高性能内存计算模式取代,同时Hadoop的HDFS将继续向前发展,成为大数据存储的标准;

  • 传统的SQL技术将在大数据时代继续发扬光大,有了SQL on Hadoop/Spark的技术支持,SQL将继续作为大数据时代的霸主,同时也被NoSQL补充;

  • 以SQL、Hadoop/Spark为核心的大数据系统将逐渐挑战传统数据库市场,并逐步代替传统的数据仓库。

技术!技术!

大数据系统发展的技术路线相关推荐

  1. 大数据系统及分析技术

    大数据 IDC将大数据技术定义为:"为更经济地从高频率的.大容量的.不同结构和类型的数据中获取价值而设计的新一代架构和技术." 大数据的关键在于种类繁多.数量庞大.使用传统的数据分 ...

  2. 大数据系统和分析技术综述(引用最多)

    文章目录 1.1.1 批量数据的特征与典型应用 1.2 流式数据处理系统 1.3 交互式数据处理 1.4 图数据处理系统 2大数据分析 一个国家拥有数据的规模和运用数据的能力将成为综合国力的重要组成部 ...

  3. 软件测试人员的职业发展路径和技术路线规划

    软件测试人员应该如何规划自己的职业发展路径?如何规划自己的技术路线? 下面是我整理的两张图,大家可以参考这两张图,结合自已目前所处的技术水平阶段.自己的性格和特长,去提前定位个人的职业发展方向,规划下 ...

  4. 大数据技术路线-需要掌握的技术

       大数据应用作为目前很火,市场需求很大的需求体量,所以学习大数据应用技术很有必要,也是发展的唯一路径,笔者总结了大数据学习的技术路线,希望大家能有所收获. 知识点一:java基础 java入门,安 ...

  5. 《企业大数据系统构建实战:技术、架构、实施与应用》——第3章 企业大数据解决方案 3.1 企业大数据解决方案实现方式...

    本节书摘来自华章计算机<企业大数据系统构建实战:技术.架构.实施与应用>一书中的第3章,第3.1节,作者 吕兆星 郑传峰 宋天龙 杨晓鹏,更多章节内容可以访问云栖社区"华章计算机 ...

  6. 《企业大数据系统构建实战:技术、架构、实施与应用》一3.2 如何选择解决方案...

    本节书摘来自华章出版社<企业大数据系统构建实战:技术.架构.实施与应用>一书中的第3章,第3.2节,作者吕兆星 郑传峰 宋天龙 杨晓鹏,更多章节内容可以访问云栖社区"华章计算机& ...

  7. 《企业大数据系统构建实战:技术、架构、实施与应用》——第1章 企业大数据战略定位 1.1 宏观...

    本节书摘来自华章计算机<企业大数据系统构建实战:技术.架构.实施与应用>一书中的第1章,第1.1节,作者 吕兆星 郑传峰 宋天龙 杨晓鹏,更多章节内容可以访问云栖社区"华章计算机 ...

  8. 《企业大数据系统构建实战:技术、架构、实施与应用》——2.2 大数据职位构建体系...

    本节书摘来自华章计算机<企业大数据系统构建实战:技术.架构.实施与应用>一书中的第2章,第2.2节,作者 吕兆星 郑传峰 宋天龙 杨晓鹏,更多章节内容可以访问云栖社区"华章计算机 ...

  9. 利用大数据挖掘和知识发现技术辅助智慧城市发展

    陈聪1,张国惠 1,马晓磊 2,王印海 3 1. 美国新墨西哥大学土木工程系,美国  新墨西哥州  阿尔伯克基市  87106: 2. 北京航空航天大学交通科学与工程学院,北京  100191: 3. ...

最新文章

  1. 无连接的用户数据报协议UDP
  2. 进一步认识golang中的并发
  3. 转 让开发自动化: 使用自动化加速部署
  4. HTML5 基础知识(三)
  5. 操作系统的运行机制和体系机构
  6. 新学期福利,送18本Python图书
  7. day14:磁盘管理df/du/fdisk/parted命令
  8. 开机后台占用严重?教你如何清理常见后台占用
  9. 进行海外媒体发稿的稿件撰写技巧和方法
  10. 江西省电子专题大赛考点讲解七:NE555定时器
  11. SQL安全-关闭外网对1433的访问
  12. 存储组件之MFS详解
  13. Android jks文件签名转换keystore文件签名
  14. ccf 201809-4 再卖菜
  15. JVM垃圾回收器-CMS并发标记清除
  16. 全球都在建智慧城市,智慧城市究竟什么样?中通服创立科技告诉你
  17. Unity3D游戏开发之网络游戏服务器架构设计(如何做一名主程)
  18. WINDOWS下kill进程的命令
  19. uni-app 微信小程序 引入iconfont
  20. c语言程序实验报告指针目的,c语言实验报告

热门文章

  1. 18万美元offer!ChatGPT通过谷歌L3入职测试,人类码农危?
  2. 推荐一款u盘启动盘制作工具小优启动v7.0版
  3. arduino使用SD卡模块以及检查SD卡信息
  4. kali搭建bind9 dns服务器启动问题:Failed to restart bind9.service: Unit bind9.service not found.
  5. Laravel 5.2 + layui实现视频上传(+ 进度条)原创
  6. 2019_AAAI_ICCN
  7. 赛门铁克新通告仍犯旧错 再次忽视大陆用户
  8. k8s client-go 之 依赖问题解决
  9. SAP ABAP的SQL中加入常量列
  10. 5G模块RM500U-CN在ubuntu20.04上的驱动安装