计算机系列之数据库技术

13、数据库技术(重点、考点)

1、三级模式-两级映像(考点)

在这里插入图片描述

内模式:管理如何存储物理的数据,对应具体物理存储文件。

**模式:**又称为概念模式,就是我们通常使用的基本表,根据应用、需求将物理数据划分成一张张表。

**外模式:**对应数据库中的视图这个级别,将表进行一定的处理后再提供给用户使用。

**外模式-模式映像(逻辑上):**是表和视图之间的映射,存在于概念级和外部级之间,若表中数据发生了修改,只需要修改此映射,而无需修改应用程序。

**模式-内模式映像(物理上):**是表和数据的物理存储之间的映射,存在于概念级和内部级之间,若修改了数据存储方式,只需要修改此映射,而不需要去修改应用程序。

表:是行列组成,比如

年龄性别学历
22本科
25硕士
27博士

视图:是业务需要的通过 SQL 语句筛选、查询出来的表的数据的一部分,这部分正是业务需要的。即视图是表的一部分,比如业务需要知道表中女性员工的信息,于是得到:

年龄性别学历
22本科
27博士

视图是一张假表,筛选、查询出来的临时表,修改此临时表,不会影响数据库中的表。

模式映像的目的是数据库数据修改后,业务/应用层数据不需要修改。即无论数据库数据怎么变,业务层的代码、SQL语句不需要变。因为数据库中的数据是频繁变动的。

2、数据库设计(考点、掌握)

在这里插入图片描述

需求分析:即分析数据存储的要求,产出物有数据流图、数据字典、需求说明书。

概念结构设计:就是设计E-R图,也即实体-联系图,与物理实现无关,说明有哪些实体,实体有哪些属性。

逻辑结构设计:将E-R图,转换成关系模式,也即转换成实际的表和表中的列属性,这里要考虑很多规范化的东西。

物理设计:根据生成的表等概念,生成物理数据库。

在这里插入图片描述

3、数据模型

关系模型是二维表的形式表示的实体-联系模型,是将实体-联系模型转换而来的,经过开发人员设计的;

概念模型是从用户的角度进行建模的,是现实世界到信息世界的第一抽象,是真正的实体-联系模型。

数据模型三要素(考过):数据结构(所研究的对象类型的集合)、数据操作(对数据库中各种对象的实例允许执行的操作的集合,比如增删改查)、数据的约束条件(一组完整性规则的集合,比如小于150)。

1、E-R 模型(必考)

用 E-R 图描述概念数据模型,世界是由一组称作实体的基本对象和这些对象之间的联系构成的。

在E-R模型中,使用

椭圆表示属性(一般没有)、

长方形表示实体、

菱形表示联系,联系的两端要填写联系类型,

示例如下图:

在这里插入图片描述

弱实体依赖于强实体,带两道杠的长方形就是弱实体,单纯的长方形就是强实体,部门经理也是员工,部门经理一定是员工,员工不一定是经理。

联系类型:1:1、1: * 、 * :*

两个以上实体型的联系:

在这里插入图片描述

教师使用了参考书来教授课程。

2、关系模型(重要)

关系模型中数据的逻辑结构是一张二维表,由行列组成。用表格结构表达实体集,用外键标识实体间的联系。如下图:

表的列称之为属性

表的行称之为元组

在这里插入图片描述

3、E-R模型转换为关系模型

E-R模型转换为关系模型:每个实体都对应一个关系模式;联系分为三种:

1:1 联系中,联系可以放到任意的两端实体中,作为一个属性(要保证1:1的两端关联),也可以转换为一个单独的关系模式;

1:N的联系中,联系可以单独作为一个关系模式,也可以在N端中加入1端实体的主键

员工 部门 是典型的N:1

员工有(学号,姓名)属性

部门有(部门号,名称)属性

员工(N端) 部门(1端)

所以在N端中加入1端的实体的主键的意思就是:

员工(学号,姓名,部门号

部门(部门号,名称)

即在员工(N端)加入了部门(1端)的实体的主键:部门号

这样就知道员工属于部门且属于哪个部门。这就体现了联系(属于)。

这就形成了关系模式的转换。

M:N的联系中,联系必须作为一个单独的关系模式,其主键是M和N端的联合主键

家长、学生属于弱实体对强实体的依赖联系,而(学生、教师)、(学生、学院)、(教师、学院)都不是这样的依赖。

因为只有学生存在,其家长信息才会存在,否则单独的家长信息无意义。

4、关系代数(重点)

并:结果是两张表中所有记录数合并,相同记录只显示一次。

交:结果是两张表中相同的记录

差:S1-S2,结果是S1表中有而S2表中没有的那些记录。

在这里插入图片描述

笛卡尔积:S1*S2,产生的结果包括 S1 和 S2 的所有属性列,并且 S1 中每条记录一次和 S2 中所有记录组合成一条记录,最终属性列为 S1 + S2 属性列,记录数为 S1 * S2 记录数。

投影:实际是按条件选择某关系模式中的某列,列也可以用数字表示。

选择:实际是按条件选择某关系模式中的某条记录。(行)

在这里插入图片描述

上图中的选择条件可以为:S1 的 Sno = No0003,即

σ1 = No0003

上图中的投影条件可以为:S1 的 π1 & π2

自然连接的结果显示全部的属性列,但是相同属性列只显示一次,显示两个关系模式中属性相同且值相同的记录。

设有关系 R、S如下左图所示,自然连接结果如下右图所示:

在这里插入图片描述

5、函数依赖

给定一个 X,能唯一确定一个 Y,就称 X 确定 Y,或者说 Y 依赖于 X,例如 Y = X * X 函数。

函数依赖又可扩展以下两种规则:

部分函数依赖:A可确定C,(A,B)也可确定 C,(A,B)中的一部分(即A)可以确定C,称为部分函数依赖。

A 决定 B 的表示:A -> B

传递函数依赖:当 A 和 B 不等价时,A可确定B,B可确定C,则A可确定C,是传递函数依赖;若A和B等价,则不存在传递,直接就可确定C。

在这里插入图片描述

在这里插入图片描述

6、键与约束

超键:能唯一表示此表的属性的组合。

比如学生表有学号、姓名、年龄,那么学号是唯一标识的,所以(学号)、(学号、姓名)、(学号、年龄)、(学号、姓名、年龄)都是该表的超键。

候选键:超键中去掉冗余的属性,剩余的属性就是候选键。

即学生表中的(学号)就是候选键。

主键:任选一个候选键,即可作为主键。

即学生表中的(学号)就是主键。

外键:其他表中的主键

比如学生表中的学院号,而学院号是学院表的主键。

主属性:候选键内的属性为主属性,其他属性为非主属性。

即学生表中的(学号)就是主属性。

比如学号、身份证号,学生表中的学号、身份证号都可以唯一标识,所以学号、身份证号也都是主属性。

实体完整性约束:即主键约束,主键值不能为空,也不能重复。

参照完整性约束:即外键约束,外键必须是其他表中已经存在的主键的值,或者为空。

用户自定义完整性约束:**自定义表达式约束,**如设定年龄属性的值必须在0到150之间。

7、范式

1、第一范式 1NF

关系中的**每一个分量必须是一个不可分的数据项。**通俗的说,第一范式就是表中不允许有小表的存在。比如,对于如下的员工表,就不属于第一范式:

在这里插入图片描述

因为 薪资/月 是复合属性。所以不属于第一范式。

在这里插入图片描述

上图的表可以用(学号,课程号)来唯一区分每条记录。

2、第二范式 2NF

如果关系R属于1NF,且每一个非主属性完全函数依赖于任何一个候选码(而不是部分函数依赖于),则R属于2NF。

完全函数依赖:

X->Y,X决定Y,则Y完全函数依赖于 X。

AB->C,AB 决定 C,且 A 或 B 都不能单独决定C,则 C 完全函数依赖于 AB。

部分函数依赖:AB->C,且A->C,且B->C,则 C 部分依赖于 AB。

通俗地说,2NF就是在1NF的基础上,表中的每一个非主属性不会依赖符合主键中的某一个列。(即每一个非主属性都被某个主属性决定)

按照定义,上面的学生表就不满足2NF,因为学号不能完全确定课程号和成绩(每个学生可以选多门课)。

将学生表分解为

学生(学号,学生姓名,系编号,系名,系主任)

选课(学号,课程号,成绩)

则每张表均属于 2NF。

为什么这么拆呢?

因为学生决定了学号(学号是唯一标识),学生决定了学生姓名,学生决定了系号,进而学生决定了系主任。

因此这张学生表里,所有非主属性都被学生/学号所决定。

而选课表里,因为 学号、课程号共同决定了成绩,即学号、课程号都是主属性,非主属性 成绩 被 学号、课程号两列共同决定。

3、第三方式 3NF

满足2NF的基础上,表中不存在非主属性对码的传递依赖。

继续上面的实例,学生关系就不属于3NF,因为学生无法直接决定系主任和系号,是由学号->系编号,再由系编号->系主任,系编号->系名,因此存在非主属性对主属性的传递依赖。

将学生表进一步分解为

学生(学号,学生姓名,系编号)

系(系编号,系名,系主任)

选课(学号,课程号,成绩)

则每张表都属于3NF

4、BC 范式

BC 范式 BCNF,是指在第三范式的基础上进一步消除主属性对于码的部分函数依赖和传递依赖。

通俗的来说,就是**在每一种情况下,每一个依赖的左边决定因素都必然包含候选键,**如下:

在这里插入图片描述

在这里插入图片描述

候选关键字的求法:

根据依赖集,找出从未在右边出现过的属性,必然是候选键之一(候选键可以唯一标识),以该属性为基础,根据依赖集依次扩展,看能否遍历所有属性,将无法遍历的加入候选键中。

1、找出从未在右边出现过的属性:

AB->C,CD->B,右侧中 A、D 都未在右侧出现过,所以 A、D必是候选键之一。

2、看1得出的候选键能否推出其他所有属性:

得知 AB 才能推出 C,CD 才能推出 B,所以A、D 不能推出其他。所以还需要加关键字。

3、添加关键字:

比如这里加 B,则 AB 可以推出 C,已经得到所有了,所以 A、D、B 为候选关键字。

比如这里加 C,则 CD 可以推出B,已经得到所有了,所以 A、D、C 为候选关键字。

所以答案为:有2个候选关键字 ACD 和 ABD

候选关键字中的所有属性都是主属性:所以 A、B、C、D都是主属性,所以有 0个非主属性和4个主属性。

第二题:

在这里插入图片描述

第二范式:任何非主属性都完全依赖于任何一个候选码,不存在部分函数依赖。

第三范式:不存在非主属性对于候选码的传递依赖

BCNF:每一个依赖左边决定因素都包含候选键或候选键之一。

所以要先算出候选键:

1、右边未出现过的:E、M

2、E、M 可以推出所有键,且只有(E,M)可以推出,所以候选键为(E、M)

3、N完全依赖于E,但候选键为(E,M)所以部分依赖于(E,M),Q完全依赖于 EM,L 完全依赖于 M,但候选见我诶(E,M)所以部分依赖于(E,M)。所以没有达到第二范式。

4、所以只达到了第一范式,没有达到第二范式。

所以关系模式达到了第一范式,需要进行分解,因为存在冗余、修改操作的不一致性、插入和删除异常。

解题关键:

第二范式:没有部分依赖

第三范式:没有传递依赖

BCNF范式:左侧决定因素都在候选码之中

8、模式分解

范式之间的转换一般都是通过拆分属性,即模式分解,将具有部分函数依赖和传递依赖的属性分离出来,来达到一步步优化,一般分为以下两种:

  • 保持函数依赖分解:

    对于关系模式R,有依赖集F,若对R进行分解,分解出来的多个关系模式,保持原来的依赖集不变,则为保持函数依赖的分解。另外,注意要消除掉冗余依赖(如传递依赖)。

  • 实例:设原关系模式R(A,B,C),依赖集F(A->B,B->C,A->C),将其分解为两个关系模式R1(A,B)和R2(B,C),此时R1中保持依赖A->B,R2保持依赖B->C,说明分解后的R1和R2是保持函数依赖的分解,因为A->C这个函数依赖实际是一个冗余依赖,可以由前两个依赖传递得到,因此不需要管。

在这里插入图片描述

U1={A,B},保持了 A->B的依赖;但没有保持B->C的依赖;

所以不保持函数依赖;

1、无损分解

无损分解:分解后的关系模式能够还原出原关系模式,就是无损分解,不能还原就是有损。

当分解为两个关系模式,可以通过以下定力判断是否无损分解:

定理:如果R的分解为p={R1,R2},F 为 R 所满足的函数依赖集合,分解p具有无损连接性的充分必要条件式R1∩R2->(R1-R2) 或者 R1∩R2->(R2-R1) .

当分解为**三个及以上关系模式时,可以通过表格法求解,**如下:

在这里插入图片描述

在这里插入图片描述

1、右边未出现过的:C、D

2、C、D 可以推出所有,候选键为 (C、D)

连接性:

R1∩R2->(R1-R2) :

R1∩R2 = ABCE ∩ CD = C

R1-R2 = ABCE - CD = ABE

C -> ABE ? 可以得到 C 是推不出来 ABE的

R1∩R2->(R2-R1)

R2-R1 = CD-ABCE = D

C -> D? C 也推不出来D

所以是有损连接。

函数依赖:

ABCE 保持了 A->E、AC->B、B->A,但没有保持 D->A,所以不保持函数依赖。

所以答案是:不具有无损连接性,也不保持函数依赖。

9、并发控制(不难)

事务:由系列操作组成,这些操作,要么全做,要么全不做,拥有四种特性,详解如下:

(操作)原子性:要么全做,要么全不做。比如做了查询等,突然断电了,则已经做的就全都撤销。

(数据)一致性:事务发生后数据是一致的,例如银行转账,不会存在A账户转出,但是B账户没收到的情况。

(执行)隔离性:任一事务的更新操作直到其成功提交的整个过程对其他事务都是不可见的,不同事务之间是隔离的,互不干涉。

(改变)持续性:事务操作的结果是持续性的。

事务是并发控制的前提条件,并发控制就是控制不同的事务并发执行,提高系统效率,但是并发控制中存在下面三个问题:

丢失更新:对一个数据进行更新,但最后丢失了。比如 T1 修改数据1,但T2先修改了数据1,T1修改的数据后发现修改后的结果不对。

**不可重复读:**事务1读A,但事务2对A修改了并保存了,事务1再读A,发现数据不对。

**读脏数据:**事务1修改了数据A,事务2读取数据A,而后事务1回滚,数据A恢复了原来的值,此时事务2对数据A做的事是无效的,读到了脏数据。

1、封锁协议

X锁是排它锁(写锁)。若事务T对数据对象A加上X锁,则只允许T读取和修改A,**其他事务都不能再对A加任何类型的锁,**直到T释放A上的锁。

**S锁是共享锁(读锁)。**若事务T对数据对象A加上S锁,则只允许T读取A,但不能修改A,其他事务只能再对A加S锁(也即能读不能修改),直到T释放A上的S锁。

共分为三级封锁协议,如下:

一级封锁协议:事务再修改数据R之前必须先对其加X锁,直到事务结束才释放。可解决丢失更新问题。

二级封锁协议:一级封锁协议的基础上加上事务T在读数据R之前必须先对其加S锁,读完后即可释放S锁。可解决丢失更新、读脏数据问题。

三级封锁协议:一级封锁协议加上事务T在读取R之前先对其加S锁,直到事务结束才释放。可解决丢失更新、读脏数据、数据重复读的问题。

即:写数据前加写锁(X锁),读数据前加读锁(S锁)。

也即需要写就加写锁,需要读就加读锁。

ROLLBACK:就是恢复到没有加锁的原始状态。

10、数据库安全(了解即可,考的不多)

措施:用户标识和鉴定、存取控制、密码存储和传输、视图的保护、审计(使用一个专用文件或数据库,自动将用户对数据库的所有操作记录下来)

静态转储:即冷备份。指在转储期间不允许对数据库进行任何存取、修改操作;优点是非常快速的备份方法、容易归档(直接物理复制操作);确定是只能提供某一时间点上的恢复,不能做其他工作,不能按表或按用户恢复。

动态转储:即**热备份。**在转储期间允许对数据库进行存取、修改操作,因此,转储和用户事务可并发执行;优点是可在表空间或数据库文件级备份,数据库仍可使用,可达到秒级恢复;缺点是不能出错,否则后果很严重,若热备份不成功,所得结果几乎全部无效。

1、分布式数据库

局部数据库位于不同的物理位置,使用一个全局DBMS将所有局部数据库联网管理,这就是分布数据库。

分片模式:

水平分片:将表中水平的记录分别存放在不同的地方。

垂直分屏:将表中垂直的列值分别存放在不同的地方。

分布透明性:

分片透明性:用户或应用程序不需要知道逻辑上访问的表具体是如何分块存储的。

位置透明性:应用程序不关心数据存储物理位置的改变。

逻辑透明性:用户或应用程序无需知道局部使用的是哪种数据模型。

复制透明性:用户或应用程序不关心复制的数据从何而来。

在这里插入图片描述

2、数据仓库技术

数据仓库时一个面向主题的、集成的、非易失的、且随时间变化的数据集合,用于支持管理决策。

**面向主题:**按照一定的主题域进行组织的。

**集成的:**数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致性的全局信息。

**相对稳定的:**数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。

**反映历史变化:**数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。

数据仓库的结构通常包含四个层次:(经常考、需要记住)

**1、数据源:**是数据仓库系统的基础,是整个系统的数据源泉。

**2、数据的存储与管理:**是整个数据仓库系统的核心。

**3、OLAP(联机分析处理)服务器:**对分析需要的数据进行有效集成,按多维模型组织,以便进行多角度、多层次的分析,并发现趋势。

**4、前端工具:**主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库货数据集市的应用开发工具。

在这里插入图片描述

3、BI(商业智能):数据仓库技术的应用

BI 系统主要包括数据预处理、建立数据仓库、数据分析和数据展现四个主要阶段。

数据预处理时整合企业原始数据的第一步,它包括数据的抽取(Extraction)、转换(Transformation)和加载(Load)三个过程(ETL)。

建立数据仓库则是处理海量数据的基础。

数据分析时体现系统智能的关键,一般采用联机分析处理(OLAP)和数据挖掘两大技术。联机分析处理不仅进行数据汇总/聚集,同时还提供切片、切块、下钻、上卷和旋转等数据分析功能,用户可以方便地对海量数据进行多维分析。数据挖掘的目标则是挖掘数据背后隐藏的知识,通过关联分析、聚类和分类等方法建立分析模型,预测企业未来发展趋势和将要面临的问题;

在海量数据和分析手段增多的情况下,数据展现则主要保障系统分析结果的可视化。

4、反规范化技术(了解即可,考的不多)

反规范化技术:规范化设计后,数据库设计者希望牺牲部分规范化来提高性能。

采用反规范化技术的益处:降低连接操作的需求、降低外码和索引的数目,还可能减少表的数目,能够提高查询效率。(具体操作上:比如规范情况下分为了五张表;反规范情况下将五张表合并成一张表等)

可能带来的问题:数据的重复存储,浪费了磁盘空间;可能出现数据的完整性问题,为了保障数据的一致性,增加了数据维护的复杂性,会降低修改速度。

具体方法:

(1)增加几余列:在多个表中保留相同的列,通过增加数据冗余减少或避免查询时的连接操作。
(2)增加派生列: 在表中增加可以由本表或其它表中数据计算生成的列,减少查询时的连接操作并避免计算或使用集合函数。
(3)重新组表:如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接而提高性能。
(4)水平分割表:根据一列或多列数据的值,把数据放到多个独立的表中,主要用于表数据规模很大、表中数据相对独立或数据需要存放到多个介质上时使用。
(5)垂直分割表:对表进行分割,将主键与部分列放到一个表中,主键与其它列放到另一个表中,在查询时减少I/O次数。

5、大数据

特点:大量化、多样化、价值密度低、快速化。
大数据和传统数据的比较如下:
比较维度 传统数据 大数据
数据量 GB或TB级 PB级或以上
数据分析需求 现有数据的分析与检测 深度分析( 关联分析、回归分析 )
硬件平台 高端服务器 集群平台

要处理大数据,一般使用集成平台,称为大数据处理系统,其特征为:
高度可扩展性、高性能、高度容错、支持异构环境、较短的分析延迟、易用且开放的接口、较低成本、向下兼容性。

“啤酒和尿布”的故事:全球零售业巨头沃尔玛对顾客的行为分析发现,年轻的父亲在购买婴儿尿片的时候,经常会购买几瓶瓶酒犒劳犒劳自己,于是店员便将啤酒和尿布这两款完全风马牛不相及的产品放到了一起,作为促销手段。没想到,这个小小的改变却让两种产品的销量都大大提高。

日志文件:只记录操作,不记录数据。

数据文件:记录数据。

在这里插入图片描述

11、SQL 语言

在这里插入图片描述

下图需要掌握:(考点)

在这里插入图片描述

在这里插入图片描述

GROUP BY 是跟 SELECT 中的内容对应的,比如 SELECT 零件号,ADV(库存量) as 平均库存量,则后面的 GROUP BY 后面的一定是 零件号,即 SELECT 中可用于分组的内容。

在这里插入图片描述

SELECT 中有 AVG、MAX、MIN 等,则后面一定是 GROUP BY,而不会是 ORDER BY。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AquiSense实现UV-C发光二极管里程碑

国际空间站饮水机上使用的UV-C LED技术 紫外线LED水消毒系统制造商AquiSense Technologies宣布,该公司的UV-C LED技术已成功集成到美国国家航空航天局(NASA)国际空间站(ISS)上的饮用水分配器中,并自2023年8…

【Git】回滚旧提交版本且不影响最新提交版本

【Git】回滚旧提交版本且不影响最新提交版本 一、场景假设 远程仓库origin中有一个分支main,有4次提交记录:v1、v2、v3、v4。 二、需求 需要回滚旧提交版本,但不影响已有的所有提交版本(即不影响最新提交版本)&…

树和二叉树:二叉树的基本运算算法的实现

一.前言 当前版本仅供笔者复盘 二.二叉树 2.1题目 编写一个程序,实现二叉树的基本运算,具体要求如下:(指定示范实例1:图1。指定示范实例2:图2 ) 1,先序遍历输出该树&#xff08…

PWM 开发舵机SG90-硬件舵机实战

1.PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节…

hadoop学习---基于Hive的数仓搭建增量信息拉链表的实现

拉链表就是SCD2,它的优点是即满足了反应数据的历史状态,又能在最大程度上节省存储。 拉链表的实现需要在原始字段基础上增加两个新字段: start_time(表示该条记录的生命周期开始时间——周期快照时的状态)end_time(该条记录的生命周期结束时…

JSP合同信息管理系统参考论文(论文 + 源码)

【免费】JSP合同信息管理系统.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89273651JSP合同信息管理系统 摘要 随着信息科学技术的飞速发展,人们逐渐意识到对信息管理软件的运用可以使日常工作更加方便、快捷和高效。论文详细论述了公司合同管理系…

Mysql 8.0 -- 最新版本安装(保姆级教程)

Mysql 8.0 -- 最新版本安装(保姆级教程) ​​ 一,下载Mysql数据库: 官网链接:https://www.mysql.com/downloads/ 二,安装Mysql: 三,找到Mysql安装目录: 找到mysql安装目录&#xf…

在k8s中安装Grafana并对接Prometheus,实现k8s集群监控数据的展示

🐇明明跟你说过:个人主页 🏅个人专栏:《Grafana:让数据说话的魔术师》 🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、Grafana简介 2、Grafana的重要性与影响力 …

C进阶--自定义类型

自定义类型 1. 结构体1.1. 结构的基本知识1.2 结构的声明1.3 特殊的声明1.4 结构的自引用1.5 结构体变量的定义和初始化1.6 结构体内存对齐结构体的大小练习结构体对齐规则为什么存在内存对齐? 1.7 修改默认对齐数1.8 结构体传参 2. 位段2.1 什么是位段2.2 位段的内存分配2.3 …

MWeb Pro for Mac:功能强大的Markdown博客编辑器

MWeb Pro for Mac是一款功能强大的Markdown博客编辑器,专为Mac用户设计,提供了一站式的博客写作和发布体验。这款软件不仅支持Markdown语法,还提供了丰富的编辑和排版功能,让用户能够轻松创建出精美的博客内容。 MWeb Pro的即时预…

笔试强训Day16 字符串 基础算法 双指针

QR6 字符串替换 题目链接&#xff1a;字符串替换_牛客题霸_牛客网 (nowcoder.com) 思路&#xff1a;简单的字符串操作。 AC code&#xff1a; class StringFormat { public:string formatString(string A, int n, vector<char> arg, int m) {string ans;int pos 0;f…

【Qt】按钮类控件

文章目录 1 :peach:Push Button:peach:2 :peach:Radio Buttion:peach:3 :peach:Check Box:peach:4 :peach:Tool Button:peach: 1 &#x1f351;Push Button&#x1f351; 使⽤ QPushButton 表⽰⼀个按钮&#xff0c;这也是当前我们最熟悉的⼀个控件了&#xff0c;QPushButton …

论文阅读:《Sequence can Secretly Tell You What to Discard》,减少推理阶段的 kv cache

目前各类大模型都支持长文本&#xff0c;例如 kimi chat 以及 gemini pro&#xff0c;都支持 100K 以及更高的上下文长度。但越长的上下文&#xff0c;在推理过程中需要存储的 kv cache 也越多。假设&#xff0c;数据的批次用 b 表示&#xff0c;输入序列的长度仍然用 s 表示&a…

3.栈和队列(汇总版)

目录 1.栈&#xff08;一端插和删&#xff09; 2.队列&#xff08;一端插另一段删&#xff09; 2.1队列的概念及结构 2.2 队列的实现 队列的接口 1.初始化队列 2.销毁队列 3.插入元素 4.出队列&#xff08;头删&#xff09; 5.访问对头 6.访问队尾 7.判断队列是否为…

基于springboot实现的疫情网课管理系统

开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven…

证明力引导算法forceatlas2为什么不是启发式算法

一、基本概念 吸引力 F a ( n i ) ∑ n j ∈ N c t d ( n i ) ω i , j d E ( n i , n j ) V i , j \displaystyle \bm{F}_a(n_i) \sum_{n_j \in \mathcal{N}_{ctd}(n_i)} \omega_{i,j} \; d_E(n_i,n_j) \bm{V}_{i,j} Fa​(ni​)nj​∈Nctd​(ni​)∑​ωi,j​dE​(ni​,nj​…

【StarRocks系列】 Trino 方言支持

我们在之前的文章中&#xff0c;介绍了 Doris 官方提供的两种方言转换工具&#xff0c;分别是 sql convertor 和方言 plugin。StarRocks 目前同样也提供了类似的方言转换功能。本文我们就一起来看一下这个功能的实现与 Doris 相比有何不同。 一、Trino 方言验证 我们可以通过…

C语言 | Leetcode C语言题解之第73题矩阵置零

题目&#xff1a; 题解&#xff1a; void setZeroes(int** matrix, int matrixSize, int* matrixColSize) {int m matrixSize;int n matrixColSize[0];int flag_col0 false;for (int i 0; i < m; i) {if (!matrix[i][0]) {flag_col0 true;}for (int j 1; j < n; j…

C++:多继承虚继承

在C中&#xff0c;虚继承&#xff08;Virtual Inheritance&#xff09;是一种特殊的继承方式&#xff0c;用于解决菱形继承&#xff08;Diamond Inheritance&#xff09;问题。菱形继承指的是一个类同时继承自两个或更多个具有共同基类的类&#xff0c;从而导致了多个实例同一个…

20240507最新 ubuntu20.04安装ros noetic

ubuntu20.04安装ros 主要参考博客 【ROS】在 Ubuntu 20.04 安装 ROS 的详细教程_ubuntu20.04安装ros-CSDN博客 出现问题 1.ubuntu20.04 更换清华源报错 ubuntu20.04 更换清华源报错_gvfs metadata is not supported. fallback to teplme-CSDN博客 &#xff1f;&#xff1f…