大数据时代技术架构

简介: 1. 概述当前大数据已经渗透到每个行业和领域,成为了重要的生产因素。在大数据环境下,数据是海量的,且呈爆发式增长,数据类型复杂多样,除结构化数据外,还有大量半结构化和非结构化数据。大数据应用需求也很复杂,包括复杂多表关联查询,即席查询,离线数据批量处理等。这种形势给构建大数据处理的通用平台带来了挑战。2. 传统数据库构建大数据平台的不足传统事务型数据库是针对事务型处理设计的,采用行存储和Shared Disk架构,硬件方面采用小型机+磁盘阵列的配置。而面对大数据的分析处理型应用,传统的数据库在处理海量数据方面表现出明显的不足,主要表现在如下方面:Ÿ传统的Shared Disk架
  1. 概述

当前大数据已经渗透到每个行业和领域,成为了重要的生产因素。在大数据环境下,数据是海量的,且呈爆发式增长,数据类型复杂多样,除结构化数据外,还有大量半结构化和非结构化数据。大数据应用需求也很复杂,包括复杂多表关联查询,即席查询,离线数据批量处理等。这种形势给构建大数据处理的通用平台带来了挑战。

  1. 传统数据库构建大数据平台的不足

传统事务型数据库是针对事务型处理设计的,采用行存储和Shared Disk架构,硬件方面采用小型机+磁盘阵列的配置。而面对大数据的分析处理型应用,传统的数据库在处理海量数据方面表现出明显的不足,主要表现在如下方面:

传统的Shared Disk架构存在I/O瓶颈,扩展能力不足,无法支撑PB级别数据的存储和计算,对于海量非结构化数据处理也很有限;

传统数据库基于行存储方式适用于事务型应用,需要大量读取冗余数据而增加磁盘I/O,在分析类型应用效率低下;

传统数据库索引针对于每一行建立,检索速度慢,需要手工建立,不便于维护,且极大的影响数据的入库效率;

采用小型机+磁盘阵列的硬件平台成本较高,扩容成本大,且扩容能力有限;

传统的数据库系统采用关系型数据库,主要用于对结构化数据的处理,不支持对半结构化和非结构化数据的存储和处理,无法满足海量半结构化、非结构化的存储、查询、分析和处理的需求。

  1. 大数据分析平台技术选型

针对传统数据库处理大数据瓶颈以及大数据的应用需求,衍生了多项大数据技术。当前市面上有两种主流的处理架构:MPP数据库和Hadoop技术。

3.1.MPP数据库

MPP数据库是新型数据库类型,采用Shared Nothing+MPP架构,通过列存储、高效压缩、粗粒度智能索引等多项大数据处理技术,结合MPP架构高效的分布式计算模式,完成对海量高密度结构化数据的分析类应用的支撑,运行环境多为低成本PC Server,具有高性能和高扩展性的特点。MPP数据库广泛应用到行业数据仓库和各类结构化数据分析领域。

MPP数据库可以有效支撑PB级别的结构化数据处理,它具有如下特点:

具备ACID特性:满足原子性、一致性等要求;

支持关系模型:基于关系模型设计;

使用SQL引擎:标准接口,开发效率高,应用迁移方便;

基于Share Nothing架构:可以横向扩展数百个节点,支撑PB级别的数据处理;

存储结构化数据,有明显的星型和雪花模型结构:便于进行OLAP分析、多维分析;

可基于开放的X86架构服务器部署:平台建设成本低;

MPP数据库擅长处理高价值密度的结构化数据,适合大规模的复杂分析,海量数据的查询、关联等场景,例如数据仓库、数据集市、企业级报表、统计分析、即席查询、多维分析等。

3.2.Hadoop技术

基于Hadoop生态的大数据技术主要针对非结构化数据的存储和计算、实时流处理等传统关系型数据库较难处理的数据和场景。Hadoop依托于开源社区的优势,以及相关技术的不断进步和迭代更新,可支撑对于非结构、半结构化数据处理、复杂的ETL流程、复杂的数据挖掘和计算模型。

Hadoop技术具有如下特点:

键值对存储方式:简单低耦合方式存储数据;

分布式文件系统:基于HDFS的分布式文件系统,具有明显的存储优势,可以存储海量的结构化、半结构化、非结构化数据;

MR/RDD:灵活的编程模式;

存储结构化、半结构化和非结构化数据:全量数据存储;

可基于开放的X86架构服务器部署:扩容成本低;

扩展性:可以扩展到上千节点;

3.3.两种技术对比

MPP数据库与Hadoop技术具有各自的优缺点和适用场景,二者之间的对比如下:

MPP数据库为Shared Nothing架构,对于JOIN或GROUP BY操作,执行计划可以优化为直接通过本地计算完成关联或分组,而不需要进行各节点间重分布数据,处理性能优越。Hadoop是基于HDFS文件存储,需要通过扫描来定位数据,同时在计算中会有大量的节点间数据搬运和排序操作,对于大表复杂关联及GROUP BY处理性能较低。

MPP数据库擅长处理高价值密度的结构化数据,而Hadoop的优势在于处理非结构化数据和流数据。

Hadoop对数据的操作模型,更适合于只支持一次写入多次读取,QQ号拍卖平台数据更新性能较低;MPP数据库基于关系模型,其存储结构和处理结构可以支持任意对数据集合的更新和删除。

对于小数据量,MPP数据库和Hadoop生态的Spark在运算关系型上没有太大差异,但对于100TB级以上的数据处理,MPP数据库充分利用其内存管理和CBO设计上的优势,有比较Spark更强的性能优势。但在关系型运算之外,Spark在数据挖掘算法,尤其在基于迭代的算法执行方面具有优势。

Hadoop生态的Spark处理性能高,但也只有在内存中处理才能保证高性能,一旦内存不足,数据就需要存回到HDFS中,性能将会发生很大的抖动。

Hadoop对SQL兼容性不好,且调优算法复杂多样。MPP 数据库是关系型数据库,本身支持SQL,且执行计划有多年的积累,便于进行高效的优化。

MPP数据库擅长SQL编程解决的问题。Hadoop的MapReduce及RDD编程模型比较灵活,可以处理部分SQL不能处理的问题,例如机器学习等。

Hadoop采用Java开发,在运行时依赖JAVA虚拟机,内存需求较大时容易出现大量的内存垃圾,影响任务执行效率。MPP数据库有完善的内存管理,保证内存和磁盘之间数据置换的平滑性

MPP数据库可以有效的采取基于代价的优化(CBO),根据内部数据字典作动态优化数据的分析和处理。

3.4.混搭方案

综上所述,在大数据处理中MPP数据库和Hadoop技术均有其各自的优劣势以及适用的场景,在实际应用中必须采用MPP数据库和Hadoop技术的混搭方案,这样才可以充分发挥各自的优势,实现功能互补,解决大数据的诸多复杂需求。对于大规模的复杂分析、即席查询、多表复杂关联等场景,由MPP数据库处理;而非结构化数据处理、流处理以及大规模批量复杂作业,则由Hadoop架构负责。MPP数据库和Hadoop技术的混搭方案可以实现对全量数据的处理,满足各行业对大数据的应用需求。

  1. 没有银弹

当前数据管理技术发展很快,供我们选择的技术种类繁多。而面临大数据平台技术选型时,很难说哪种技术更好,因此我们要摒弃一种技术支撑所有应用的幻想。需求是选型中最重要的因素。根据需求,选取最合适的技术,针对多类需求,选取多种技术混搭来满足。引用Fred Brooks先生的经典论述:真正的银弹并不存在。最新的未必是最好的,以开放的心态面对所有技术类型,取我所需,为我所用。毕竟能够满足需求的技术,才是最好的技术。

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
1月前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
57 2
|
3月前
|
存储 数据可视化 数据管理
基于阿里云服务的数据平台架构实践
本文主要介绍基于阿里云大数据组件服务,对企业进行大数据平台建设的架构实践。
747 2
|
5月前
|
SQL 存储 分布式计算
【大数据技术Hadoop+Spark】Hive数据仓库架构、优缺点、数据模型介绍(图文解释 超详细)
【大数据技术Hadoop+Spark】Hive数据仓库架构、优缺点、数据模型介绍(图文解释 超详细)
248 0
|
5月前
|
存储 分布式计算 Hadoop
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
151 0
|
12天前
|
存储 运维 监控
|
1月前
|
消息中间件 大数据 Kafka
Kafka与大数据:消息队列在大数据架构中的关键角色
【4月更文挑战第7天】Apache Kafka是高性能的分布式消息队列,常用于大数据架构,作为实时数据管道汇聚各类数据,并确保数据有序传递。它同时也是数据分发枢纽,支持多消费者订阅,简化系统集成。Kafka作为流处理平台的一部分,允许实时数据处理,满足实时业务需求。在数据湖建设中,它是数据入湖的关键,负责数据汇集与整理。此外,Kafka提供弹性伸缩和容错保障,适用于微服务间的通信,并在数据治理与审计中发挥作用。总之,Kafka是现代大数据体系中的重要基础设施,助力企业高效利用数据。
37 1
|
5月前
|
监控 物联网 大数据
助力工业物联网,工业大数据之服务域:AirFlow的架构组件【三十二】
助力工业物联网,工业大数据之服务域:AirFlow的架构组件【三十二】
49 0
|
5月前
|
存储 分布式计算 大数据
首批!阿里云MaxCompute完成中国信通院基于无服务器架构大数据平台测试
近日,阿里云计算有限公司MaxCompute产品顺利完成中国信通院首批无服务器架构(Serverless)大数据平台测试。
229 0
|
5月前
|
存储 数据采集 大数据
大数据必知必会系列——数仓分层架构及三层架构流程[新星计划]
大数据必知必会系列——数仓分层架构及三层架构流程[新星计划]
158 0
|
5月前
|
分布式计算 算法 搜索推荐
阿里巴巴内部:全技术栈PPT分享(架构篇+算法篇+大数据)
我只截图不说话,PPT大全,氛围研发篇、算法篇、大数据、Java后端架构!除了大家熟悉的交易、支付场景外,支撑起阿里双十一交易1682亿元的“超级工程”其实包括以下但不限于客服、搜索、推荐、广告、库存、物流、云计算等。 Java核心技术栈:覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。 大数据:Spark、Hadoop

热门文章

最新文章