开源多组件数据中台整体框架设计 您所在的位置:网站首页 flash必要组件未运行无法修复 开源多组件数据中台整体框架设计

开源多组件数据中台整体框架设计

2023-06-08 03:50| 来源: 网络整理| 查看: 265

  亚里士多德的《辩证法》首先提出了“三段论”的论证思维工具,即论据、论点和结论,并指出每个部分都必须具有必要的条件,以确保整个论证的有效性。本文参考该论证思维工具,结合自身的工作经验,来论证下当前为什么“开源多组件数据中台”是政务数据应用的选择之一。

一、什么是数据中台?

  数据中台是一个数据管理的中心平台,它汇聚了各种数据源,包括结构化数据、半结构化数据和非结构化数据,并对这些数据进行清洗、处理、存储和分析,以支持组织的业务决策和数据驱动的业务发展。数据中台的主要功能包括数据整合、数据治理、数据存储、数据分析和数据展示。通过数据中台的建设,组织可以更好地管理和利用数据,提高数据驱动的能力,实现业务的创新和发展。

  数据中台不是一个大应用、大系统,它更像是一套可持续“让数据用起来”的解决方案,是一个具备数据管理和分析平台,旨在整合和治理企业内部和外部的各种数据,将数据转化为可操作的资产,并为组织提供更灵活、高效、低成本的数据分析和挖掘服务。数据中台的组成包括数据准备、数据转换、数据存储、数据分析、数据服务等多个组件模块,以及它们提供相应的技术和服务支持。

请添加图片描述

  图1.开源多组件数据中台架构图

请添加图片描述

  图2.数据仓库架构图

  如上图1,是本文推荐使用的开源多组件数据中台架构图,括号内的组件均为开源的应用组件。主要可以分为数据采集层、数据仓库层(也叫数据存储)、数据治理分析层、数据服务层四层。其中:

数据采集包括采集、清洗、处理和存储等步骤,将原始数据转化为可用于分析和挖掘的格式。**数据仓库(数据存储)**是将数据存储在集中式的数据库中,包括关系型数据库、非关系型数据库等,实现数据的高效存储和管理。数据治理分析是对数据进行全面的治理,包括数据质量管理、元数据管理、数据安全等方面。通过对数据进行治理,可以确保数据的准确性、可靠性和安全性,并且可以提高数据的使用效率。数据服务将数据服务集成在一起,为企业提供更灵活、高效、低成本的数据分析和挖掘服务,支持业务决策和发展;同时还提供了可视化的工具,可以将数据分析结果以图表的形式展示出来,方便用户快速了解数据分析结果。

  如上图2,是本文推荐使用的数据仓库(数据存储)架构图。主要也分为数据贴源层(ODS)、基础明细层(DWD)、轻度汇总层(DWS)、主题应用层(DM)。其中:

**数据贴源层(ODS)**主要负责采集数据,包括从各个业务系统、数据库或者其他数据源中获取数据。**基础明细层(DWD)**是数据仓库中的一个核心层,主要用于支撑数据仓库的核心业务需求。在这一层中,会将从数据源层获取的数据按照主题建立各种数据模型,包括基础的明细数据、维度数据等,以支撑数据仓库中的多维分析和数据挖掘任务。**轻度汇总层(DWS)**是数据仓库中的一个过渡层次,主要用于对DWD层的生产数据进行轻度综合和汇总统计。轻度汇总层的主要功能是对DWD层的数据进行汇总和统计,将其转换为更易于分析和挖掘的格式,以支撑分析型应用的需求。**主题应用层(DM)**是数据仓库中的一个应用层,主要用于支撑主题业务需求。在这一层中,会将从数据源层获取的数据按照主题建立各种数据模型,包括基础的明细数据、维度数据等,以支撑主题业务需求。 二、为什么用开源多组件数据中台? (一)市面上数据中台产品市场分析

  目前,市面上也有很多数据中台产品,有开源的,也有非开源的。下面将我了解的几套数据中台产品进行简单介绍。

开源数据中台 **微众银行WeDataSphere(简称DSS)**是一套一站式、金融级、全连通、开源开放的大数据平台套件。基础平台由数据交换、数据分发、计算、存储四大层次组成,关注底层数据传输计算存储能力;功能平台由平台工具、数据工具、应用工具三大层次组成,关注用户各类功能工具需求实现。形成了完整的大数据平台技术体系,提供一站式的丰富数据平台组件及功能支撑。开源访问地址:https://gitee.com/WeBank/WeDataSphere/

请添加图片描述

AWS实验室的DataAll产品是一款基于Apache NiFi的数据湖聚合管理工具,旨在帮助用户轻松地处理、存储和分析海量数据。它允许用户将多个数据源聚合成单个数据集,并支持不同的聚合方式,如选择性聚合、归一化聚合,并且提供了丰富的可视化界面,用户可以轻松地查看数据集的聚合结果,并根据需求调整聚合参数;DataAll还支持多种数据传输方式,包括AWS S3、Amazon Redshift、Hadoop HDFS等,并提供了多种数据处理工具,如数据过滤、转换和验证等,以提高数据处理效率。开源访问地址:https://github.com/awslabs/aws-dataall

请添加图片描述

非开源数据中台 **阿里云数据中台(DataWorks)**是阿里云提供的一种数据管理与分析平台,旨在帮助用户统一管理数据、构建数据仓库、进行数据分析并优化数据应用。它具备数据集成、数据治理、数据存储、数据分析、数据挖掘、数据应用等通用能力,是一款功能强大、灵活可靠的数据管理与分析平台,可以帮助用户快速构建和管理数据仓库,进行复杂的数据分析和挖掘任务。访问地址:https://dp.alibaba.com/product/dataphin,https://www.aliyun.com/product/bigdata/ide

请添加图片描述

数澜科技数栖平台是一款一站式大数据研发管理平台,提供数据资产开发、数据资产治理、数据资产运营、数据资产应用的全链路解决方案。通过数栖平台,企业可以快速构建数据中台,沉淀数据资产,深度挖掘数据价值,让数据资产快速、持续地产生价值。数栖平台在技术能力创新方面表现出色,基于数澜科技大数据专家多年的实战经验,对企业数据应用链路进行了完整的体系化设计。经过众多业务场景的验证,确保整个平台高效、安全、可靠。其中,数栖平台核心模块「数栖-算法平台」、「数栖-数据资产管理平台」更是凭借着优异表现,率先通过了中国信通院大数据产品能力评测。总之,树澜科技的数栖平台是一款功能强大、性能优异、兼容性好、易于使用的大数据研发管理平台,为企业提供了一站式的大数据解决方案,帮助企业快速构建数据中台,提升数据资产价值,加速数字化转型。访问地址:https://www.dtwave.com/dataplatform 请添加图片描述

(二)开源多组件数据中台和市面上数据中台优劣势分析

市面上数据中台的优劣势:

优势:集成化程度高,多数是Springcloud微服务的Web应用,多个组件模块集成到统一平台里进行使用;一般具备用户权限体系,方便推广使用。

劣势:

(1)开源数据中台部署门槛高、学习成本也高,想添加个性化功能难度大,如微众银行DSS大数据平台和AWS的DataAll平台均是对部署环境要求高、极难部署成功;

(2)非开源数据中台部署成本高,毕竟是公司自主产品,部署需要一笔不少费用,至少也是百万起步;

(3)集成化程度高带来的部署应用庞大复杂,整体应用较重,对服务器的资源要求高,最低配置需要(8G内存+100G磁盘)。

(4)维护成本高,凡软件产品,就不可能不出现bug,当此类大平台个别服务出现bug问题时,就需要服务公司投入人员进行修复,此过程不可控。

开源多组件数据中台的优劣势:

优势:

(1)部署成本低,各组件均选择开源工具,免费下载安装包开箱使用;

(2)开源多组件数据中台不是一个集成平台,是可以由多独立组件共同构成,组件可按需进行选择,带来的好处是对部署环境要求低,普通个人笔记本就可以下载其中一些组件进行实际使用;

(3)开源多组件数据中台是经过长达一年左右时间的试部署、试应用,经过实际工作验证有效的工具,避免了踩坑;

(4)还可提供适配于国产操作系统统信UOS的部署安装包,国产化适配程度高。

劣势:1)非集成化产品,运维管理效率不高;2)目前暂时缺少统一的用户权限体系,不适用于大规模推广应用,仅适用于部门内部系统间进行使用。

  答疑:网友可能会有疑问,为什么博主会免费分享这套开源多组件数据中台呢?原因有二:一是随着DT数据时代的到来,数据作为社会生产要素之一,重要性越来越高,但当前各地政府负债压力较大,政务信息化中的数据治理应用环节可以适当采用开源产品开展应用,节省资金成本,为政务信息化发展贡献一点绵薄之力;二是开源的软件产品生命力才是最顽强的,一起使用、一起维护完善,才能使开源的软件产品越来越好,一起进步。

三、怎么搭开源多组件数据中台?

开源多组件数据中台采用的都是开源组件,下面依次分享各组件的开源访问网址和安装包:

(一)数据采集层

ETL工具Kettle是一款开源的数据提取、转换和整合工具,具有200多个功能组件,它可以将来自不同数据源的数据整合到一个数据仓库中,并通过各种数据分析工具进行分析和挖掘。

Kettle支持Postgresql、Mysql、Oracle、达梦数据库等多种主流数据源,包括关系型数据库、文件系统、数据库等,并且可以与各种编程语言和工具进行集成,例如Java、Python、R、SAS等。

Kettle的主要特点包括:

开源:Kettle是一款开源的软件,可以免费使用和修改,并且有大量的社区支持。可扩展性:Kettle支持定制化开发,可以根据用户的需求进行扩展和定制。高效性:Kettle采用了多线程和分布式处理技术,可以快速地处理大量的数据。灵活性:Kettle提供了多种数据转换和整合工具,可以满足不同的数据分析需求。可视化:Kettle提供了多种可视化工具,可以将数据转换成各种图表和报表。

部署环境要求:Window系统/统信UOS系统、JDK1.8

**Kettle安装包下载地址:**https://sourceforge.net/projects/pentaho/files/

Kettle中文网使用手册地址:http://www.kettle.org.cn/category/demo

**Kettle安装包下载地址:**链接:https://pan.baidu.com/s/1mRosWZzlDja_aaPf2MjnIA,提取码:微信搜索“开源多组件数据中台”,关注后,发送“kettle”即可获取。

**Kettle统信UOS环境安装包下载地址:**链接:https://pan.baidu.com/s/1LveWLcu6n5Fp3REmHftHTA,提取码:微信搜索“开源多组件数据中台”,关注后,发送“kettle-UOS”即可获取。

**中国通信院出品国产Ckettle统信UOS环境及安装包下载地址:**链接:https://pan.baidu.com/s/1vqUVdRnVjWGkD0b4xueUcg,提取码:微信搜索“开源多组件数据中台”,关注后,发送“Ckettle”即可获取。

spiderflow爬虫是一个基于Spring Boot和Layui开发的前后端不分离的爬虫工具,它可以帮助开发者快速构建网络爬虫,并通过图形化界面定义爬虫流程。SpiderFlow具有以下特点:

无需代码:SpiderFlow使用图形化界面来定义爬虫流程,无需编写一行代码。只需根据界面提示选择相应的菜单,即可快速构建一个爬虫。易于上手:SpiderFlow提供了丰富的提示和教程,可以帮助用户快速上手。即使对于没有编程经验的用户,也可以在短时间内掌握使用方法。灵活性强:SpiderFlow允许用户自定义爬虫的各种参数,如网页抓取间隔、抓取频率、是否允许跨域等。这使得用户可以根据自己的需求来构建一个符合要求的爬虫。安全性高:SpiderFlow具有良好的安全性设置,可以帮助用户防止爬虫攻击,如阻止IP地址的抓取、设置禁止访问的页面等。

总体来说,SpiderFlow是一个易于使用、功能强大的爬虫工具,可以帮助开发者快速构建高效、安全的网络爬虫。

请添加图片描述

在开源站点Gitee的Web爬虫开源项目中,Spiderflow使用人数和收藏数最多,是目前应用最广泛的爬虫工具。

主要应用场景:1)爬取互联网公开的各种网页资源;2)轮询单条查询接口,定期下沉全量数据

部署环境要求:Window系统/统信UOS系统、JDK1.8

**Spiderflow开源代码地址:**https://gitee.com/ssssssss-team/spider-flow

Spiderflow使用手册地址:https://www.spiderflow.org/intro.html

用户可自行下载源代码通过IDE配置数据库连接信息后编译即可运行,具备一点软件开发基础的工程师即可完成。

开源版本的Spiderflow是无需登录即可访问,极容易被扫描到服务端口进而被攻击,导致服务暂停报错或者数据库被窃取,开源多组件数据中台提供包含登录校验的spiderflow安全版本,极大提升爬虫工具的安全性。

含登录验证的spiderflow安全版本源码:微信搜索“开源多组件数据中台”,关注后,发送“安全版spiderflow”即可获取源码网址。

​ 对于政府部门信息维护人员而言,部署spiderflow自己要下载源码,同时安装mysql数据库,还要使用IDE编译后才能使用,这个过程中成功与否还与电脑环境有很大关系,电脑环境或者IDE编译参数没有配置好有可能部署不成功,那有没有在Windows或统信UOS环境下,傻瓜式一键部署就可以使用的方法呢?答案是肯定有,那就是docker一键部署。

Docker 是一种开源的容器化技术,它允许开发人员将应用程序及其依赖项打包到一个轻量级的、可移植的容器中,从而简化了应用程序的部署和管理。以下是Docker的几个主要优势:

轻量级:Docker 容器比传统的虚拟机或裸机更轻量级,因此可以更轻松地在不同的环境中部署和扩展。可移植性:Docker 可以将应用程序及其依赖项打包到一个轻量级的、可移植的容器中,这使得应用程序可以在不同的操作系统和硬件环境中运行。高度可配置:Docker 提供了丰富的配置选项,可以让开发人员根据需要自定义容器的行为。例如,可以设置容器的内存大小、CPU核数等。安全性:Docker 可以在容器内部署独立的、可隔离的环境,从而增强了应用程序的安全性。容器中的应用程序可以使用独立的端口、IP地址和网络协议,从而减少了相互影响的可能性。管理性:Docker 提供了一组强大的管理工具,可以帮助开发人员轻松地部署、管理和监控容器。这些工具包括构建、克隆、备份、迁移等。无状态服务:Docker 可以使应用程序在切换不同的环境时自动保存状态,从而减少了数据丢失的风险。持续集成和持续部署:Docker 支持持续集成和持续部署,这意味着应用程序可以在开发完成后立即进行部署,而无需等待长时间的构建过程。

总之,Docker 通过将应用程序及其依赖项打包到一个轻量级的、可移植的容器中,简化了应用程序的部署和管理,提高了开发效率,增强了应用程序的安全性和可管理性。

开源多组件数据中台团队就是将安全版spiderflow和需要的mysql数据库、jdk环境打包成一个docker镜像,用户只需要在windows/linux/统信UOS任一操作系统上安装了docker环境后,一键运行docker镜像即可启动服务。

**docker及docker-compose环境一键安装包:**链接:https://pan.baidu.com/s/1sIK7rIpqW8WawtqFVmfzxg,提取码:微信搜索“开源多组件数据中台”,关注后,发送“docker”即可获取。

**统信UOS的docker及docker-compose环境一键安装包:**链接:https://pan.baidu.com/s/1PMGVNnZBnyDaJ__DsfxFvQ 提取码:微信搜索“开源多组件数据中台”,关注后,发送“docker-UOS”即可获取。

**安全版Spiderflow源码仓库:**源码仓库地址:微信搜索“开源多组件数据中台”,关注后,发送“安全版spiderflow”即可获取。

**安全版Spiderflow docker镜像:**链接:https://pan.baidu.com/s/19OBbpFKEkHe3O_rUr_ZRow,提取码:微信搜索“开源多组件数据中台”,关注后,发送“spiderflow-img”即可获取。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有