数据资源管理平台建设目标数据仓库架构设计
传统的数据存储和分析技术已经无法支撑大数据的存储和挖掘。 大数据能力作为传统数据仓库的重要增强和组成部分,可以灵活满足业务分析需求。
数据仓库框架
基于XX公司在数据仓库规划和建设项目中积累的经验,对比全球公用事业行业的领先实践案例,结合XX集团公司的实际现状和未来发展需求,提出了XX集团数据仓库框架。
该框架主要描述了XX公司数据仓库建设所需的各个组件及相关架构。 其主要组成部分包括:
数据源定义
数据源是存储最终用户报告所需的各种信息的来源。 它是运营和交易处理业务应用系统(如燃料管理和控制系统、人力资源系统、财务系统等)收集和存储的数据的集合。 数据仓库一般从满足报告和分析需求的单个数据源或多个数据源开始,并在整个数据仓库生命周期中逐渐扩展,并根据需要逐渐合并来自更多数据源和外部系统的数据。
随着物联网和移动互联网、手机、智能终端、网上商城、社交网络、电子通信、卫星定位等的发展和应用,任何操作都会产生大量的各类数据。 数据已成为社会生活的重要生产要素,其在当今数字社会中的作用日益关键。 为了支撑XX集团后续的大数据分析和挖掘需求,未来需要考虑大数据源的整理和定义。
组件架构定义
数据仓库存储架构
数据仓库存储架构由数据仓库中包含的所有数据存储区域组成。 同时,这个架构还包括数据的物理分布和处理,以及支持这些数据存储区域的硬件和软件系统。
虽然数据仓库是集中式的数据集合,但为了满足用户对性能、可用性和可扩展性的需求,企业可以通过多种路径实现端到端的数据仓库技术架构。 数据仓库存储架构实现路线的目标是构建能够满足用户和运营需求的数据存储方法和物理分配方法。
数据仓库存储架构内的数据存储区域主要包括:数据缓冲区(Data)、数据仓库区域(Data)、操作数据存储区域(ODS)、数据集市(Data Mart)、大数据存储等,而数据的仓库存储架构的组成根据最终用户的实际业务需求而有所不同。
ETL架构
ETL架构主要提供与数据转储和数据移动控制相关的各种流程和服务,完成将数据导入数据仓库的工作。 ETL架构主要由以下服务组成,可以确保数据定期正确地导入数据仓库:任务调度、批处理文件控制、错误处理、异常处理、文件和数据传输、审计和验证。
前端显示架构
前端呈现架构主要负责通过各种前端呈现工具将数据仓库中的数据呈现给最终用户。
元数据管理定义
元数据管理包括元数据的定义、收集、控制和发布。 由于元数据管理存在于数据仓库的每个单元内,因此它是数据仓库架构框架中相对独立的部分。 因此,数据仓库需要有标准化的元数据定义、收集和利用机制。
元数据是关于数据的数据,在业务术语和物理数据库之间建立对应关系。 元数据用于在业务视图和技术视图中描述数据仓库中存储的数据。 元数据在开发过程中并不是一个新概念。 通常,我们使用元数据来定义文件结构,定义数据模型中数据属性的命名、数据长度和标准,定义数据属性到数据属性、数据属性到报表的映射关系。
元数据主要包括业务元数据和技术元数据:
业务元数据是最终用户描述特定业务信息的含义、质量和及时性所需的数据。 更关键的业务元数据包括:
技术元数据主要用于保证数据仓库中存储的数据能够有效、及时、准确地反映从源系统中提取的数据的信息。 技术元数据还用于控制未来的系统修改和增强。 下面列出了更重要的技术元数据:
数据仓库解决方案设计
数据仓库由大数据平台和传统数据仓库两部分组成,分别提供大数据存储与挖掘、业务运营数据存储与分析能力,支撑近期建设的XX集团集中财务管控平台和后续业务发展需要。
传统数据仓库
通过数据集成工具(ETL)从业务系统中批量/实时提取数据,集中存储业务运营数据,为业务运营分析和管理辅助决策提供数据支撑,同时还提供运营数据查询功能。
传统数据仓库可以为大数据平台提供大数据分析所需的业务运营数据,大数据平台分析结果可以存储在传统数据仓库中。
大数据平台
作为传统数据仓库的补充,用于访问和存储传感器数据、设备状态数据、社交媒体、网站日志等大数据日记,并提供大数据分析和处理能力。 大数据分析处理的结果可以作为数据仓库中数据集市的输入; 同时,ODS中的数据和数据仓库中的数据集市可以为大数据平台提供数据源。
传统数据仓库解决方案
数据仓库由操作数据存储区(ODS)、企业数据仓库区(DW)和数据集市区组成。
ODS区是XX集团数据仓库架构中的一个重要功能区。 整合不同数据库中相同业务类型的数据,为最终用户提供一致的企业数据集成视图; 详细的交易数据在加载到数据仓库之前进行处理。 全部将以符合三级范式的形式存储在操作数据存储区(ODS)中。 操作数据存储区由三层组成:
源系统数据层:用于存储直接从业务系统中提取的数据。 数据结构和数据之间的逻辑关系与业务系统基本一致,因此在提取过程中可以降低数据转换的复杂度。 ;
数据集成层:用于存储集成、建模的数据,按主题组织管理,维护当日全量数据。 数据集成层也是数据仓库领域唯一的数据源。 支持非实时的日常分析(周统计、月统计)和运营数据查询,为版本控制提供T+1天、1个月内应用系统的详细数据。
数据共享层:数据共享层为外部应用系统提供数据共享服务。 数据共享方式根据响应时间和返回数据量可分为实时数据共享和批量数据共享,以满足各种数据共享的需求。
数据仓库区是XX集团数据仓库架构中的核心数据存储区域。 它包含一个相对稳定的、支持大多数数据应用的企业级数据仓库数据模型。 数据仓库进一步对ODS输入数据进行清洗和转换,存储汇总和集成级数据,并以第三范式格式保存和保留长期详细数据,为后续决策支持应用提供数据支持。
为了更好地支持海量数据操作和并发用户访问,数据仓库区域必须进行物理优化并使用轻量级索引。 在复杂的海量数据环境中,数据仓库将由多个数据存储组成,这些数据存储处理数据集成和求和并集中放置。
主要功能如下:
仓库模型数据存储,大部分数据仓库存储的是汇总数据和一些明细数据; 数据共享,数据仓库提供批量、在线数据共享服务,其范围是决策分析数据的共享。 根据不同的业务需求,数据的时效性一般大于T+0,且数据并非原始运营数据。 除部分历史数据外,大部分为汇总数据。
在设计数据仓库存储模型时,需要考虑以下几点:
数据集市是一组部门级、特定于业务主题的应用程序,用于收集数据以进行决策和分析。 这些数据需要针对用户的快速访问和数据输出进行优化,这可以通过对数据结构进行聚合和索引来完成。 数据集市可以保证数据仓库的高可用性、可扩展性和性能。
数据集市是用于决策和分析的部门级、特定于业务的应用程序。
主要功能如下:
数据集市数据存储,数据集市存储各个数据集市所需的数据; 数据共享方面,数据集市还提供批量、在线数据共享服务,其范围是面向主题的数据共享。 一般数据服务周期>=T+1,数据粒度是针对特定业务主题的汇总数据和一些明细数据。
构建数据集市时需要考虑的因素:
如何建立数据集市:在创建数据集市的过程中,首先应该考虑使用逻辑集市(视图)。 只有当逻辑集市不能满足系统要求时,才应使用物理集市。 数据集市数据不应直接从源数据系统中提取。 因为,如果数据集市直接从源数据系统向数据集市提供数据,可能会导致数据不一致,也可能导致多个额外进程的产生。 这些进程会占用源系统中额外的系统资源,从而导致资源增加。 的废物。 建议XX集团的数据仓库和数据集市采用分布式结构,以提高整个系统的可用性、可扩展性和高性能。 根据XX集团的实际情况,公司数据仓库中数据集市存储的数据根据不同的应用类型采用不同类型的数据模型。 例如,星型模式(Satr-)应用于OLAP在线分析,数据范围模型应用于数据挖掘应用程序。 表(Broad Table/CAR)结构等,数据存储周期根据应用需求确定。 数据集市区域的数据由数据仓库区域的数据转换而来,直接支撑前端的应用需求。 来自数据集市的数据通常用作OLAP服务和应用程序服务的数据输入。
综上所述,ODS、DW、DM在很多方面是互补的。 它们可以支持分析应用程序,并且都使用数据集成技术。 然而,它们也有以下差异。 为了更好的演示和解释ODS、DW、DM三层数据层的层次关系如下:
比较儿童
运行数据-ODS
数据仓库
数据集市
用户
主要用于一线业务及管理人员日常查询
面向专业分析师和企业中高层管理人员,支持其长期趋势分析和战略决策
专门研究特定业务部门或业务主题的分析师和经理
用户访问
查询(可以根据以后的需要进行添加、修改、删除操作)
查询
查询
储存目的
支持跨业务线和特定业务需求的应用程序
面向主题、一体化的数据存储,支持中长期决策分析支持
特定业务实体的决策支持
业务对象
介于应用型和主题型之间
主题导向
主题导向
数据粒度
主要提供细粒度的运营数据,也可以存储粗粒度的汇总数据。
按照数据主题(如相关人、条件、协议等)的数据建模方法来组织数据,保存明细数据,也保存粗粒度汇总数据
保存特定业务主题的摘要数据和一些详细数据
数据稳定
动态的
相对稳定
相对稳定
更新频率
实时、近实时或批量更新
定期批量更新
定期批量更新
数据时效性
主要保存当前数据和详细数据,或仅保存有限时期的历史数据。 例如:大部分数据保存13个月的历史数据,少量数据根据业务需求确定保留期限。
主要保存历史数据和一些明细数据。 例如,汇总数据保存5年,详细数据至少保存7年。
根据业务需要确定,一般大于等于13个月。
服务水平
ODS理论上可以支持高性能数据处理(秒级),但需要根据业务需求制定性能指标。
从国内其他大型企业的实践来看,数据服务周期=T+1
大数据平台参考技术架构
基于对行业大数据平台和解决方案的研究分析,结合行业大数据技术发展趋势,XX集团大数据平台技术参考架构图如下;
数据采集
导入结构化数据(关系数据库记录)、半结构化数据(日志、电子邮件等)、非结构化数据(文件等视频、音频、网络数据流等)和实时数据。
数据采集是将外部数据源中的各类数据导入(清洗、转换)到大数据存储系统中,为计算和分析做准备的过程。 数据集成从时效性角度可分为实时和非实时,从数据量角度可分为批量和增量,从数据类型可分为结构化数据、半结构化数据和非结构化数据。 针对不同类型、不同时效性要求的数据,需要多种不同的采集和集成技术。
数据采集的数据源可以是:数据库、数据中心、网络、应用系统、终端、传感器等。
大数据分布式存储
负责大数据的存储。 针对全数据类型、多样化计算需求,具有海量存储、快速查询读取的特点。 它存储来自外部数据源的各种类型的数据,并支持数据处理层的高级应用。 通常,非结构化数据存储在分布式文件系统中,半结构化数据存储在列式数据库或键值数据库中,结构化数据存储在行式数据库中,实时性高、计算性能要求高的数据存储。 内存数据库或实时数据库。
数据存储主要面向各类数据(结构化、半结构化、实时、非结构化)的存储和查询,具有海量存储、快速查询读取的特点。 基于低成本硬件(X86)和磁盘,采用业界典型的功能系统,包括分布式文件系统、行数据库(分布式关系数据库、键值数据库、实时数据库、内存数据库)、列数据库等。支持数据处理的高级应用。
大数据存储的关键是分布式技术和低成本存储设备的使用。
实时流处理
流式计算是一种实时性较高的计算模型。 是指应用系统在一定时间窗口内产生的流动数据到达时,并不被持久化存储。 而是将流数据直接导入内存进行实时计算。 从流动的数据中,从无序的数据中获取有价值的信息输出。 流式数据具有实时性、易变性、突发性、无序性、无限性等特点。
数据处理
数据处理技术是大数据技术框架中的核心层。 它是由计算(数据查询、内存计算、批量计算等)、数据分析算法、分析挖掘工具组成的数据处理功能的集合。
大数据计算的核心能力是分布式计算。 通过分布式计算,可以将一台计算机无法处理的任务分解到多个节点上。 以分布式计算为核心,发展了其他计算模型,形成了能够适应多种计算场景的计算框架。
挖掘算法分为适合结构化数据的通用数据挖掘算法和适合非结构化数据的专用分析算法。
数据挖掘是一个决策支持过程。 它主要基于人工智能、机器学习和统计技术。 通过对原始数据的自动化分析和处理,进行归纳推理,获得数据对象之间的关系模式。 这些关系模式反映了对数据内在特征的理解,是对数据所包含信息的更高层次的抽象。 与机器学习侧重于基于已知训练数据进行预测相比,数据挖掘更侧重于发现未知信息。 数据挖掘任务可以分为两类:描述性任务和预测性任务。 描述性挖掘任务表征数据的一般特征,主要基于无监督学习算法; 预测挖掘任务对当前数据进行推断以做出预测,并且通常基于监督学习算法。