网站无法访问的原因,网页设计实训报告怎么写,网络项目网,安保企业网站模板数据库技术 数据仓库数据仓库的定义数据仓库的作用数据仓库的特点(⭐⭐⭐⭐)数据仓库的主要功能(⭐⭐⭐⭐)OLTP#xff1a;联机事务处理(⭐⭐⭐⭐⭐)OLAP#xff1a;联机分析处理(⭐⭐⭐⭐⭐)OLAP的基本多维分析操作(⭐⭐⭐⭐⭐) 数据仓库与数据库的区别(⭐⭐⭐)数据仓库的三… 数据库技术 数据仓库数据仓库的定义数据仓库的作用数据仓库的特点(⭐⭐⭐⭐)数据仓库的主要功能(⭐⭐⭐⭐)OLTP联机事务处理(⭐⭐⭐⭐⭐)OLAP联机分析处理(⭐⭐⭐⭐⭐)OLAP的基本多维分析操作(⭐⭐⭐⭐⭐) 数据仓库与数据库的区别(⭐⭐⭐)数据仓库的三层体系结构(⭐⭐⭐⭐⭐)数据仓库的四层架构(⭐⭐⭐)数据仓库的ETL操作(⭐⭐⭐⭐)ETL相关工具 数据仓库
考点导读这个考点近几年都有考到。内容主要包括数据仓库的概念、功能、特点、与数据库的区别、架构与ETL操作等属于能力拓展的知识内容出题的可能性极大注意理解掌握。
数据仓库的定义
数据仓库Data Warehouse,是为了企业所有级别的决策制定计划过程提供所有类型数据类型的战略集合。它出于分析性报告和决策支持的目的而创建。为需要业务智能的企业,指导业务流程改进时间、成本、质量的控制等。
对于数据仓库的概念我们能够从两个层次予以理 1数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库 2数据仓库是对多个异构数据源的有效集成,集成后依照主题进行了重组,并包括历史数据,并且存放在数据仓库中的数据一般不再改动。
数据仓库的作用
把信息加以整理、归纳和重组,并及时提供给对应的管理决策人员是数据仓库的根本任务。 举例 1年度销售目标的制定需要根据以往的历史报表进行决策不能随便制定。 2优化业务流程 例如某电商平台某品牌的手机在过去5年主要的购买人群的年龄在什么年龄段在哪个季节购买量人多这样就可以根据这个特点为目标人群设定他们主要的需求和动态分配产生的生产量和仓库的库存。
数据仓库的特点(⭐⭐⭐⭐) 主题导向数据仓库中的数据是按照业务主题如销售、库存等进行组织的这有助于用户更容易地从业务角度理解和查询数据。 集成性数据仓库整合了来自多个数据源的数据例如不同部门、系统或业务流程的数据。为了保持数据的一致性数据仓库在存储之前会进行清洗和转换。 时间变化数据仓库会记录数据随时间的变化这使得用户可以分析历史趋势和进行时间序列分析。数据仓库通常会保存一定时间范围内的数据如过去几年的数据。 非易失性数据仓库中的数据一旦存储就不会轻易地被修改或删除。这有助于确保数据的稳定性和一致性以支持长期的数据分析和报告。 大规模数据数据仓库通常存储大量数据这些数据可能来自于多个业务系统或数据源使得数据仓库具有很高的存储和处理能力。 高性能查询数据仓库通过优化存储结构如星型模式、雪花模式等和查询策略如索引、分区等提高了对大量数据进行复杂查询和报表生成的性能。
数据仓库的特点使其成为一个适合存储、管理和分析海量数据的系统满足了企业对数据的长期、稳定和高效的需求。
数据仓库的主要功能(⭐⭐⭐⭐)
数据集成数据仓库的一个主要功能是集成来自各种不同源的数据。这需要运用到数据集成技术如ETLExtract, Transform, Load过程用于提取、清洗、转换和加载数据。
数据存储数据仓库提供大规模的数据存储能力。这需要运用到数据库管理系统DBMS和存储技术如OLAPOn-Line Analytical Processing用于处理复杂的多维数据查询。
数据查询和分析数据仓库支持用户对数据进行查询和分析以帮助用户从数据中提取有价值的信息。这需要运用到数据查询语言如SQL和数据分析工具如BIBusiness Intelligence工具。
数据挖掘数据仓库还可以运用数据挖掘技术通过算法模型对数据进行深入分析以发现数据中的模式和关联。
数据安全和管理数据仓库需要保证数据的安全性和质量这需要运用到数据安全技术如访问控制、数据加密等和数据管理技术如数据治理、数据质量管理等。
数据可视化数据仓库通过数据可视化技术将复杂的数据信息以图形化的方式展示出来帮助用户更好地理解和解释数据。
OLTP联机事务处理(⭐⭐⭐⭐⭐)
联机事务处理Online Transaction Processing简称OLTP, 也称为面向交易的处理系统 是一种计算机处理模式主要用于管理日常事务。以下是OLTP的一些关键特性和功能 高并发性OLTP系统需要支持大量用户同时进行事务处理例如一个银行系统需要同时处理来自成千上万个客户的交易请求。 实时性OLTP系统中的数据需要实时更新以便用户能够看到最新的信息。例如当客户进行银行转账时他们的余额应立即更新。 原子性在OLTP系统中一个事务例如银行转账要么完全执行要么完全不执行。这确保了数据的一致性。 可靠性和恢复能力如果系统发生故障OLTP系统需要能够恢复到故障发生前的状态保证数据的完整性。 短交易处理时间OLTP系统通常需要快速处理事务以满足用户的需求。例如一个ATM取款事务需要在几秒钟内完成。
在计算机系统中关系数据库如OracleSQL Server等通常被用于实现OLTP这是因为它们提供了事务处理、并发控制和恢复等必要的功能。而在业务应用中零售销售、银行交易、航空订票等都是典型的OLTP应用。
OLAP联机分析处理(⭐⭐⭐⭐⭐)
联机分析处理Online Analytical Processing简称OLAP, 是一种计算机处理模式主要用于分析大量业务数据以提供决策支持。以下是OLAP的一些关键特性和功能 多维数据模型OLAP通常使用多维数据模型如立方体以便用户能够从多个角度如时间、地点、产品等来查看和分析数据。 复杂的查询处理OLAP支持复杂的数据查询如汇总、钻取、切片和切块等操作这有助于用户深入地分析数据。 大数据量处理OLAP设计用于处理大量数据。例如一个零售商可能需要分析数百万条销售记录来了解销售趋势。 高性能由于OLAP需要处理大量数据因此它通常需要优化数据存储和查询处理技术以提高查询性能。 数据挖掘OLAP还可以与数据挖掘技术结合使用算法模型对数据进行深入分析以发现数据中的模式和关联。
在计算机系统中OLAP通常使用专门的数据库管理系统如OLAP服务器来实现这是因为它们提供了多维数据模型以及优化的数据存储和查询处理技术。而在业务应用中销售分析、财务报告、市场研究等都是典型的OLAP应用。
OLAP的基本多维分析操作(⭐⭐⭐⭐⭐)
OLAP的多维分析操作主要包括以下几种 钻取Drill-Down钻取是从一个较高层次或较粗粒度的数据向一个较低层次或较细粒度的数据进行详细查询的过程。例如从年度销售额钻取到季度销售额再钻取到月度销售额。 上卷Roll-Up上卷是钻取的反向操作即从一个较低层次或较细粒度的数据向一个较高层次或较粗粒度的数据进行汇总查询的过程。例如从月度销售额上卷到季度销售额再上卷到年度销售额。 切片Slice切片是在一个多维数据集上选择一个维度并固定其值从而得到一个减少了一个维度的子集。例如从一个产品-地区-时间的销售数据立方体中选择时间维度并固定其值为2019年得到一个产品-地区的销售数据子集。 切块Dice切块是在一个多维数据集上选择多个维度并固定其值从而得到一个减少了多个维度的子集。例如从一个产品-地区-时间的销售数据立方体中选择产品维度并固定其值为手机选择地区维度并固定其值为北京得到一个时间的销售数据子集。 旋转Pivot旋转是改变数据立方体的视图即改变维度的排列顺序。例如将一个产品-地区-时间的销售数据立方体旋转为地区-产品-时间的视图。
这些操作可以帮助用户从不同的角度和层次来查看和分析数据从而更好地理解业务情况和发现业务趋势。
数据仓库与数据库的区别(⭐⭐⭐)
数据库是一种逻辑概念用来存放数据的仓库。通过数据库软件来实现。数据库由很多表组成表是二维的一张表里可以有很多字段。字段一字排开对应的数据就一行一行写入表中。数据库的表在于能够用二维表现多维关系。目前市面上流行的数据库都是二维数据库。比如Oracle、DB2、MySQL、Sybase、MS SQL Server等。 数据仓库是数据库概念的升级。从逻辑上理解数据库和数据仓库没有区别都是通过数据库软件实现的存放数据的地方只不过从数据量来说数据仓库要比数据库更庞大得多。数据仓库主要用于数据挖掘和数据分析辅助领导做决策。数据仓库的表结构是依照分析需求分析维度分析指标进行设计的。 数据库比较流行的有MySQL, Oracle, SqlServer等数据仓库比较流行的有AWS Redshift, Greenplum, Hive等。 数据库与数据仓库的区别实际讲的是OLTP与OLAP的区别。 目的数据库主要用于存储和管理日常业务数据支持实时的、面向事务的数据处理如OLTP。而数据仓库是用于存储大量历史数据支持复杂的数据分析和决策支持如OLAP。 数据结构数据库通常采用关系模型如表、行和列并遵循范式化的设计原则以减少数据冗余和提高数据一致性。而数据仓库通常采用多维模型如立方体、维度和度量以便用户能够从多个角度和层次来查看和分析数据。 数据处理数据库主要关注插入、更新和删除操作以保证数据的实时性和一致性。而数据仓库主要关注查询和汇总操作以支持复杂的数据分析。 性能优化数据库通常优化事务处理性能如短交易处理时间和高并发性。而数据仓库通常优化查询处理性能如快速响应复杂查询和大数据量处理。 数据加载和存储数据库中的数据通常是实时加载的即业务发生时立即插入或更新。而数据仓库中的数据通常是定期加载的即通过ETL抽取、转换、加载过程将数据从多个源系统抽取、清洗、集成到数据仓库。此外数据仓库通常存储大量历史数据以便用户能够分析数据的时间趋势。
数据库和数据仓库之间的区别主要体现在它们的目的、数据结构、数据处理、性能优化和数据加载等方面。这两者之间的选择取决于具体的业务需求和数据处理场景。
数据仓库的三层体系结构(⭐⭐⭐⭐⭐) 底层为数据仓库服务器底层的数据仓库服务几乎总是一个关系数据库系统。包括数据源和数据的存储与管理。 1数据源 是数据仓库系统的基础是整个系统的数据源泉。通常包括企业内部信息和外部信息。内部信息包括存放于RDBMS中的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信息和竞争对手的信息等 2数据的存储与管理 是整个数据仓库系统的核心。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的核心则需要从数据仓库的技术特点着手分析。针对现有各业务系统的数据进行抽取、清理并有效集成按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库通常称为数据集市。 中间层为OLAP服务器OLAP服务器对分析需要的数据进行有效集成按多维模型予以组织以便进行多角度、多层次的分析并发现趋势。其具体实现可以分为ROLAP关系型在线分析处理、MOLAP多维在线分析处理和HOLAP混合型线上分析处理。ROLAP基本数据和聚合数据均存放在RDBMS之中MOLAP基本数据和聚合数据均存放于多维数据库中HOLAP基本数据存放于RDBMS之中聚合数据存放于多维数据库中。 中间层OLAP服务器的实现可以是关系模型OLAPROLAP即扩充的关系型DBMS提供对多维数据的支持也可以是多维OLAPMOLAP它是一种特殊的服务器直接支持多维数据的存储和操作。 顶层为前端工具顶层的前端工具主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具和以数据挖掘及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器报表工具、数据挖掘工具主要针对数据仓库。
数据仓库的四层架构(⭐⭐⭐)
按照数据流入流出的过程数据仓库架构可分为四层——数据采集、数据存储与分析、数据共享、数据应用。 1.数据采集 数据采集层的任务就是把数据从各种数据源中采集和存储到数据存储上期间有可能会做一些ETL数据抽取、转换和加载操作。 数据源种类可以有多种 1日志所占份额最大存储在备份服务器上 2业务数据库Mysql、Oracle 3来自HTTP/FTP的数据合作伙伴提供的接口 4其他数据源Excel等需要手工录入的数据。 2.数据存储与分析 HDFS是大数据环境下数据仓库/数据平台最完美的数据存储解决方案。 离线数据分析与计算也就是对实时性要求不高的部分Hive是不错的选择。 使用Hadoop框架自然而然也提供了MapReduce接口如果真的很乐意开发Java或者对SQL不熟那么也可以使用MapReduce来作分析与计算。 Spark性能比MapReduce好很多同时使用SparkSQL操作Hive。 3.数据共享 前面使用Hive、MR、Spark、SparkSQL分析和计算的结果还是在HDFS上但大多业务和应用不可能直接从HDFS上获取数据那么就需要一个数据共享的地方使得各业务和产品能方便地获取数据。这里的数据共享其实指的是前面数据分析与计算后的结果存放的地方其实就是关系型数据库和NOSQL数据库。 4.数据应用 1报表报表所使用的数据一般也是已经统计汇总好的存放于数据共享层。 2接口接口的数据都是直接查询数据共享层即可得到。 3即席查询即席查询通常是现有的报表和数据共享层的数据并不能满足需求需要从数据存储层直接查询。一般都是通过直接操作SQL得到。
数据仓库的ETL操作(⭐⭐⭐⭐)
ETL是数据仓库中的一个重要过程它代表了抽取Extraction、转换Transformation和加载Load三个步骤。 抽取Extraction这个步骤是从各种数据源如关系数据库、文件系统等中抽取需要的数据。抽取过程中需要确定数据源以及从这些源中获取哪些数据。 转换Transformation在抽取出数据后需要进行清洗和转换以满足数据仓库的要求。转换过程包括数据清洗解决数据中的错误和不一致性问题、数据转换将数据从一种格式转换为另一种格式、数据集成整合来自不同源的数据等操作。 数据清洗操作: 1空值处理根据业务需要可以将空值替换为特定的值或者直接过滤掉 2验证数据正确性主要是把不符合业务含义的数据做一处理。比如把一个表示数量的字段中的字符串替换为0把一个日期字段的非日期字符串过滤掉等 3规范数据格式比如把所有的日期都格式化成yyyy-MM-dd HH:mm:ss的格式等 4数据转码把一个源数据中用编码表示的字段通过关联编码表转换成代表其真实意义的值等 5数据标准统一。比如在源数据中表示男女的方式有很多种在抽取的时候直接根据模型中定义的值做转化统一表示男女 6其他业务规则定义的数据清洗. 加载Load最后一步是将清洗和转换后的数据加载到数据仓库中。加载过程中可能需要根据数据仓库的模型如星型模型、雪花模型等来组织数据以便用户能够方便的进行查询和分析。
ETL过程是数据仓库构建和维护的重要部分它直接影响到数据仓库的数据质量和查询性能。因此需要对ETL过程进行充分的设计和优化以确保数据的准确性、一致性和及时性。
ETL相关工具
ELT相关的工具有很多这里只列举一些常用的而且各公司的技术原型也不一样就需要根据实际情况来选择。 1数据抽取工具kafka、flume、sync。 2数据清洗hive/tez、pig/tez、storm、spark。 3其他工具 数据存储hadoop、hbaseES、redis 任务管理azkaban、oozie 数据同步datax、sqoop