【赵渝强老师】基于大数据组件的平台架构

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 3个月
简介: 本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。

1.png

在了解了大数据各个生态圈所包含的组件及其功能特性后,就可以利用这些组件来搭建一个大数据平台从而实现数据的存储和数据的计算。下图展示了大数据平台的整体架构。


大数据平台的Lambda架构视频讲解如下:


大数据平台的Kappa架构视频讲解如下:


大数据平台的总体架构可以分为五层,分别是:数据源层、数据采集层、大数据平台层、数据仓库层和应用层


一、数据源层

数据源层的主要功能是负责提供各种需要的业务数据,例如:用户订单是数据、交易数据、系统的日志数据等等,总之把能够提供的数据都可以称之为数据源。尽管数据源的种类多种多样,在大数据平台体系中可以把它们划分成两大类,即:离线数据源和实时数据源。顾名思义,离线数据源用于大数据离线计算中;而实时数据源用于大数据实时计算中。


二、数据采集层

有了底层数据源的数据,就需要使用ETL工具完成数据的采集、转换和加载。在Hadoop体系中就提供了这样的组件。例如可以使用Sqoop完成大数据平台与关系型数据库的数据交换;使用Flume完成对日志数据的采集。除了大数据平台体系本身提供的这些组件外,爬虫也是一个典型的数据采集方式。当然也可以使用第三方的数据采集工具,例如:DataX和CDC完成数据的采集工作。


为了解决数据源层和数据采集层之间的耦合度,可以在这两层之间加入数据总线。数据总线并不是必须的,它的引入只是为了在进行系统架构设计的时候,降低层与层之间的耦合。


三、大数据平台层

这是整个大数据体系中最核心的一层用于完成大数据的存储和大数据的计算。由于大数据平台可以看成数据仓库的一种实现方式,进而又可以分为离线数据仓库和实时数据仓库。下面分别进行介绍。


  • 基于大数据技术的离线数据仓库实现方式

底层的数据采集层得到数据后,通常可以存储在HDFS或者HBase中。然后由离线计算引擎,如:MapReduce、Spark Core、Flink DataSet完成离线数据的分析与处理。为了能够在平台上对各种计算引擎进行统一的管理和调度,可以把这些计算引擎都运行在Yarn之上;接下来就可以使用Java程序或者Scala程序来完成数据的分析与处理。为了简化应用的开发,在大数据平台体系中,也支持使用SQL语句的方式来处理数据,即:提供了各种数据分析引擎,例如:Hadoop体系中的Hive,其默认的行为是Hive on MapReduce。这样就可以在Hive中书写标准的SQL,从而由Hive的引擎将其转换成MapReduce,进而运行在Yarn之上来处理大数据。常见的大数据分析引擎除了Hive,还有Spark SQL和Flink SQL。


  • 基于大数据技术的实时数据仓库实现方式

底层的数据采集层得到实时数据后,为了进行数据的持久化同时保证数据的可靠性,可以将其采集的数据存入消息系统Kafka;进而由各种实时计算引擎,如:Storm、Spark Stream和Flink DataStream进行处理。与离线数据仓库一样,可以把这些计算引擎运行在Yarn之上,同时支持SQL语句的方式对实时数据进行处理。


离线数据仓库和实时数据仓库在实现的过程中,可能会用到一些公共的组件,例如:使用MySQL存储的元信息、使用Redis进行缓存,包括使用ElasticSearch(简称ES)完成数据的搜索等等。


四、数据仓库层

   

有了大数据平台层的支持就可以进一步地搭建数据仓库层了。而在搭建数据仓库模型的时候,又可以基于星型模型或者雪花模型进行搭建。前面曾经提到的数据集市和机器学习的算法也可以划归到这一层中。


五、应用层

   

有了数据仓库层的各种数据模型和数据后,就可以基于这些模型和数据去实现各种各样的应用场景了。例如:电商中的热门商品分析、图计算中的社交网络分析、推荐系统的实现、风险控制,以及行为预测等等。




相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
24天前
|
存储 安全 应用服务中间件
【赵渝强老师】Docker的体系架构
Docker采用客户端-服务器架构,客户端与守护进程通过sockets或RESTful API通信。守护进程负责构建、运行和分发容器。镜像仓库(如Docker Hub和Harbor)存储镜像,容器则基于镜像创建,是运行应用的安全平台。
【赵渝强老师】Docker的体系架构
|
24天前
|
大数据
【赵渝强老师】大数据主从架构的单点故障
大数据体系架构中,核心组件采用主从架构,存在单点故障问题。为提高系统可用性,需实现高可用(HA)架构,通常借助ZooKeeper来实现。ZooKeeper提供配置维护、分布式同步等功能,确保集群稳定运行。下图展示了基于ZooKeeper的HDFS HA架构。
|
24天前
|
存储 缓存 NoSQL
【赵渝强老师】基于Redis的旁路缓存架构
本文介绍了引入缓存后的系统架构,通过缓存可以提升访问性能、降低网络拥堵、减轻服务负载和增强可扩展性。文中提供了相关图片和视频讲解,并讨论了数据库读写分离、分库分表等方法来减轻数据库压力。同时,文章也指出了缓存可能带来的复杂度增加、成本提高和数据一致性问题。
【赵渝强老师】基于Redis的旁路缓存架构
|
24天前
|
SQL 存储 缓存
【赵渝强老师】MySQL的体系架构
本文介绍了MySQL的体系架构,包括Server层的7个主要组件(Connectors、Connection Pool、Management Service & Utilities、SQL Interface、Parser、Optimizer、Query Caches & Buffers)及其作用,以及存储引擎层的支持情况,重点介绍了InnoDB存储引擎。文中还提供了相关图片和视频讲解。
【赵渝强老师】MySQL的体系架构
|
24天前
|
SQL 存储 数据库
【赵渝强老师】基于Flink的流批一体架构
本文介绍了Flink如何实现流批一体的系统架构,包括数据集成、数仓架构和数据湖的流批一体方案。Flink通过统一的开发规范和SQL支持,解决了传统架构中的多套技术栈、数据链路冗余和数据口径不一致等问题,提高了开发效率和数据一致性。
|
24天前
|
存储 Oracle NoSQL
【赵渝强老师】Oracle的体系架构
Oracle数据库的核心在于其体系架构,主要包括数据库与实例、存储结构、进程结构和内存结构。数据库由物理文件组成,实例则是内存和进程的组合。存储结构分为逻辑和物理两部分,进程结构涉及多个后台进程如SMON、PMON、DBWn等,内存结构则包含SGA和PGA。掌握这些知识有助于更好地管理和优化Oracle数据库。
|
24天前
|
Kubernetes API 调度
【赵渝强老师】Kubernetes的体系架构
本文介绍了Kubernetes的体系架构及其核心组件。Kubernetes采用主从分布式架构,由master主节点和多个node工作节点组成。master节点负责集群管理和调度,运行API Server、scheduler、controller-manager等服务组件;node节点运行kubelet、kube-proxy和Docker容器守护进程,负责实际业务应用的运行。文章还简要介绍了Kubernetes的附加组件及其作用。
|
24天前
|
SQL 分布式计算 Java
【赵渝强老师】Hive的体系架构
Hive是基于Hadoop的数据仓库平台,提供SQL-like的HQL语言进行数据分析,无需编写复杂的Java代码。Hive支持丰富的数据模型,可将SQL语句转换为MapReduce任务在Yarn上运行,底层依赖HDFS存储数据。Hive可通过CLI、JDBC和Web界面执行SQL查询。
|
24天前
|
存储 缓存 NoSQL
【赵渝强老师】Memcached集群的架构
Memcached 是一个高性能的分布式内存对象缓存系统,通过在内存中维护一个巨大的 Hash 表来存储各种格式的数据,如图像、视频、文件及数据库检索结果等。它主要用于减轻数据库压力,提高网站系统的性能。Memcached 不支持数据持久化,因此仅作为缓存技术使用。其数据分布式存储由客户端应用程序实现,而非服务端。
【赵渝强老师】Memcached集群的架构
|
24天前
|
SQL 分布式计算 大数据
【赵渝强老师】大数据生态圈中的组件
本文介绍了大数据体系架构中的主要组件,包括Hadoop、Spark和Flink生态圈中的数据存储、计算和分析组件。数据存储组件包括HDFS、HBase、Hive和Kafka;计算组件包括MapReduce、Spark Core、Flink DataSet、Spark Streaming和Flink DataStream;分析组件包括Hive、Spark SQL和Flink SQL。文中还提供了相关组件的详细介绍和视频讲解。

相关产品

  • 云原生大数据计算服务 MaxCompute