iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何进行大数据平台架构的设计
  • 279
分享到

如何进行大数据平台架构的设计

2023-06-02 06:06:44 279人浏览 安东尼
摘要

本篇文章为大家展示了如何进行大数据平台架构的设计,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  关于大数据平台架构的设计探究。麦肯锡全球研究所给出的定义是:一种规模大到在获取、存储、管理、分析方面

本篇文章为大家展示了如何进行大数据平台架构的设计,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

  关于大数据平台架构的设计探究。麦肯锡全球研究所给出的定义是:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。

  如果缺乏有效的数据整体架构设计或者部分能力缺失,会导致业务层难以直接利用大数据大数据,大数据和业务产生了巨大的鸿沟,这道鸿沟的出现导致企业在使用大数据的过程中出现数据不可知、需求难实现、数据难共享等一系列问题,本文介绍了一些数据平台设计思路来帮助业务减少数据开发中的痛点和难点。

  近年来,随着IT技术与大数据、机器学习算法方向的不断发展,越来越多的企业都意识到了数据存在的价值,将数据作为自身宝贵的资产进行管理,利用大数据和机器学习能力去挖掘、识别、利用数据资产。如果缺乏有效的数据整体架构设计或者部分能力缺失,会导致业务层难以直接利用大数据大数据,大数据和业务产生了巨大的鸿沟,这道鸿沟的出现导致企业在使用大数据的过程中出现数据不可知、需求难实现、数据难共享等一系列问题,本文介绍了一些数据平台设计思路来帮助业务减少数据开发中的痛点和难点。

  通过各种数据平台和组件将这些大数据组件结合起来打造一套高效、易用的数据平台来提高业务系统效能,让业务开发不在畏惧复杂的数据开发组件,无需关注底层实现,只需要会使用sql就可以完成一站式开发,完成数据回流,让大数据不再是数据工程师才有的技能。

  一、大数据技术栈

  大数据整体流程涉及很多模块,每一个模块都比较复杂,下图列出这些模块和组件以及他们的功能特性,后续会有专题去详细介绍相关模块领域知识,例如数据采集、数据传输、实时计算、离线计算、大数据储存等相关模块。

  大数据平台架构的设计探究_大数据视频_数据分析课程_数据结构视频_课课家

  二、lambda架构和kappa架构

  目前基本上所有的大数据架构都是基于lambda和kappa架构,不同公司在这两个架构模式上设计出符合该公司的数据体系架构。lambda架构使开发人员能够构建大规模分布式数据处理系统。它具有很好的灵活性和可扩展性,也对硬件故障和人为失误有很好的容错性,关于lambda架构可以在网上搜到很多相关文章。而kappa架构解决了lambda架构存在的两套数据加工体系,从而带来的各种成本问题,这也是目前流批一体化研究方向,很多企业已经开始使用这种更为先进的架构。

  Lambda架构

  Kappa架构

  三、kappa架构和lambda架构下的大数据架构

  目前各大公司基本上都是使用kappa架构或者lambda架构模式,这两种模式下大数据整体架构在早期发展阶段可能是下面这样的:

  四、数据端到端痛点

  虽然上述架构看起来将多种大数据组件串联起来实行了一体化管理,但是接触过数据开发的人会感受比较强烈,这样的裸露架构业务数据开发需要关注很多基础工具的使用,实际数据开发中存在很多痛点与难点,具体表现在下面一些方面。

  缺乏一套数据开发IDE来管理整个数据开发环节,长远的流程无法管理起来。

  没有产生标准数据建模体系,导致不同数据工程师对指标理解不同计算口径有误。

  大数据组件开发要求高,普通业务去直接使用HBase、ES等技术组件会产生各种问题。

  基本上每个公司大数据团队都会很复杂,涉及到很多环节,遇到问题难以定位难以找到对应负责人。

  难以打破数据孤岛,跨团队跨部门数据难以共享,互相不清楚对方有什么数据。

  需要维护两套计算模型批计算和流计算,难以上手开发,需要提供一套流批统一的SQL。

  缺乏公司层面的元数据体系规划,同一条数据实时和离线难以复用计算,每次开发任务都要各种梳理。

  基本上大多数公司在数据平台治理上和提供开放能力上都存在上述问题和痛点。在复杂的数据架构下,对于数据适用方来说,每一个环节的不清晰或者一个功能的不友好,都会让复杂链路变更更加复杂起来。想要解决这些痛点,就需要精心打磨每一个环节,将上面技术组件无缝衔接起来,让业务从端到端使用数据就像写SQL查询数据库一样简单。

  五、优秀的大数据整体架构设计

  提供多种平台以及工具来助力数据平台:多种数据源的数据采集平台、一键数据同步平台、数据质量和建模平台、元数据体系、数据统一访问平台、实时和离线计算平台、资源调度平台、一站式开发IDE。

  六、元数据-大数据体系基石

  元数据是打通数据源、数据仓库、数据应用,记录了数据从产生到消费的完整链路。元数据包含静态的表、列、分区信息(也就是metaStore)。动态的任务、表依赖映射关系;数据仓库的模型定义、数据生命周期;以及ETL任务调度信息、输入输出等元数据是数据管理、数据内容、数据应用的基础。例如可以利用元数据构建任务、表、列、用户之间的数据图谱;构建任务DAG依赖关系,编排任务执行序列;构建任务画像,进行任务质量治理;提供个人或BU的资产管理、计算资源消耗概览等。

  可以认为整个大数据数据流动都是依靠元数据来管理的,没有一套完整的元数据设计,就会出现上面的数据难以追踪、权限难以把控、资源难以管理、数据难以共享等等问题。

  很多公司都是依靠Hive来管理元数据,但是个人认为在发展一定阶段还是需要自己去建设元数据平台来匹配相关的架构。

  七、流批一体化计算

  如果维护两套计算引擎例如离线计算spark和实时计算flink,那么会对使用者造成极大困扰,既需要学习流计算知识也需要批计算领域知识。如果实时用Flink离线用Spark或者hadoop,可以开发一套自定义的DSL描述语言去匹配不同计算引擎语法,上层使用者无需关注底层具体的执行细节,只需要掌握一门DSL语言,就可以完成Spark和Hadoop以及Flink等等计算引擎的接入。

  八、实时与离线ETL平台

  ETL即Extract-TransfORM-Load,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。一般而言ETL平台在数据清洗、数据格式转换、数据补全、数据质量管理等方面有很重要作用。作为重要的数据清洗中间层,一般而言ETL最起码要具备下面几个功能:

  支持多种数据源,例如消息系统、文件系统等

  支持多种算子,过滤、分割、转换、输出、查询数据源补全等算子能力

  支持动态变更逻辑,例如上述算子通过动态jar方式提交可以做到不停服发布变更。

  九、智能统一查询平台

  大多数数据查询都是由需求驱动,一个需求开发一个或者几个接口,编写接口文档,开放给业务方调用,这种模式在大数据体系下存在很多问题:

  这种架构简单,但接口粒度很粗,灵活性不高,扩展性差,复用率低.随着业务需求的增加,接口的数量大幅增加,维护成本高企。

  同时,开发效率不高,这对于海量的数据体系显然会造成大量重复开发,难以做到数据和逻辑复用,严重降低业务适用方体验。

  如果没有统一的查询平台直接将Hbase等库暴露给业务,后续的数据权限运维管理也会比较难,接入大数据组件对于业务适用方同样很痛苦,稍有不慎就会出现各种问题。

  通过一套智能查询解决上述大数据查询痛点问题

  十、数仓建模规范体系

  随着业务复杂度和数据规模上升,混乱的数据调用和拷贝,重复建设带来的资源浪费,数据指标定义不同而带来的歧义、数据使用门槛越来越高。以笔者见证实际业务埋点和数仓使用为例,同一个商品名称有些表字段是Good_id,有些叫spu_id,还有很多其他命名,对于想利用这些数据人会造成极大困扰。因此没有一套完整的大数据建模体系,会给数据治理带来极大困难,具体表现在下面几个方面:

  数据标准不一致,即使是同样的命名,但定义口径却不一致。例如,仅uv这样一个指标,就有十几种定义。带来的问题是:都是uv,我要用哪个?都是uv,为什么数据却不一样?

  造成巨大研发成本,每个工程师都需要从头到尾了解研发流程的每个细节,对同样的“坑”每个人都会重新踩一遍,对研发人员的时间和精力成本造成浪费。这也是目标笔者遇到的困扰,想去实际开发提取数据太难。

  没有统一的规范标准管理,造成了重复计算等资源浪费。而数据表的层次、粒度不清晰,也使得重复存储严重。

  因此大数据开发和数仓表设计必须要坚持设计原则,数据平台可以开发平台来约束不合理的设计,例如阿里巴巴的OneData体。一般而言,数据开发要经过按照下面的指导方针进行:

  十一、一键集成平台

  很简单的就能将各种各式数据一键采集到数据平台,通过数据传输平台将数据无缝衔接到ETL平台。ETL通过和元数据平台打通,规范Schema定义,然后将数据转换、分流流入到实时与离线计算平台,后续任何针对该数据离线和实时处理,只需要申请元数据表权限就可以开发任务完成计算。数据采集支持多种各式数据来源,例如binlog、日志采集、前端埋点、kafka消息队列

  十二、数据开发IDE-高效的端到端工具

  高效的数据开发一站式解决工具,通过IDE可以完成实时计算与离线计算任务开发,将上述平台全部打通提供一站式解决方案。数据开发IDE提供数据集成、数据开发、数据管理、数据质量和数据服务等全方位的产品服务,一站式开发管理的界面,通过数据IDE完成对数据进行传输、转换和集成等操作。从不同的数据存储引入数据,并进行转化和开发,最后将处理好的数据同步至其他数据系统。通过高效率的大数据开发IDE,基本上让大数据工程师可以屏蔽掉各种痛点,将上述多种平台能力结合起来,让大数据开发可以向写SQL一样简单。

上述内容就是如何进行大数据平台架构的设计,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: 如何进行大数据平台架构的设计

本文链接: https://www.lsjlt.com/news/229276.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何进行大数据平台架构的设计
    本篇文章为大家展示了如何进行大数据平台架构的设计,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  关于大数据平台架构的设计探究。麦肯锡全球研究所给出的定义是:一种规模大到在获取、存储、管理、分析方面...
    99+
    2023-06-02
  • 如何进行大数据平台的搭建和数据分析
    如何进行大数据平台的搭建和数据分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  行内人士皆知,大数据分析平台的搭建有利于帮助企业构建统一的数据存储和数据处理...
    99+
    2023-06-02
  • DKHadoop大数据平台架构有什么用
    这篇文章主要介绍了DKHadoop大数据平台架构有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。大快Dkhadoop,可以说是集成了整个HADOOP生态系统的全部组件,...
    99+
    2023-06-02
  • PDM的分布式虚拟设计平台架构
    3.1基于PDM的分布式虚拟设计平台体系结构基于PDM的分布式虚拟设计平台可以分为四个层面,从高到低依次为界面层、应用工具层、对象管理层和支撑环境层,如图3.1所示。 图3.1基于PDM的分布式虚拟设计平台体系结构 (1...
    99+
    2023-06-05
  • hadoop大数据平台架构之DKhadoop的示例分析
    这篇文章给大家分享的是有关hadoop大数据平台架构之DKhadoop的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。目前国内的商业发行版hadoop除了大快DKhadoop以外还有像华为云等。虽然发行方...
    99+
    2023-06-02
  • 如何进行图数据库Nebula Graph 的数据模型和系统架构设计
    本篇文章为大家展示了如何进行图数据库Nebula Graph 的数据模型和系统架构设计,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。下面主要介绍 Nebula Gr...
    99+
    2024-04-02
  • 大数据的数仓平台设计思路是什么
    这篇文章主要讲解了“大数据的数仓平台设计思路是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“大数据的数仓平台设计思路是什么”吧!下图为数仓整体的技术架构:一个优秀可靠的数仓,一定要结构、...
    99+
    2023-06-05
  • 大数据环境下互联网行业数据仓库/数据平台的架构之漫谈
    导读:整体架构数据采集数据存储与分析数据共享数据应用实时计算任务调度与监控元数据管理总结一直想整理一下这块内容,既然是漫谈,就想起什么说什么吧。我一直是在互联网行业,就以互联网行业来说。先大概列一下互联网行业数据仓库、数据平台的用途:整合公...
    99+
    2023-06-05
  • PHP中如何进行软件产品的架构设计?
    随着互联网的发展,PHP作为一种常用的编程语言,被广泛应用于Web开发和软件开发中。在进行PHP软件产品的开发过程中,架构设计是至关重要的一环。本文将介绍在PHP中如何进行软件产品的架构设计。一、什么是软件架构?软件架构指的是软件系统的结构...
    99+
    2023-05-14
    PHP 架构设计 软件产品。
  • 系统架构设计高级技能 · 大数据架构设计理论与实践
    系列文章目录 系统架构设计高级技能 · 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】 系统架构设计高级技能 · 系统质量属性与架构评估(二)【系统架构设计师】 系统架构设计高级技能 · 软件可靠性分析与设计(...
    99+
    2023-08-30
    系统架构
  • C++开发建议:如何进行C++代码的跨平台设计
    C++开发建议:如何进行C++代码的跨平台设计随着移动设备和操作系统的不断涌现,跨平台开发已经成为当今软件开发领域的一个重要话题。特别是在C++开发领域,跨平台设计更是一个挑战和机遇并存的问题。本文旨在探讨C++开发中的跨平台设计,分析其重...
    99+
    2023-11-22
    代码设计 跨平台编程 C++开发建议
  • 基于微服务和Docker的PaaS云平台架构设计
      基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发、部署、运维管理、持续开发持续集成的流程。平台提供基础设施、中间件、数据服务、云服务器等资源,开发人员只需要开发业务代码并提交到平台代码库...
    99+
    2023-06-03
  • PHP中如何进行大数据管理和数据仓库设计?
    随着互联网的普及和Web应用的发展,数据管理和数据仓库设计成为了Web开发的重要环节之一。PHP是一种广泛应用于Web开发的编程语言,那么在PHP中如何进行大数据管理和数据仓库设计呢?本文将为您一一解答。一、大数据管理数据库的选择及优化在P...
    99+
    2023-05-21
    数据分析 PHP大数据管理 数据仓库设计
  • 如何进行数据库的架构整体分析
    这期内容当中小编将会给大家带来有关如何进行数据库的架构整体分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  很少谈架构方面的事情,主要是因为这确实是个对知识面和知识深...
    99+
    2024-04-02
  • 国企如何进行数据中台建设?
    国企如何进行数据中台建设?最近一位国企的技术线领导问我:”茂森,像我们这样的国企应该怎样做中台建设呢?”说实话,以前还从来没有想过这个问题,当时只能从一些比较泛的角度做了一些回答。回家后对党的理论、政策做了一些学习,结合起在阿里、滴滴做数据...
    99+
    2023-06-05
  • 如何进行SAP云平台上的SSO Principal Propagation设置
    这篇文章将为大家详细讲解有关如何进行SAP云平台上的SSO Principal Propagation设置,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。我今天试图使用SAP云平台的SAP W...
    99+
    2023-06-03
  • Wormhole大数据流式处理平台的设计思想是怎样的
    本篇文章为大家展示了Wormhole大数据流式处理平台的设计思想是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。导读:互联网的迅猛发展使得数据不再昂贵,而如何从数据中更快速获取价值变得日益重要...
    99+
    2023-06-19
  • 大数据总线平台DBus设计思路与工作原理
    大数据总线平台DBus设计思路与工作原理,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、背景企业中大量业务数据保存在各个业务系统数据库中,过去通常的同步数据的...
    99+
    2023-06-02
  • 大型网站的可伸缩性架构如何设计?
    1. 网站架构的伸缩性设计1.1. 不同功能进行物理分离实现伸缩纵向分离(分层后分离):将业务处理流程上的不同部分分离部署,实现系统伸缩性。横向分离(业务分割后分离):将不同的业务模块分离部署,实现系统伸缩性。1.2. 单一功能通过集群规模...
    99+
    2023-06-02
  • 如何使用PL/SQL进行数据库设计
    数据库设计是一个重要的过程,它涉及到数据库结构和数据的组织。PL/SQL是一种用于Oracle数据库管理系统的编程语言,它可以用于创...
    99+
    2024-05-07
    PL/SQL
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作