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

导言

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

数据仓库作为重要的数据管理和分析工具,已经发展了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.mzph.cn/pingmian/28206.shtml

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

相关文章

分布式数据库核心问题和解决方法

当下,由于成本压力以及数据保护的要求,采用国产数据库的呼声越来越高,但是国产数据库数量众多,良莠不齐,没有选择数据库比较靠谱的标准,业内真正懂得数据库的人很少,且为了这块大的蛋糕&#xf…

Axios进阶

目录 axios实例 axios请求配置 拦截器 请求拦截器 响应拦截器 取消请求 axios不仅仅是简单的用基础请求用法的形式向服务器请求数据,一旦请求的端口与次数变多之后,简单的请求用法会有些许麻烦。所以,axios允许我们进行创建axios实例、ax…

Retrofit 注解参数详解

添加依赖 implementation com.squareup.retrofit2:retrofit:2.9.0 implementation com.squareup.retrofit2:converter-gson:2.9.0 初始化Retrofit val retrofit Retrofit.Builder().baseUrl("http://api.github.com/").addConverterFactory(GsonConverterFactory…

【Kafka】Kafka提高生产者吞吐量、数据可靠性-06

【Kafka】Kafka提高生产者吞吐量-06 1. 提高生产者吞吐量2.数据可靠性2.1 回顾数据的发送流程2.2 ack应答级别2.2.1 acks:02.2.2 acks:12.2.2 acks:-1(all)2.2.2.1 数据可靠性分析2.2.2.2 数据完全可靠 2.3 可靠性总结2.4 可靠性代码配置 1. 提高生产者吞吐量 import org.apach…

科技云报道:“元年”之后,生成式AI将走向何方?

科技云报道原创。 近两年,以大模型为代表的生成式AI技术,成为引爆数字原生最重要的技术奇点,人们见证了各类文生应用的进展速度。Gartner预测,到2026年,超过80%的企业将使用生成式AI的API或模型,或在生产环…

「实战应用」如何用图表控件LightningChart JS创建SQL仪表板应用(二)

LightningChart JS是Web上性能特高的图表库,具有出色的执行性能 - 使用高数据速率同时监控数十个数据源。 GPU加速和WebGL渲染确保您的设备的图形处理器得到有效利用,从而实现高刷新率和流畅的动画,常用于贸易,工程,航…

OpenCore 引导完美升级

备份原有 OC (做好回滚的准备下载新版 OpenCore https://github.com/acidanthera/OpenCorePkg/releases将 1, 3, 4 里面的文件使用新版进行替换 4 里面的文件严格来说并不需要, 只是留着方便使用不追求完美到这就可以收工了将 OC 复制到 U 盘 EFI U 盘格式化可以使用: diskutil…

微服务开发与实战Day09 - Elasticsearch

一、DSL查询 Elasticsearch提供了DSL(Domain Specific Language)查询,就是以JSON格式来定义查询条件。类似这样: DSL查询可以分为两大类: 叶子查询(Leaf query clauses):一般是在特…

Docker Jenkins(改错版本)

Devops:它强调开发(Development)和运维(Operations)团队之间的协作.实现更快,更可靠的软件交付部署. JenKins是一个开源的自动化服务器,广泛用于构建,测试和部署软件项目.它是持续集成(CI)和持续交付/部署(CD)的工具.JenKins是实现DevOps实践的重要工具. 前端项目部署一般流程:…

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

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

蓝队-溯源技巧

溯源技巧 大致思想 通常情况下,接到溯源任务时,获得的信息如下 攻击时间 攻击 IP 预警平台 攻击类型 恶意文件 受攻击域名/IP其中攻击 IP、攻击类型、恶意文件、攻击详情是溯源入手的点。 通过攻击类型分析攻击详情的请求包,看有没有攻击者…

实在智能应邀出席中国移动科技工作者论坛,分享基于大模型+Agent智能体的“企业大脑”

为大力弘扬科学家精神,激励广大科技工作者践行科技报国、创新为民,争做高水平科技自立自强排头兵,6月6日,中国移动在线营销服务中心(以下简称“在线中心”)“2024年科技工作者大讲堂暨青年创新创效论坛”于…

Matlab|基于手肘法的kmeans聚类数的精确识别【K-means聚类】

主要内容 在电力系统调度研究过程中,由于全年涉及的风、光和负荷曲线较多,为了分析出典型场景,很多时候就用到聚类算法,而K-means聚类就是常用到聚类算法,但是对于K-means聚类算法,需要自行指定分类数&…

C/C++:指针用法详解

C/C:指针 指针概念 指针变量也是一个变量 指针存放的内容是一个地址,该地址指向一块内存空间 指针是一种数据类型 指针变量定义 内存最小单位:BYTE字节(比特) 对于内存,每个BYTE都有一个唯一不同的编号…

赶紧转行大模型,预计风口就今年一年,明年市场就饱和了!不是开玩笑

恕我直言,就这几天,各大厂都在裁员,什么开发测试运维都裁,只有大模型是急招人。 你说你不知道大模型是什么?那可太对了,你不知道说明别人也不知道,就是要趁只有业内部分人知道的时候入局&#…

String常用方法详解

auth:别晃我的可乐 date:2024年06月16日 比较大小 equals(Object obj): 用于比较字符串内容是否相等。compareTo(String anotherString): 按字典顺序比较两个字符串。 String str1 "hello"; String str2 "world";boolean isEqual …

配置Linux DNS服务器作为自己的windows 的 DNS服务器和 配置遇到的问题

安装DNS 库 和 DNS工具: # bind 是用于创建 dns服务的, bind-utils是用于测试DNS服务的工具 yum -y install bind bind-utils配置主配置文件: # 下载好后就已经有DNS服务,但是需要你自己去配置DNS服务信息# 配置主配置文件 [rootl…

SylixOS下UDP组播测试程序

SylixOS下UDP组播测试 测试效果截图如下: udp组播发送测试程序。 /********************************************************************************************************* ** ** 中国软件开源组织 ** ** …

vue的安装配置并创建项目

npm 工具的安装 安装node.js之后,npm工具会自动安装到系统环境中 网址:https://nodejs.org/en vue的安装 安装vue并创建项目 npm create vuelatest 进入项目之后,然后启动npm run dev 解决方法: npm install -g create-vite 再次启动 通…

13.泛型、trait和生命周期(下)

目录 6. 生命周期与引用有效性6.1 生命周期引入6.2 得到长度最大的String值6.3 生命周期标注语法1)说明2)普通标注示例3)函数参数中的生命周期标注 6.4 深入理解生命周期6.5 结构体定义中的生命周期标注6.6 生命周期省略 6.7 方法定义中的生命…