当前位置: 首页 > news >正文

DAMA数据管理知识体系指南之数据仓库和商务智能管理

第9章 数据仓库和商务智能管理

9.1简介

数据仓库(Data Warehouse,DW)由两个主要部分构成:首先是一个整合的决策支持数据库,其次是用于收集、清洗、转换、存储来自于各种操作型数据源和外部数据源数据的相关软件程序。两者结合以支持历史的、分析的和商务智能(Business Intelligence,BI)的需求。

企业数据仓库(Enterprise Data Warehouse,EDW)是服务于整个组织商务智能需要的集中式数据仓库。
术语数据仓库活动(Data Warehousing,DW)用于描述为维护数据仓库中的数据而进行抽取、清洗、转换和加载等操作性的处理过程及相关控制的过程。

数据仓库活动提供技术解决方案以支持商务智能。“商务智能”是多种业务能力的集合。它包含了很多方面,具体包括:

(1)知识工作者执行查询、分析和报表的活动,用于监控和了解企业财务运营情况,支
持决策制定。
(2)查询、分析和报表相关的流程和规程。
(3)商务智能环境的代名词。
(4)商务智能软件工具的细分市场。
(5)基于企业操作型数据的战略/运营分析和报表,从而支持业务决策、风险管理、合规
管理。
(6)决策支持系统(Decision Support System,DSS)的同义词。

在这里插入图片描述
数据仓库和商务智能管理的目标包括:

①对所需的当前和历史数据提供整合后的数据存储,并按照主题域组织数据。
②为所有合适的访问形式提供可信的、高质量的数据。
③为数据获取、数据管理和数据访问提供稳定、高效、可靠的环境。
④提供易于使用的、灵活的和全面的数据访问环境。
⑤在内容和内容访问方面,与组织目标相适应,以增量方式交付。
⑥要借助其他相关的数据管理职能,如参考数据和主数据管理、数据治理、数据质量管理和元数据管理等,而不重复建设这些职能。
⑦交付数据时,关注如何支持数据治理所发起的决策、政策、流程、定义以及标准等。
⑧定义、构建并维护所有数据存储、数据处理过程,数据基础设施和数据工具。在交易系统输出后经过整合和精细化处理的数据可以用于信息查看、分析或者满足数据请求。
⑨整合商务智能处理过程所发现的新数据到数据仓库,使其为进一步分析和商务智能所用。

9.2概念和活动

9.2.1 数据仓库活动——简要的历史回顾

数据仓库的典型特征:

(1)Inmon版:

面向主题:数据仓库中的数据既不面向功能也不面向应用,是按照公司的主要实体进行组织的;
整合:数据仓库中的存储数据具有统一性和内聚性,且覆盖多方面的内容,包括数据键结构、结构的编码和解码、数据定义、命名习惯等,并非仅仅是复制数据;
数据快照:数据仓库中的每一条数据在某个时间点是准确的,并常常在其键结构中体现时间元素,是数据记录在某一时刻的快照,在每个快照的时间点上的记录都是准确的;
相对稳定:数据仓库在正常的处理过程中并不对记录进行更新,如果确实需要更新,也是特例;
汇总和详细数据:数据仓库中的数据必须包括汇总数据和详细数据,数据汇总早期是基于成本考虑,现在主要是基于性能考虑;
历史记录:相对于各业务系统,数据仓库的特征就是包含大量的历史数据,他们处于汇总级别,数据越久,汇总级别越高;

(2)Kimball版:

交换数据副本,其结构是为查询和分析而设计;
采用维度数据模型,便于用户理解和使用,提升查询效率;(不遵守范式规则)

9.2.2 数据仓库和商务智能架构和组件

(1)Inmon的企业信息工厂CIF
在这里插入图片描述

下表列出并描述了从企业信息工厂角度看数据仓库和商务智能架构的基本组件:
在这里插入图片描述
下表给出每一个企业信息工厂组件的报表范围、目的及备注,形成上下文环境:
在这里插入图片描述
下表从业务和应用角度,在企业信息工厂的4个主要的组件之间进行比较和对照,即在应用系统(Application)、操作型数据存储(ODS)、数据仓库(DW)和数据集市(DM)之间进行比较。
在这里插入图片描述
根据右侧的数据仓库和数据集市的信息与左侧的应用之间的比较,有一些总体的规律,特别如下:

①组件用途从执行转向分析。
②终端用户通常是决策者,而不是执行者(一线人员)。
③系统更多的是即席操作,而不是固定的交易操作。
④响应时间的需求更加宽松,因为战略决策相对于一般的日常操作而言能够容忍更长的响应时间。
⑤在每一个操作/查询或其他处理会涉及更多的数据。

下表则从数据角度提供了企业信息工厂模型的4个主要组件之间的比较和对照,即在应用、操作型数据存储、数据仓库和数据集市之间进行比较。
在这里插入图片描述
在这里插入图片描述
将右侧数据仓库和数据集市的信息与左侧的应用之间从数据的角度进行比较,可发现一些总体规律,特别如下:

①数据是面向主题的而不是面向功能的。
②整合的数据不是“烟囱式”(stove-piped)或“竖井式”(or siloed)的孤立数据。
③随时间变化的数据历史不是只有当前数据。
④数据时延更高。
⑤更多的历史数据。

(2)Kimball的业务发展生命周期和数据仓库象棋游戏

业务维度生命周期的根据是如下3个原则。

关注业务——既要满足即时的业务需求,而且也要满足长期的广泛的数据整合和一致性。
原子性维度数据模型——既要使业务用户易于理解,也要兼顾查询效率。
迭代演进管理——用独立的并限定范围的单个项目来管理数据仓库的变革和优化,即使这样的项目可能会多的看不到终点。

Kimball的数据仓库象棋棋子视图:
在这里插入图片描述
Kimball的数据仓库象棋棋子视图——组件描述:
在这里插入图片描述

9.2.3 战术型、战略型和操作型商务智能

战术型商务智能是通过应用商务智能工具对同一度量进行月度或年度的比较分析业务趋势,或者分析历史数据以发现需要引起注意的趋势。使用战术型商务智能以支持短期的业务决策。

战略型商务智能是经典的商务智能应用,包括为高管提供度量指标,常常与一些正式的业务绩效管理方法结合共同帮助管理层确定目标是否达成。使用战略型商务智能以支持公司的长期目标和目的。

操作型商务智能是为业务一线提供商务智能,应用分析能力来指引经营性决策。操作型商务智能可用于管理和优化业务运营。操作型商务智能是以上这3个方法中最后一个在业界中出现的。操作型商务智能使商务智能应用和运营功能和流程相耦合,但其对响应时延要求很高(需要近乎实时的捕获数据和交付数据)。因此,必须使用更新的架构方法,比如面向服务架构(Service-Oriented Architecture,SOA),以完整地支持操作型商务智能。

9.2.4 数据仓库活动的不同类型

(1)动态数据仓库

服务于战术和战略商务智能的数据仓库,通常使用周期性的批处理任务,具备Inmon提到的相对稳定的特性。而操作型商务智能则推动了对更低时延以及高实时性的将数据整合到数据仓库的需求。由此引入了变更隔离机制和数据ETL的新方法。动态数据仓库主要是针对实时性要求较高,可以确保少量持续数据更新的业务需求得以实现。

(2)维多分析(联机分析处理)

联机分析处理OLAP主要是为多维分析查询提供高性能的解决方案。典型的联机分析输出矩阵格式。矩阵的行和列是查询结果的维度,因素和度量是矩阵单元格的取值。这种展示方式可以很有效的展示汇总数据。

(3)ROLAP、MOLAP、HOLAP、DOLAP

关系型联机分析处理ROLAP:在关系型数据库管理系统的二维表中实现多维关系以支持联系分析处理,星型连接是常用的数据设计技术
多维联机分析处理MOLAP:使用多维数据库技术来支持联机分析处理
混合联机分析处理HOLAP:ROLAP与MOLAP的简单组合
数据库联机分析处理DOLAP:通过经典关系型数据库特殊的外围功能实现一个虚拟的联机分析处理立方体

9.2.5 维度数据建模的概念和术语

数据集市是建立在维度数据模型之上,维度数据模型让终端用户对数据访问的理解更加简单易用。

维度数据模型是实体关系型数据模型的子集,具备实体、属性和关系等基本组件。实体有两种基本类型:事实(度量)、维度(上下文)。

(1)事实表

包含一个或多个事实,用来存放度量的内容,有一些度量是计算的结果,有一些是控制列的数据。因此,正确理解和使用元数据尤为重要。

事实表用来表达和解析维度间的多对多关系,访问事实表也是一般从维度表开始。

(2)维度表

代表业务中重要的对象,通常做为报表分组和报表标签的依据。维度结构通常是高度去范式化。维度详细设计的深度和质量决定了系统的分析用处,支持对事实表中数据的分析。

典型的维度表只有少量的行数和很多列数。维度表的主要内容:

①代理键和非代理键
②主键用于与数据仓库中的其他表关联
③描述性元素:编码、描述、名称、状态等
④任何层次信息,经常包括多个层次和类型的分解
⑤业务键,供业务用户确定特定的行
⑥源系统标识字段,用以追溯数据源
⑦维度表的控制列与事实表的控制列类似,但是维度表的控制列主要涉及维度的⑧历史信息如何保存,设计实现有6种不同的类型。

维度必须为每一行设置一个唯一标识符,通常通过代理键和自然键两种方式实现:

代理键:使用数字做为主键,可以是顺序号也可以是随机码。通过ETL处理将数值主键与源系统主键进行映射。
自然键:对于不希望创建额外主键的,可以使用已经有的可以区分唯一数据行的数据。对于复杂的联结查询,可能会影响效率。

(3)维度属性类型:

类型1:覆盖,保留最新值,不保留历史记录
类型2:创建新行,保留所有历史记录
类型3:创建新列,同一行中需要有多个字段保留不同的历史版本
类型4:新表,将过期的行迁移到历史表中,现有表中的行数据被更新
类型6:1+2+3

(4)维度模型

星型模型:事实表位于中间,连接多个维度表。重点在于中间的事实表通过单一的主键联接到周围的维度表。事实表具备多个维度表的键构成的复合键。
在这里插入图片描述

雪花模型是将星型模型中的平面的单表维度结构进行去范式化,并转换成相应的层次或网状结构。3种常用的雪花模型;

雪花表:将层次结构解析到层次表中。如将一个日期维度表解构为详尽的日表,和一个与日表关联的月表或年表。
划艇式表:将维度表中的属性连接到其他维度表中的行。比如把一个表中员工的雇佣日期字段连接到时间区间维度表中,以便于按照雇佣日期所在的财年对员工进行排序。
船桥式表:两种情况。其一,当两个维度之间存在多对多的关系,不可能通过事实表解析。其二,对深度不定的层次结构或不整齐的层次结构进行范式化。比如定义层次结构中的父子关系,提升遍历效率。

粒度表示事实表中一行记录所代表的的含义或描述,是一笔业务交易所对应数据的原子级别。

一致性事实表使用跨多个数据集市的标准化术语,不同业务用户可能以不同的方式使用同一术语。

一致性维度是Kimball设计方法中可供多个数据集市使用的公共或共享的维度。通过对数据元素命名及相应的取值,包含严格的子集等方式来定义一致性维度。从一致性维度获取的任何结果集中,行头部都必须完全匹配。

(5)数据仓库总线架构和总线矩阵

一致性维度的数据仓库总线架构允许多个数据集市共存,并通过接入总线实现一致性维度的共享。数据仓库总线的矩阵是以表格的形式展现数据集市/数据处理过程/主题域是否与共享的一致性维度相关。如下图所示:
在这里插入图片描述

统一的概念是Kimball最有价值的贡献之一,也成为数据仓库和商务智能管理中的重要设计文件,需要检查维度表和事实表,以及它们的源、更新逻辑、调度计划,从而确定是否可以重用。

9.3数据仓库和商务智能管理活动

9.3.1 理解商务智能信息需求

数据仓库和商务智能管理成功的关键是在整个生命周期中始终保持一致的业务重点,通过对企业价值链的观察,理解业务背景,第四部分介绍过获取价值链的方法。对于数据仓库和商务智能来说,与其他业务不一样的是从更广泛的业务背景环境中理解目标业务领域。

在理解商务智能信息需求工作中,有几项工作是非常重要的:

①选择适当的访谈对象,识别业务领域,并明确范围。通过对业务背景的理解和访谈对象反馈信息的分析,来识别具体问题,获取关键绩效指标度量和计算公式。
②收集实际业务的词汇和术语,并给予准确的定义。这也涉及到元数据管理职能。
③数据剖析和ETL活动是商务智能需求分析的主要工作。这些工作与数据质量管理密不可分。
④在这个过程重要特别注意,源系统和数据录入功能中质量低下的数据会带来负面影响。这需要数据治理职能的参与。

最佳实践:

①为商务智能需求定制执行概要;
②执行概要包括:业务环境总览、问题样例列表、对已有数据的质量、清洗、整合等不同层次活动的评注,对相关的组织和业务职能的描述。也可能包括一张用于展示查询和报表途径的方案草图;
③会同业务部门共同审阅执行概要,确定数据仓库和商务智能职能项目在项目集中的优先级;

9.3.2 定义并维护数据仓库和商务智能架构

数据仓库和商务智能的架构设计遵循数据架构设计原则,包括数据模型、数据技术架构、数据整合架构等内容。在本章内容中也介绍了Inmon和Kimball的架构和组件。这部分是针对以上内容进行一些补充,在实践中还需要考虑哪些因素。

关键角色:

技术架构师
数据架构师
ETL架构师
元数据专家
商务智能应用架构师

评估和整合适合的业务流程、架构以及技术标准所需的组件。从技术需求角度而言,需要关注效率、可用性和及时性等方面的要求,这也是选择所需组件的依据。

数据仓库和商务智能是针对数据流向的设计,数据从哪里来(获取),到哪里去(展现),需要考虑何时何地,因何而去,如何去等问题,这也是所有活动组织起来的框架。数据仓库需要关注包含哪些数据,数据的详细程度如何,如何设计数据回溯等内容的设计机制。使之从架构上与公司的业务需求和发展战略互为整合。同时,要关注数据重用、共享和扩展的规划。

为了确保数据仓库和商务智能架构设计工作的成功,还需要考虑一些相关支持活动:

①数据质量反馈环:把变更整合到业务系统的难度
②端到端元数据:整个架构的含义和设计中能否实现透明性和可用性要求,支持完整的端到端元数据流,业务人员很清楚呈现的数据中,数据元素和度量是什么含义
③端到端可校验数据的血缘关系:通过证据保管链随时了解记录的关系和历史记录

9.3.3 实施数据仓库和数据集市

数据仓库的目的是整合来自于多个数据源的数据,整合后的数据为商务智能服务。数据使用者一般是通过数据集市或其他系统进行操作。数据仓库的设计一般是一个符合范式要求的关系型数据库。

数据集市为分析工作提供数据,需要提供简单、易于理解、性能良好的数据访问方法。数据集市首选的设计方法是维度建模(去范式化技术),用于满足专门的业务分析需求。数据集市通过聚合和汇总的信息以支持更迅速的分析。

可以将第五章中提到的数据设计和数据库设计方法应用与数据仓库和数据集市的设计,通过逐步反溯到所需的整合数据,最终回到数据源的设计上。

9.3.4 实施商务智能的工具和用户界面

选择适合的商务智能工具和用户界面就是为正确的用户群选择合适的工具。不同使用角色对工具和用户界面,以及数据使用深入程度均不相同。要根据用户需求确定使用专业性还是通用性的工具。

常用的商务智能工具有以下几类:

查询和报表工具
联机事务分析OLAP工具
分析应用
实施管理仪表盘和记分卡
绩效管理工具
预测分析和数据挖掘工具
高级可视化和探索工具

9.3.5 处理商务智能所需数据

处理商务智能所需的数据需要一系列的活动:

(1)暂存区

暂存区是进行原始数据源和中心数据存储库之间的数据存储,包括对数据必需的清洗、转换、整合和关联。一般会在暂存区存放不进行任何转换的初始数据,通过变更机制降低数据的传输量,并根据业务优先级筛选数据,以逐步迭代、渐进的方式进行数据的一致化、范式化。这些可以通过数据整合与转换来实现,在暂存区一般只进行简单的复制操作。

(2)映射源和目标

源到目标的映射是用于对所有需要的实体和数据元素定义详细的数据类型及转换规则。数据仓库和商务智能在源到目标的映射过程中增加了一些额外处理:为每个可用的数据元素提供完整的血缘关系。

这个过程中比较复杂的情况是为数据元素在多个数据源中确定正确的链接。可能涉及到具有相同数据的表和字段,却没有相同的名字和结构。所以,组织数据仓库的管理中,统一的结构、黄金数据源、统一的参考数据和主数据的记录系统起着非常重要的作用。

(3)数据清洗和转换(数据获取)

数据清洗与转换是对不同来源数据的纠正和转换,为不同数据源的整合提供服务。这需要数据治理职能的深入参与。

9.3.6 监控并调整数据仓库处理过程

数据仓库和商务智能监控的目的是达成数据的透明性和可见性。需要监控整个系统的处理过程,以便发现处理过程的瓶颈和处理过程的依赖关系,并将异常情况以明确的方式发送给相关人员。

数据仓库的管理也涉及到归档。通常用户认为数据仓库是对其他应用系统数据的归档活动,其实对于数据仓库本身也应该进行归档操作。应当根据情况及时调整数据仓库中的数据。

9.3.7 监控并调整商务智能活动和性能

最佳做法是定义和显示一套面向客户的满意度调查。比如平均查询响应时间、每日/周/月的访问用户数量等。除了显示来自系统的统计度量外,定期的收集数据仓库和商务智能的用户反馈也非常重要。可以通过对使用情况的统计数据和使用模式进行定期回顾,对数据、查询、报表活动的频率和资源占用情况进行统计来优化性能。

相关文章:

DAMA数据管理知识体系指南之数据仓库和商务智能管理

第9章 数据仓库和商务智能管理 9.1简介 数据仓库(Data Warehouse,DW)由两个主要部分构成:首先是一个整合的决策支持数据库,其次是用于收集、清洗、转换、存储来自于各种操作型数据源和外部数据源数据的相关软件程序。两者结合以支持历史的、…...

PHP的五种常见设计模式

工厂模式 最初在设计模式 一书中,许多设计模式都鼓励使用松散耦合。要理解这个概念,让我们最好谈一下许多开发人员从事大型系统的艰苦历程。在更改一个代码片段时,就会发生问题,系统其他部分 —— 您曾认为完全不相关的部分中也有…...

教你搞懂线段树,从基础到提高

秋名山码民的主页 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 🙏作者水平有限,如发现错误,还请私信或者评论区留言! 目录前言线段树逻辑概念线段树的俩个重要用处代码实现线段树题目巩固最后…...

C语言进阶——自定义类型:结构体

🌇个人主页:_麦麦_ 📚今日名言:生活不可能像你想象的那么好,也不会像你想象的那么糟。——莫泊桑《羊脂球》 目录 一、前言 二、正文 1结构体 1.1结构体的基础知识 1.2结构的声明 1.3特殊的声明 1.4结构体变量的…...

SpringSecurity学习笔记01

目录 一、课程介绍 二、框架概述 三、入门案例 四、基本原理(过滤器链) 五、基本原理(过滤器加载过程) 六、基本原理(两个重要的接口) 七、web权限方案-用户认证(设置用户名密码上) 八、…...

Python语言零基础入门教程(十一)

Python 列表(List) 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 Python有6个序列的内置类型,但最常见的是列表和元组。 序列都可以…...

现货白银基础知识

任何活动,任何项目,任何工作都离不开基础知识,这是肯定的。万丈高楼平地起,要想要简称百层高楼,首先得把低级打好!现货白银投资也是一样的道理,现在我们就来一起聊聊现货白银基础知识的问题&…...

数据库原理及应用基础知识点

数据库原理基础知识点大全数据库原理及应用1、数据库系统概述1.1 基本概念1.2 数据模型1.3 数据库系统的结构2、实体 -- 联系模型2.1 基本概念2.2 实体-联系图2.3 弱实体集3、关系数据模型3.1 关系数据库的结构3.2 从ER模型到关系模型3.3 关系操作、完整性约束、关系代数4、关系…...

【数据结构】栈(stack)

写在前面本篇文章开始讲解栈的有关知识,其实把顺序表和链表学好,那么这一章便不在话下,栈实际上就是顺序表或链表的一些特殊情况。用顺序表实现的栈叫做顺序栈用链表实现的栈叫做链栈文章的内容分为几个部分,希望读者能快速了解文…...

初识shell

文章目录一、shell基本知识1.1为什么学习和使用Shell编程1.2 什么是Shell1.2.1 shell的起源1.2.2 shell的功能1.3 shell的分类1.4 作为程序设计的语言——shell1.5 如何学好shell1.6 shell脚本的基本元素1.7 shell脚本编写规范1.8shell脚本的执行方式1.9 执行脚本的方法1.10 sh…...

程序员如何编写好开发技术文档 如何编写优质的API文档工作

编写技术文档,是令众多开发者望而生畏的任务之一。它本身是一件费时费力才能做好的工作。可是大多数时候,人们却总是想抄抄捷径,这样做的结果往往非常令人遗憾的,因为优质的技术文档是决定你的项目是否引人关注的重要因素。无论开…...

二级C语言操作例题(四十)

一、程序填空题 在此程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。 例如,若s所指字符串”baacda”,中c的字符为…...

vue-router 源码解析(二)-创建路由匹配对象

文章目录基本使用导语createRouterMatcher 创建匹配路由记录addRoute 递归添加matchercreateRouteRecordMatcher 创建matchertokenizePath 解析pathtokensToParser 记录打分insertMatcher 将matcher排序总结基本使用 const routes [{path:"/",component: Demo2,nam…...

分布式新闻项目实战 - 10.Long类型精度丢失问题

怒发冲冠,凭阑处、潇潇雨歇。抬望眼,仰天长啸,壮怀激烈。三十功名尘与土,八千里路云和月。莫等闲、白了少年头,空悲切。 靖康耻,犹未雪。臣子恨,何时灭。驾长车,踏破贺兰山缺。壮志饥…...

如何将本地jar包安装到maven仓库

mvn install:install-file:主要是将本地自定义jar安装到maven仓库,然后在pom中可以直接通过dependency的方式来引用。 此命令有如参数: 命令说明-DgroupId自定义groupId设置groupId 名-DartifactId自定义artifactId设置该包artifactId名-Dversion自定义…...

C++:map和set的认识和简单使用/关联式容器

关联式容器 关联式容器即是用来存储数据的&#xff0c;并且存储的是<Key&#xff0c;Value>结构的键值对&#xff0c;在数据检索时效率比序列式容器高。 序列式容器也就是vector、list、queue等容器&#xff0c;因为其底层为线性序列的数据结构&#xff0c;里面存储的是…...

网络工程师一定要学会的知识点:OSPF,今天给大家详细介绍

1. OSPF 概念OSPF&#xff08;Open Shortest Path First 开放式最短路径优先&#xff09;是一种动态路由协议&#xff0c;属于内部网关协议(Interior Gateway Protocol,简称 IGP)&#xff0c;是基于链路状态算法的路由协议。2. OSPF 的运行原理&#xff08;1&#xff09;OSPF 的…...

企业管理的三大基石及其关系

企业管理的三大基石三大基石是什么三大基石的关系制度&#xff1a;管理&#xff1a;文化&#xff1a;三大基石是什么 一个企业&#xff0c;不管它是属于哪种类型&#xff0c;影响员工行为的都有三种力量——制度、管理和文化&#xff0c;这是管理的三大基石。 三大基石的关系 …...

6个月软件测试培训出来后的感悟 —— 写给正在迷茫是否要转行或去学软件测试的学弟们

本人刚从某培训机构学习结束&#xff0c;现在已经上班一个月了。这篇文章我不会说太多的知识点&#xff0c;或噱人去培训机构学习的话语&#xff0c;仅作为一个普通打工者的身份&#xff0c;来写给那些对于软件测试未来发展、薪资待遇等不清楚的正在为家庭&#xff0c;解决信用…...

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

边界框回归&#xff08;BBR&#xff09;的损失函数对于目标检测至关重要。它的良好定义将为模型带来显著的性能改进。大多数现有的工作假设训练数据中的样本是高质量的&#xff0c;并侧重于增强BBR损失的拟合能力。 一、L2-norm 最初的基于回归的BBR损失定义为L2-norm&#xf…...

Node=>Express中间件 学习3

1.概念&#xff1a; 例&#xff1a;在处理污水的时候&#xff0c;一般都要经过三个处理环节&#xff0c;从而保证处理过后的废水&#xff0c;达到排放标准 处理污水的这三个中间处理环节&#xff0c;就可以叫中间件 2.中间件调用流程 当一个请求到达Express的服务器之后&#x…...

【STM32笔记】HAL库UART串口配置及重定向(解决接收中断与scanf不能同时工作的问题)

【STM32笔记】HAL库UART串口配置及重定向&#xff08;解决接收中断与scanf不能同时工作的问题&#xff09; 首先 要使用printf和scanf 必不可少的就是 #include <stdio.h>这里需要做的就是配置单片机的UART 并且使其能够被printf和scanf调用 打开异步工作模式 并且选择…...

【前端CSS面试题】2023前端最新版css模块,高频15问

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;博主收集的CSS面试题 目录 一、CSS必备面试题 1.CSS3新特性 2.CSS实现元素两个盒子垂…...

Linux命令大全,赶紧收藏!

新的一年 新的征程 新的课程开班 等你来学&#xff01; 本文为Linux命令大全&#xff0c;从A到Z都有总结&#xff0c;建议大家收藏以便查用&#xff0c;或者查漏补缺&#xff01; A 命令 描述 access 用于检查调用程序是否可以访问指定的文件&#xff0c;用于检查文件…...

大数据入门怎么学习

大数据学习不能停留在理论的层面上&#xff0c;大数据方向切入应是全方位的&#xff0c;基础语言的学习只是很小的一个方面&#xff0c;编程落实到最后到编程思想。学习前一定要对大数据有一个整体的认识。 大数据是数据量多吗&#xff1f;其实并不是&#xff0c;通过Hadoop其…...

用于异常检测的深度神经网络模型融合

用于异常检测的深度神经网络模型融合 在当今的数字时代&#xff0c;网络安全至关重要&#xff0c;因为全球数十亿台计算机通过网络连接。近年来&#xff0c;网络攻击的数量大幅增加。因此&#xff0c;网络威胁检测旨在通过观察一段时间内的流量数据来检测这些攻击&#xff0c;…...

游戏服务器如何选择合适的服务器配置

游戏服务器如何选择合适的服务器配置 大家好&#xff0c;今天给大家分享一下游戏服务器配置的选择&#xff0c;为什么特别的说明一下服务器呢&#xff1f;服务器是决定服稳定性和安全性最重要的一个程序&#xff0c;如果是服务器配置不够&#xff0c;可能会导致服掉线、卡顿的…...

01-幂等性解释,问题及常用解决方案

目录 1. 幂等性简介 2. 后端如何解决幂等性问题 2.1 数据库层面 -> 2.1.1 防重表 -> 2.1.2 数据库悲观锁(不建议,容易出现死锁情况) -> 2.1.3 数据库乐观锁 -> 2.1.4 乐观锁CAS算法原理 2.2 锁层面 2.3 幂等性token层面 -> 2.3.1 简介文字描述: …...

SpringBoot配置文件

配置文件有两种格式&#xff1a; .properties .yml .properties是老版配置文件&#xff0c;.yml是新版配置文件 一、properties详解 IDEA社区版不支持 properties格式的日志的提示&#xff0c;需要安装相应插件。 3.1properties 基本语法 &#xff08;ps:小技巧&#xff0…...

基于蜣螂算法改进的DELM分类-附代码

蜣螂算法改进的深度极限学习机DELM的分类 文章目录蜣螂算法改进的深度极限学习机DELM的分类1.ELM原理2.深度极限学习机&#xff08;DELM&#xff09;原理3.蜣螂算法4.蜣螂算法改进DELM5.实验结果6.参考文献7.Matlab代码1.ELM原理 ELM基础原理请参考&#xff1a;https://blog.c…...

做产地证网站/武汉java培训机构排名榜

5、链表适用于写操作多&#xff0c;读操作少的场景。 二、单链表 链表是有序的列表&#xff0c;但是它在内存中存储如下&#xff1a; 上图小结&#xff1a; 1、链表是以节点的方式来存储&#xff0c;是链式存储 2、每个节点包含data域&#xff0c;next域&#xff1a;指向下一…...

山东建设企业网站/百度投流运营

Hibernate的核心组件在基于MVC设计模式的JAVA WEB应用中&#xff0c;Hibernate可以作为模型层/数据访问层。它通过配置文件(hibernate.properties或hibernate.cfg.xml)和映射文件(***.hbm.xml)把JAVA对象或PO(Persistent Object,持久化对象)映射到数据库中的数据库&#xff0c;…...

宜昌市城市建设学校网站/外贸seo优化

《Spark最佳实战 陈欢》写的这本书&#xff0c;关于此知识点&#xff0c;非常好&#xff0c;在94页。 hive里的扩展接口&#xff0c;主要包括CLI&#xff08;控制命令行接口&#xff09;、Beeline和JDBC等方式访问Hive。 CLI和Beeline都是交互式用户接口&#xff0c;并且功能…...

网站名重复/百度网址提交入口平台

1.首先通过&#xff0c;which java命令或whereis java命令&#xff0c;可以得到 /usr/bin/java $ which java /usr/bin/java2.执行命令 ls -lrt /usr/bin/java 得到 /usr/bin/java -> /etc/alternatives/java $ ls -lrt /usr/bin/java lrwxrwxrwx 1 root root 22 1月 17…...

免费做图片的网站有哪些/企业官网定制设计

我同意坏孩子的的提法&#xff0c;不管男或女&#xff0c;除了风度也而要讲气质。风度这东西&#xff0c;就像我咱们国产的名牌西装"风度"&#xff0c;只要你有钱&#xff0c;你也可以买一件穿上。可是&#xff0c;你穿上後是否潇洒呢&#xff1f;这就看你有没有气质…...

电视台网站模版/如何做网络营销

C# 读取ini文件 ini文件介绍 ini文件是微软操作系统上的配置文件&#xff0c;格式如下 ;此处是注释 [section1] key1value1 key2value2 [section2] key3value3 注意&#xff1a; 注释符号为分号 c#操作ini文件的类 using System; using System.Collections.Generic; using Syst…...