从数据库到数据仓库:数据仓库导论

news2024/11/23 21:02:18

导言

本文为数据仓库导论,旨在介绍数据仓库的基本理念和应用场景,帮助读者理解数据仓库的重要性及其在企业中的实际应用。

数据仓库作为重要的数据管理和分析工具,已经发展了30多年,其过程中生态和技术都发生了巨大的变化。尽管如此,数据仓库最初的设计思想依然值得我们借鉴和思考。在这篇文章中,将为那些对数据仓库不太了解的读者提供基本的概念介绍,包括数据仓库的定义、数据仓库与数据库的关系、企业是否需要数仓、数据仓库的发展历史、数仓技术架构变迁以及数仓商务解决方案等。最后,我们还将探讨数据仓库在企业中的实际应用过程。

  1. 数据仓库简介
    • 介绍数据仓库的定义和基本概念,以及为什么企业需要数据仓库。
    • 强调数据仓库的目标是支持企业决策和分析需求,并提供高质量的数据。
  2. 数据仓库与数据库的关系
    • 解释数据仓库与传统数据库的区别和联系。
    • 强调数据仓库的特点,如面向主题、集成性和时间一致性。
  3. 数仓技术发展历史
    • 探讨数据仓库在国内的发展历史及技术生态。
    • 介绍第一代至第五代数据仓库生态的变迁及架构设计。
  4. 数据仓库与商业智能产品
    • 列举市面上常见的商业智能产品。
    • 讨论数据仓库如何与商业智能(BI)产品结合,提升数据分析和决策能力。
  5. 数据仓库在企业落地过程
    • 介绍数据仓库在企业中的实际应用过程。
    • 提供一些企业落地实践,以便成功地将数据仓库引入企业。

一、什么是数据仓库?

我们先将时间调到10年以前,当国内有一家初具规模的互联网企业因大数据热潮开始着手组建大数据团队,通常情况下,大数据团队组建后的首要任务是构建数据仓库。这个过程往往伴随着第一个大数据项目的启动,通常是关于商业智能(BI)报表的开发。

类似地,现如今的AI热潮也引发了国内组建AI团队的潮流。与过去相似,组建AI团队后的首要任务就是大模型的构建。

需要明确的是:大数据不等于数据仓库,但数据仓库一定是大数据在企业落地中不可或缺的一部分。

那么什么是数据仓库?先来看数据仓库历史渊源。

渊源

在上世纪70年代,IBM在提出了关系型数据库理论后,MIT的研究员开始探索分析系统构建的基础理论。他们试图将业务处理系统和分析系统分隔开来,认为这两种信息处理方式具有显著差异,应采用不同的架构和设计原则。尽管这一理论在当时的技术条件下仅停留在概念阶段。

到了80年代初,比尔·恩门(Bill Innmon) 开始深入研究“记录系统”、“本原数据”、“决策支持数据库”等专题。与此同时,J. Martin在数据库分类研究中专注于“第4类数据库”,即“由用户驱动的计算环境”,其信息服务以“搜索和快速信息回收”为主要特征。这个定义与后来的数据仓库概念十分相似。

而在1988年,IBM的研究员创新性地提出了一个全新的概念–数据仓库(Data Warehouse)。随后,数据仓库之父Bill Innmon于1991年出版了数据仓库经典之作《构建数据库仓库》,这标志着数据仓库概念的正式确立。该书阐明了数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,旨在支持管理决策。此书还提供了建立数据仓库的指导意见和基本原则,因此Bill Innmon被誉为数据仓库之父。

按照数据仓库之父的解释:数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,旨在支持企业管理决策。

主题性

数据仓库的主题性是指数据仓库的设计和组织方式,它与关系型数据库有明显的区别。在关系型数据库中,数据通常按照应用系统的功能进行组织,数据表代表了不同的实体和关系。而数据仓库则按照主题来组织数据,主题是与特定业务领域或分析目标相关的数据集合,主题性的设计更适合支持决策支持和分析需求,例如:

关系型数据库:

订单表 (Orders):

订单ID客户ID产品ID订单日期订单金额
11012012023-01-15$100
21022022023-02-20$150
31032012023-03-10$200

产品表 (Products):

产品ID产品名称价格
201商品A$50
202商品B$75

客户表 (Customers):

客户ID姓名城市
101张三北京市
102李四上海市
103王五广州市

数据仓库:

销售分析主题表 (Sales Analysis):

订单ID客户姓名城市产品名称订单日期订单金额
1张三北京市商品A2023-01-15$100
2李四上海市商品B2023-02-20$150
3王五广州市商品A2023-03-10$200

在这个示例中,关系型数据库中的订单、产品和客户数据被分别存储在不同的表中,并使用ID来建立关联。而数据仓库中的销售分析主题表将订单、产品和客户信息整合在一起,以方便进行销售分析和报表生成。

主题性的底层逻辑围绕数据建模。

集成性

集成性是指它能够整合来自多个不同数据源的数据,包括结构化数据、半结构化数据和非结构化数据等。通过将这些数据集成到一个统一的数据仓库中,用户可以进行全面的数据分析和决策支持。

假设一家制造公司想要构建一个数据仓库来进行生产和供应链分析。该公司从多个数据源获取数据,包括以下几个来源:

  1. 企业内部的关系型数据库:包括订单数据、库存数据、销售数据等。
  2. 供应商的数据:包括原材料供应商提供的采购数据、交付数据等。
  3. 外部数据源:例如市场调研报告、社交媒体数据等。

为了实现数据仓库的集成性,该公司需要将来自不同数据源的数据整合到数据仓库中。以下是数据仓库中的集成数据示例:

生产与供应链分析主题表 (Production and Supply Chain Analysis):

订单ID产品ID供应商ID订单日期订单数量供应商名称原材料名称交付日期市场需求分析
12015012023-01-05100供应商A原材料A2023-01-10需求高
22025022023-02-10150供应商B原材料B2023-02-15需求中
32015032023-03-15200供应商C原材料A2023-03-20需求高

在这个示例中,数据仓库集成了来自企业内部的关系型数据库、供应商的数据以及外部数据源的数据。通过将订单数据、供应商数据和市场需求分析数据整合在一起,数据仓库可以提供一个综合性的视图,用于生产和供应链分析。用户可以根据订单数量、供应商信息、原材料使用情况和市场需求分析等因素进行深入分析和决策。

在数据仓库中实现数据集成的一种常见方法是使用ETL(Extract, Transform, Load)工具。ETL工具可以从各种数据源中提取数据,进行必要的转换和清洗,并将数据加载到数据仓库中,市场上有一些流行的ETL工具,如Sqoop和DataX,它们都被广泛用于数据集成的任务。

在这里插入图片描述

相对稳定性

这里的稳定性有两层含义:数据的稳定性、架构设计的稳定性。

  • 数据的稳定性指的是数据在数据仓库中的持久性和相对不可变性。这意味着一旦数据被加载到数据仓库中,它们不会因为时间的推移而发生改变。这种稳定性与下面历史性相互映照,确保数据仓库提供可靠的历史数据(例如快照表和拉链表)对于企业的决策至关重要。

  • 架构设计的稳定性指的是数据仓库底层架构的稳定性。数据仓库需要经过仔细的设计和规划,采用冗余存储和容错机制来提高系统的可靠性,这可能包括使用多个服务器节点、数据复制和故障转移等技术,以便能够持续稳定地支持数据的存储和查询。对企业来说,一个稳定可靠的数据仓库是基础设施的关键组成部分。

在这里插入图片描述

历史性

数据仓库的历史性指的是它能够跟踪和保存数据的历史变化。与关系型数据库中的数据更新不同,数据仓库将数据加载为历史快照,以便可以追溯数据在不同时间点的状态。这种历史性使得数据仓库成为一个强大的分析工具,可以支持时间趋势分析、历史比较供企业深入分析和决策,这里以快照表为例:

关系型数据库:

用户表 (User):

idnamephonegendercreate_timeupdate_time
1jack1112023-06-01 13:00:002023-06-01 13:00:00
2jason2222023-06-01 13:00:002023-06-01 13:00:00
3tom3332023-06-01 13:00:002023-06-01 13:00:00

2023-06-02 业务数据新增了一名用户,且更改了tom的手机号,此时表数据如下:

idnamephonegendercreate_timeupdate_time
1jack1112023-06-01 13:00:002023-06-01 13:00:00
2jason2222023-06-01 13:00:002023-06-01 13:00:00
3tom4442023-06-01 13:00:002023-06-02 09:00:00
4tony5552023-06-02 10:00:002023-06-02 10:00:00

数据仓库:

用户快照表 (User_snapshot):

iddtnamephonegendercreate_timeupdate_time
12023-06-01jack1112023-06-01 13:00:002023-06-01 13:00:00
22023-06-01jason2222023-06-01 13:00:002023-06-01 13:00:00
32023-06-01tom3332023-06-01 13:00:002023-06-01 13:00:00
12023-06-02jack1112023-06-01 13:00:002023-06-01 13:00:00
22023-06-02jason2222023-06-01 13:00:002023-06-01 13:00:00
32023-06-02tom5552023-06-01 13:00:002023-06-02 09:00:00
42023-06-02tony5552023-06-02 10:00:002023-06-02 10:00:00

支持企业管理决策

在企业运营过程中,管理决策是确保业务顺利运行和发展的关键。支持企业管理决策是数据仓库的核心目标之一,指的是利用数据仓库中的数据帮助企业在管理和战略层面做出明智的决策。

数据仓库作为一个集成的数据集合,整合了来自多个源系统的数据,经过清洗、转换和整理,形成一致、统一的数据视图。这样的数据集合提供了全面、综合的信息,可以支持企业管理决策的各个方面,包括战略规划、业务分析、绩效评估、市场预测等,如下图:

在这里插入图片描述

小结

数据仓库(Data Warehouse),简写为DW,是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,旨在支持企业管理决策。

数据仓库接收来自各种各样的数据源,并将其整合在一起,最终输出用于企业的数据分析、数据挖掘和数据报表等。它为企业提供了商业智能(BI)的能力,可以指导业务流程改进、监控时间、成本、质量以及数据控制。

在这里插入图片描述

二、关系型数据库VS数据仓库

首先要明确: 数据仓库的出现,并不是要取代数据库。

数据库是面向交易的处理系统,主要用于支持具体业务的日常操作,例如记录查询和修改。它关注操作的响应时间、数据的安全性、完整性和并发支持的用户数等方面。传统的数据库系统被称为联机事务处理(OLTP),主要用于操作型处理。

数据仓库则主要针对某些主题的历史数据进行分析,支持管理决策,也被称为联机分析处理(OLAP)。数据仓库的目标是提供给企业管理层全面、准确的数据视图,以支持高级分析、趋势分析和决策制定。

数据库与数据仓库的区别

比较维度数据库数据仓库
设计目标面向事务的设计,支持业务操作和日常事务处理。面向主题的设计,支持数据分析和决策。
数据存储存储业务数据,尽量避免冗余,针对某一业务应用设计。存储历史数据,有意引入冗余,依据分析需求、分析维度和指标设计。
数据特点当前数据、细节化、短期存储。历史数据、聚合、长期存储。
功能区别为捕获和管理当前事务数据而设计,确保数据的一致性和完整性,支持实时操作。为分析数据而设计,从事务系统获取数据,进行汇总和加工,为决策提供依据。
实例银行客户存款、取款、转账等操作实时写入数据库。分析银行某分行一个月的交易总量和当前存款余额,决策是否增加ATM机。
时效性实时,数据记录和事务处理需要几秒内完成。事后,提供关注时间段内的有效数据,允许汇总计算较慢。
用途捕获和管理当前业务数据。深入分析和挖掘历史数据,为决策提供支持。

实例分析:银行业务

维度数据库(事务系统)数据仓库(分析系统)
功能记录客户每笔交易(如存款、取款、转账)。从事务系统提取数据,进行汇总和加工,支持决策分析。
数据特点实时、细节、短期存储。历史数据、汇总、长期存储。
示例客户存一笔钱,几秒内记录到数据库。分析银行某分行一个月的交易总量、当前存款余额,决策是否增加ATM机。

三、企业为什么要构建数仓?

在过去的十年中,当企业开始组建大数据团队时,构建数据仓库通常是他们首要的任务。然而,许多开发人员对此持怀疑态度,因为数据仓库的建设成本相对较高,他们开始质疑是否真的需要构建数据仓库。

在我看来,数据仓库只是实现目标的手段,而非目标本身。企业的目标是利用现有数据进行商业智能分析,以帮助决策制定。数据仓库更像是一种商业智能分析解决方案。

那么,除了数据仓库,是否还有其他解决方案呢?当然是有的。如果企业规模较小,数据处于小体量,直接使用关系型数据库进行分析是可行的。但是,随着企业后续数据量的快速增长,关系型数据库就有十几个,企业需要基于全盘数据进行分析时就会显得力不从心,所以企业BI建设建立在完整的数据仓库基础上为最佳

总结:数据仓库更像是一种成熟的商业智能分析的解决方案。

四、数据仓库衍生出的岗位

在过去的十年中,数据仓库可以说是大数据领域必不可少的项目,而随之衍生的岗位也是种类繁多,例如:

BI工程师,报表工程师,数据仓库工程师,ETL工程师,大数据工程师。

  1. BI工程师(Business Intelligence Engineer):BI工程师负责构建和维护商业智能系统,帮助业务部门进行数据分析和报表制作。他们使用数据可视化工具和技术,将数据转化为有意义的见解,帮助决策者做出准确的商业决策。
  2. 报表工程师和数据分析师:报表工程师和数据分析人员专注于设计、开发和维护报表和数据可视化工具。他们与业务用户合作,理解他们的需求,并创建具有可视化效果的报表和仪表盘,以便业务部门能够直观地理解和分析数据,从而支持决策制定和业务优化。
  3. 数据仓库工程师(Data Warehouse Engineer):数据仓库工程师专注于构建和维护数据仓库系统。他们设计和实施数据仓库架构,负责数据抽取、转换和加载(ETL),管理数据的存储和索引,确保数据的一致性和准确性,以支持企业的数据分析和决策。
  4. ETL工程师(Extract, Transform, Load Engineer):ETL工程师负责数据抽取、转换和加载过程。他们开发和维护ETL流程,将数据从各种来源抽取出来,进行必要的转换和清洗,并加载到目标系统或数据仓库中。ETL工程师确保数据的完整性和一致性,以便后续的数据分析和报表制作。
  5. 大数据工程师(Big Data Engineer):大数据工程师专注于构建和维护大数据处理平台。他们使用分布式系统和技术,处理和分析海量数据,包括结构化和非结构化数据。大数据工程师负责搭建数据处理和存储架构,开发和优化大数据处理流程,处理数据质量和性能问题,以支持企业的大数据应用和业务需求。

这些岗位在过去十年中不断演变,最终市场上整合为两个主要职能:大数据工程师(开发)、数仓工程师。

五、国内数仓发展历史

第一代:经典数仓

经典数据仓库主要以离线数仓为主,是传统的数据仓库架构,其特点如下:

  1. 数据导入:数据源通过离线方式导入到离线数据仓库中。
  2. 数据处理:采用Hadoop、Spark等技术,通过MapReduce、Hive、SparkSQL等离线计算引擎进行数据处理。

下面是经典离线数据仓库的架构和数据处理流程:

在这里插入图片描述

第二代:Lambda架构(离线+实时结合)

随着大数据应用的发展,系统的实时性需求逐渐增加。为了计算实时指标,在原有离线数据仓库的基础上增加了一个实时计算链路,并对数据源进行流式改造(即将数据发送到消息队列)。实时计算组件订阅消息队列,直接完成指标的增量计算,并将结果推送到下游的数据服务层,由数据服务层完成离线和实时结果的合并。Lambda架构如下图所示:

在这里插入图片描述

第三代:Kappa架构(批流一体)

Lambda 架构虽然满足了实时的需求,但带来了更多的开发与运维工作,其架构背景是流处理引擎还不完善,流处理的结果只作为临时的、近似的值提供参考。 后来随着Flink等流处理引擎的出现,流处理技术很成熟了,这时为了解决两套代码的问题。 Linkedln 提出了 Kappa 架构**,在实时计算中可以直接完成计算,也可以跟离线数仓一 样分层,取决于指标的复杂度,各层之间通过消息队列交互(多半是不分层的),**Kappa 架构可以认为是 Lambda 架构的简化版(只要移除 Lambda 架构中的批处理部分即可)。Kappa 架构如下图所示:

在这里插入图片描述

第四代:基于MPP数据库的实时统一数仓架构

面对越来越强的OLAP数据分析需求,新一代高性能MPP数据库高速发展:2016年Clickhouse、2017年Doris相继面世。例如,Doris的实时数仓架构。其特点如下:

  • 报表分析:面向用户或者客户的高并发报表分析(Customer Facing Analytics)。
  • 即席查询(Ad-hoc Query):面向分析师的自助分析,查询模式不固定,要求较高的吞吐。
  • 统一数仓构建 :一个平台满足统一的数据仓库建设需求,简化繁琐的大数据软件栈。
  • 数据湖联邦查询:通过外表的方式联邦分析位于 Hive、Iceberg、Hudi 中的数据,在避免数据拷贝的前提下,查询性能大幅提升。

具体如下图所示:

在这里插入图片描述

第五代:基于数据湖实时数仓架构(湖仓一体)

数据湖的概念最早由Pentaho的创始人兼CTO詹姆斯·迪克森 在2010年10月纽约Hadoop World大会上提出。然而,数据湖在国内的广泛应用直到2019年三大数据湖开源后才真正兴起。其中,Spark+Hudi 以及 Flink+Iceberg的组合应用最为广泛。该架构具有以下特点:

  • 支持ACID和模式变更:高效地进行表模式变更,例如增加或删除分区和字段等功能。
  • 统一存储的准实时数据仓库:湖仓一体化,数据统一存储在数据湖中(如Iceberg、Hudi、Delta Lake)。支持批流一体化读写,确保数据一致性,避免脏读现象。
  • 高效的upsert操作:支持高效的插入和更新操作。

以下是该架构的示意图:

在这里插入图片描述

六、数据仓库与商业智能产品

帆软(FineReport / FineBI)

介绍: 帆软是一家中国本土的老牌BI公司,成立于2006年,主要提供企业级报表和商业智能解决方案。其主要产品包括FineReport和FineBI。FineReport侧重于报表设计与展示,而FineBI则更注重数据分析与可视化。

在这里插入图片描述

特点:

  • FineReport:功能强大的报表工具,支持复杂报表设计和数据展示。
  • FineBI:集成数据分析、数据挖掘和数据可视化,适合企业数据分析需求。

优点:

  • 功能全面,支持报表、数据可视化等
  • 中文本地化和本地支持强
  • 庞大的用户社区和培训资源
  • 支持自定义开发

缺点:

  • 学习曲线陡峭
  • 成本较高

观远(Guandata)

介绍: 观远是一家中国的新兴BI公司,成立于2016年,致力于为企业提供智能数据分析和决策支持平台。观远BI注重用户体验和创新,旨在让业务人员也能轻松进行数据分析。
在这里插入图片描述

特点:

  • 用户友好:界面简洁,操作简便,适合非技术人员使用。
  • AI驱动:集成AI技术,提供智能分析和预测功能。
  • 快速部署:支持云部署,能够快速上线使用。

优点:

  • 易用性强,界面友好
  • 创新性强,支持AI驱动的数据分析
  • 中文本地化支持好

缺点:

  • 功能不如老牌BI全面

阿里Quick BI

介绍: 阿里Quick BI是阿里巴巴集团推出的一款云原生BI产品,旨在为企业提供简单易用、高效的商业智能解决方案。Quick BI与阿里云生态系统紧密结合,适合已经在使用阿里云服务的企业。

在这里插入图片描述

优点:

  • 云原生,易于部署和扩展
  • 与阿里云产品无缝集成(如钉钉)
  • 性价比高

缺点:

  • 依赖阿里云生态
  • 高级分析和自定义功能较弱

微软Power BI

介绍: 微软Power BI是一款全球广泛使用的商业智能工具,提供强大的数据分析和可视化功能。它与微软的Office平台无缝集成,是微软生态系统中的重要组成部分。

在这里插入图片描述

特点:

  • 功能强大:提供丰富的数据连接器、强大的数据处理和分析能力。
  • 与微软产品整合:无缝集成Office 365、Azure等微软产品,提升协同效率。
  • 用户社区庞大:全球用户众多,有丰富的在线资源和支持。

优点:

  • 功能全面,数据连接器丰富
  • 与微软生态系统(Office 365, Azure)整合
  • 用户社区庞大,资源丰富
  • 性价比高,有免费版本

缺点:

  • 中文本地化支持不足
  • 处理大规模数据时性能可能有限

总结

  • 帆软:本土老牌,功能强大,适合需要复杂报表和深入分析的企业。
  • 观远:新兴产品,操作简单,适合追求易用性和快速部署的企业。
  • 阿里Quick BI:云原生产品,集成阿里云服务,适合使用阿里云的企业。
  • 微软Power BI:国际领先,功能全面,与微软生态系统紧密集成,适合使用微软产品的企业。

七、企业一站式解决方案落地

河北鑫达集团

河北鑫达集团是一家集矿产采选、地产开发、钢铁冶金及上下游产业链实体贸易为一体的全国大型综合性企业,连续跻身“全国钢铁A级竞争力特强企业”、“中国钢铁工业20强”榜单。作为钢铁行业的排头兵,鑫达集团数字化转型起步早,在实时监控、资产管理、生产运行、能源管理、安全环保、经营管理等方面进行智能化分析,数字化转型成果显著,据称一年降本3000w。

作为传统重工业的基础原材料产业,钢铁行业长期面临高耗能、高排放等现实难题。中国钢铁行业占国家碳排放总量的15%,也是排放量最高的制造行业。双碳目标下,中国钢铁行业任重而道远,数字化转型成为企业推动绿色低碳可持续发展的重要抓手。

在这里插入图片描述

在这里插入图片描述

杨国福

“你一个做麻辣烫的搞数字化有意义吗”这是三年前杨国福信息化负责人王林林在上台演讲前受到的质疑,如今这个问题有了准确回答。

王林林坦言:“说实话最开始的时候有些纠结,毕竟这是一次全新且在行业内失败率很高的尝试。”

但是,换个思路,像杨国福这种6000多家门店的企业,每个加盟商耽误2天营业,集团的损失将会很大。最重要的是,推迟一天营业、补货,加盟商就要承受很大压力。赋能加盟商不是句空喊的口号,要落到具体行动上。

王林林说:“数字化不能光评估投入,数字化要看投产比。”目前,杨国福集团的数字化投产比是非常可观的。通过数字化确确实实提升了工作效率,实现了业绩与效率双增长。

“每出一个外卖订单,我们能知道工厂挣多少钱,加盟商挣多少钱,公司挣多少钱,这就是我们做数字化的意义。”

数字化时代,挖掘数据价值是核心导向

在这里插入图片描述

八、相关资料

  • 帆软

  • 观远科技

  • 阿里Quick BI

  • 微软Power BI

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1828287.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[报错解决]Failed to bind to server socket: amqp://0.0.0.0:5672?maximumConnections

目录 报错信息解决 报错信息 Failed to start Apache ActiveMQ (localhost, ID:rhel-33317-1718469475002-0:1) | org.apache.activemq.broker.BrokerService | main java.io.IOException: Transport Connector could not be registered in JMX: java.io.IOException: Faile…

30 天 52% 回报:GPT-4o 量化交易机器人

本文介绍了如何利用GPT-4o,结合量化交易技术创建盈利的交易机器人策略,并通过回溯测试验证这一策略的有效性。原文: 52% Returns in 30 Days: Your GPT-4o Quant Trading Bot Strategy 量化交易可以盈利,但只有拥有丰富资源、拥有编码和数学技…

[力扣二叉树]本地调试环境指导手册

以236. 二叉树的最近公共祖先为例子 本地编译软件为Viusal Studio 2022 写代码 项目里文件位置 CreateTree.h #pragma once #ifndef CLIONPROJECT_LEETCODECREATETREE_H #define CLIONPROJECT_LEETCODECREATETREE_H #include<vector> #include<queue> using na…

VMware虚拟机linux无法使用ifconfig的解决方法

在有些linux系统中&#xff0c;输入ifconfig会报错&#xff0c;这是为什么呢&#xff1f; 如果出现 那是说明&#xff0c;你的linux内没有对应的命令。 具体可输入 ls /sbin 查看,发现其中确实没有ifconfig命令 这个解决很简单&#xff0c;在命令行输入 sudo apt-get inst…

关于Mysql 中 Row size too large (> 8126) 错误的解决和理解

提示&#xff1a;啰嗦一嘴 &#xff0c;数据库的任何操作和验证前&#xff0c;一定要记得先备份&#xff01;&#xff01;&#xff01;不会有错&#xff1b; 文章目录 问题发现一、问题导致的可能原因1、页大小2、行格式2.1 compact格式2.2 Redundant格式2.3 Dynamic格式2.4 Co…

【个人云盘连接助手】解决多个用户账号无法同时映射到本地磁盘问题

问题 家里买了个联想个人云盘&#xff0c;但是使用SAMBA映射到windows本地磁盘时&#xff0c;每次只能连接到一个账户上&#xff0c;于是想着写个小工具&#xff0c;方便切换多个用户账户&#xff0c;自动映射到本地磁盘 开发简介 开发语言&#xff1a;python 主要实现功能&…

jeecg在线表单开发模式保存表时报The jdbcUrl is Null, Cannot read database type

报错信息如图 原因分析 使用jeecg框架 数据库使用的是DM数据库&#xff0c;在JeecgSystemApplication中&#xff0c;使用了注解过滤DruidDataSourceAutoConfigure&#xff0c;配置文件使用的是多数据源的方式 会出现这种情况 源码分析 getOnlineDataBaseConfig方法的dataBa…

一些硬件知识(十)

MOS管当开关控制时&#xff0c;一般用PMOS做上管&#xff0c;NMOS做下管 细说MOS管知识-MOS管高端驱动与低端驱动解析和原理及区别_高端功率 mos 管是什么意思-CSDN博客 PMOS管&#xff1a; PMOS管的源极&#xff08;Source&#xff09;通常连接到正电源&#xff08;Vcc&#…

怎么找抖音视频素材?在哪里找爆款热门的素材呢?

在短视频时代&#xff0c;拍摄和分享短视频已经成为一种潮流。但是&#xff0c;许多人都会面临一个问题&#xff0c;那就是——视频素材从哪里来&#xff1f;今天&#xff0c;我将为大家介绍几个优质的网站&#xff0c;让你的视频素材不再愁。 蛙学府&#xff1a;https://www.…

Matlab|基于V图的配电网电动汽车充电站选址定容-可视化

1主要内容 基于粒子群算法的电动汽车充电站和光伏最优选址和定容 关键词&#xff1a;选址定容 电动汽车 充电站位置 仿真平台&#xff1a;MATLAB 主要内容&#xff1a;代码主要做的是一个电动汽车充电站和分布式光伏的选址定容问题&#xff0c;提出了能够计及地理因素和服…

[大模型]ChatTTS Windows安装(CPU)

简介 ChatTTS是专为对话场景设计的语音生成模型&#xff0c;配合生成式大大语言模型&#xff0c;现在人人都可以拥有一个自己的贾维斯。 本文主要运行在windows环境下&#xff0c;目前只能cpu运行 cuda在windows上运行暂时会报错(截止2024-6-16)&#xff0c;目前博主暂无解决方…

芯片验证分享7 —— 代码审查1

大家好&#xff0c;我是谷公子&#xff0c;前几节课给大家分享了如何设计激励&#xff0c;今天我们来如何进行代码审查。 之前讨论的是基于计算机的验证技术&#xff0c;现在讨论非基于计算机的验证过程(即“人工验证”&#xff0c;或代码审查)。代码审查在查找错误方面非常有…

从零到爆款:用ChatGPT写出让人停不下来的短视频文案

一、前言 在自媒体的浪潮中&#xff0c;精彩的短视频文案对内容传播至关重要。众多辅助工具之中&#xff0c;凭借强大的语言处理能力和广泛的应用场景&#xff0c;ChatGPT成为了内容创作者的重要助力。接下来&#xff0c;我将介绍如何借助ChatGPT编写引人入胜的短视频文案&…

HarmongOS打包[保姆级]

创建应用 首先进入 华为开发者联盟-HarmonyOS开发者官网 然后进行登录。 登录成功后&#xff0c;鼠标悬停在在登录右上角那个位置后再点击管理中心&#xff0c;进入下面这个界面。 再点击&#xff1a;应用服务–>应用发布–>新建–>完善信息 构建和生成私钥和证书请求…

尚品汇-(二)

本地域名解析器&#xff1a;当我们在浏览器输入域名的时候&#xff0c;它首先找的不是远程的DNS&#xff0c;而是去本地的host中去找这个域名有没有对应的&#xff0c;如果有对应的&#xff0c;那么就根据对应的ip进行访问 一&#xff1a;环境安装 1.安装JAVA 运行环境 第一…

PyCharm添加库

在这里插入图片描述 pip install python-docx openpyxl

模拟电子技术基础(二)--PN结

PN结的本质 芯片都是由硅晶体制成&#xff0c;单个硅原子最外层有带有4个电子 在纯硅当中这些电子会两两形成共价键&#xff0c;此时周围形成非常稳定的八电子结构 在一个回路中&#xff0c;灯泡不亮&#xff0c;不导通&#xff0c;因为电池无法吸引其中的电子离开&#xff0c…

Passper for ZIP 安装教程 (ZIP密码恢复软件)

前言 Passper for ZIP是一款功能强大且实用的ZIP密码恢复软件。当你忘记了压缩包的密码时&#xff0c;这个工具可以轻松解决这个问题。只需按照界面上的提示操作&#xff0c;选择文件&#xff0c;然后选择解码的方式&#xff0c;即可轻松等待恢复完成。该软件支持四种密码恢复…

JS中的延时操作setTimeout()和setInterval()

JS中&#xff0c;给我们提供两种延时操作的内置方法setTimeout()和setInterval()。setTimeout和setInterval方法都是挂载在javascript的window对象下&#xff0c;通过两个参数控制&#xff0c;第一个参数控制运行的表达式或方法&#xff0c;第二个参数表示延时的时间&#xff0…

Stable Diffusion 3 开源了,完全不输 Midjourney

Hi&#xff0c;大家好。我是茶桁。 前段时间我介绍过一款文字生视频的 AI 工具&#xff1a;SadTalker&#xff0c; 当时咱们是作为 Stable Diffusion 的插件来安装的。 那基于 Stable Diffusion 呢&#xff0c;咱们今天就来聊聊新开源的 Stable Diffusion 3。 在文字生成图片…