1、归档命令:tar
解压:
-j
:使用bzip2来解压缩文件 —> 这里和redhat一样-x
:解包-f
:后面跟文件名,告诉tar
命令要操作的文件。
tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2
2、启动和关闭命令
gs_om -t 命令
gs_om -t start # 启动命令
gs_om -t stop # 关闭命令
gs_om -t status # 查看状态
3、行存储和列存储
由上图可得出存储的方式为:
行存储:
1845231 … 6895 … 411
列存储:
123…895901…311
4、几个名词
-
CTS:在搜索结果中,CTS有多种含义,但在数据库和网络通信领域(云方面),CTS通常指的是“Clear To Send”,是一种硬件流控制机制,用于在数据传输过程中控制数据流。例如,在UART通信中,CTS信号用于指示接收设备准备好接收数据。
-
UGO:UGO全称为数据库和应用迁移服务,是专注于异构数据库结构迁移的专业服务。它可以将源数据库中的DDL、DML和DCL一键自动转换为华为云GaussDB/RDS的SQL语法,通过数据库评估、对象迁移两大核心功能和自动化语法转换,提前识别可能存在的改造工作、提高转化率、最大化降低用户数据库迁移成本。
-
DRS:DRS有多种含义,但在IT领域,它通常指的是“Distributed Resource Scheduler”,是VMware vSphere环境中的一个功能,用于自动化资源分配和负载均衡。DRS可以监测物理主机的资源利用率,并根据负载情况自动将虚拟机迁移至其他主机,以避免主机资源瓶颈和性能下降。
-
DAS:DAS全称为数据库自治服务,是一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务。DAS帮助用户消除数据库管理的复杂性及人工操作引发的服务故障,保障数据库服务的稳定、安全及高效。
5、其他
- pg_temp用于临时数据;
- information_schema提供数据库元数据信息;
- public一般用于用户自定义对象
- pg_catalog包含了系统表、内置数据类型、函数和操作符等核心元素
- DBA角色拥有对数据库系统的最高管理权限
6、数据库
- CASCADE一般用于级联操作
- IFEXISTS常用于条件判断
- RESTRICT关键字表示存在依赖对象 该DataSource无法删除
- 要查询表
student
中班级为1班且成绩排名前五名的学生信息 ```
SELECT * FROM student
WHERE class = ‘1班’
ORDER BY score DESC
LIMIT 5;
这条语句的解释如下:
- `SELECT *`:选择所有列。
- `FROM student`:指定从`student`表中查询。
- `WHERE class = '1班'`:过滤条件,只选择班级为1班的记录。
- `ORDER BY score DESC`:根据成绩(假设成绩列名为`score`)降序排序,这样成绩最高的学生会排在前面。
-`ORDER BY score ASC`:根据成绩(假设成绩列名为`score`)升序排序。
- `LIMIT 5`:限制结果只返回前5条记录,即成绩排名前五的学生。
- round 函数用于将数值四舍五入到指定的小数位数。
ROUND(123.456, 0)
会返回123
,因为四舍五入到整数位。ROUND(123.456, 1)
会返回123.5
,因为四舍五入到一位小数。ROUND(123.456, 2)
会返回123.46
,因为四舍五入到两位小数。ROUND(123.456, -1)
会返回120
,因为四舍五入到十位数。
- group by 聚合函数不可以和 where 一起使用,要和having一起使用
- 数据库系统调用操作系统
- 数据库存储的逻辑划分
- page 页
- extent 区
- segment 段
7、openGuess服务段工具
- gs_om工具帮助对openGauss进行维护,包括启动openGauss、停止openGauss、查询openGauss状态、查询静态配置、生成静态配置文件、查询openGauss状态详细信息、生成动态配置文件、SSL证书替换、显示帮助信息和显示版本号信息等功能
- 服务端工具 P73
- gs_check 所有(非特殊的都是这个)
- gs_checkos — root
- gs_checkperf
- openGauss级别
- 节点级别
- 会话/进程级别
- SSD级别 — root
- gs_clean
- gs_collector
- gs_dump — 操作系统用户omm
- gs_dumpall — 操作系统用户omm
- gs_guc(保证安全性的一个工具) — 操作系统用户omm
- gs_om — 操作系统用户omm
- gs_restore — 操作系统用户omm
- gs_ssh — 操作系统用户omm
- gs_uninstall卸载openGauss — 操作系统用户omm
- gs_postuninstall命令 — root 一键式环境清理
- gs_ctl 进行主备机切换
8、逻辑运算符优先级
- NOT>AND>OR
9、zsgl
- 在数据库连接中:
- -w-1表示等待不超时,即客户端会一直等待直到成功连接;
- -w-0表示不等待超时,即不会等待,若不能立即连接则判定为超时。
10、 删除容器或者镜像
docker rm <容器ID>
用于删除一个或多个已经停止的容器。docker rmi <镜像ID>
用于删除一个或多个镜像,而不是容器。- 要删除正在运行的容器,你需要先使用
docker stop <容器ID>
命令停止容器,然后再使用docker rm <容器ID>
删除它。
11. AUDOT LEVEL安全审计值
当AUDIT_LEVEL=0,表示此时GaussDB 100关闭审计,不进行数据库审计工作;
当AUDIT_LEVEL>0,表示此时GaussDB开启审计日志,同时还会对用户登陆、注销等请求进行审计
具体的value值和构成表格如下:
即,当我们只需要审计DDL语句的时候,则可以做如下设置:
alter system set audit_level=1;
当我们需要审计DDL、DCL、DML语句时,则可以做如下设置:
alter system set audit_level=7;
当我们需要升级DML和PL语句时,则可以做如下设置:
alter system set audit_level=12;
12. ODBC申请的句柄资源
- 执行句柄
- 链接句柄
- 环境句柄
13. 启动触发器的事件
- 插入
- 更新
- 删除
14. 事务的结束代表是回滚或提交了
15. 在可重复读的事务隔离级别下,脏读和不可重复读这两种数据不一致情况不会发生。
- 脏读是指一个事务读取到了另一个未提交事务修改的数据。在可重复读级别下,事务读取的数据是在其开始时的一致性快照,不会读取未提交事务的数据,所以避免了脏读。
- 不可重复读是指一个事务中多次读取同一数据,结果不一致。
- 可重复读通过一致性快照保证了在同一个事务内多次读取的结果相同,从而避免了不可重复读。
- 幻影读是指在同一个事务中,当相同的查询被执行两次,并且第二次返回了第一次没有返回的行
16. Group By 用于聚集函数和分组
17. 查询条件只可以用于where子句和having子句
18. NOLOGGING是数据库中的一个选项或设置,主要用于表的操作过程中不记录重做日志(Redo Log)。
根据这个定义,我们可以对每个选项进行如下分析:
A. NOLOGGING表因为不用记录日志,确实可以提升读写性能,但并不意味着其性能总是提高。即使没有日志,数据的可靠性也无法保证。
B. 对于NOLOGGING表来说,其主要应用在大量批处理或者导入/导出等不需要保证事务的完整性的操作中。所以它不常用于存放可靠性高的核心数据。
19. GuessDB预设的角色
- connect
- resource
- DBA
-
MySQL触发器(Trigger)是一种特殊类型的存储程序,它在特定的数据库操作(如INSERT、UPDATE或DELETE)之前或之后自动执行。触发器可以用来执行复杂的完整性检查、自动更新数据、记录数据变更历史等任务。
-
视图不可以插件索引
-
GuessDB的Stream流包括:广播流,聚合流,重分布流
-
chgrp
是一个在类 Unix 操作系统中使用的命令行工具,用于更改文件或目录的组。 -
在云计算领域,常见的系统盘镜像类型有裸金属云服务器、GPU加速云服务器和普通云服务器的系统盘镜像
-
Docker 的基本概念包括:
A. Volume:Docker 卷(Volume)是一个可供容器使用的数据存储抽象层,它允许数据在容器之间共享和重用,并且独立于容器的生命周期。
B. Repository:仓库(Repository)是 Docker 中用于存储和分发 Docker 镜像的地方,通常指的是 Docker Hub 或其他私有仓库服务。
C. Image:镜像(Image)是 Docker 中的一个只读模板,用于创建 Docker 容器的基础。它包含了运行应用程序所需的所有内容,包括代码、运行时、系统工具、系统库和设置。 -
容器的状态通常包括运行中(如Created表示已创建)、暂停(paused)、退出(exited)
- 创建(Created):容器已经被创建,但尚未启动。
- 运行中(Running):容器正在运行,其内部的应用程序正在执行。
- 暂停(Paused):容器正在运行,但所有进程都被暂停了。这通常用于调试或维护。
- 停止(Stopped):容器已经停止运行,但仍然存在。它可以随时被重新启动。
- 退出(Exited):容器已经停止运行,并且不会自动重启。这可能是因为应用程序已经完成执行,或者因为遇到了错误。
- 重启(Restarting):容器正在尝试重启,可能是因为遇到了错误或者根据配置自动重启。
- 死亡(Dead):容器已经死亡,这通常意味着它遇到了无法恢复的错误。
- 未定义(Undefined):容器的状态未知,可能是因为容器未能成功创建。
- 正在重启(Restarting):容器正在重启过程中。
- 正在构建(Building):容器镜像正在构建过程中。
- 已杀死(Killed):容器被外部信号杀死,可能是因为资源限制或其他原因。
- 已移除(Removed):容器已经被删除,不再存在。
-
白名单是一种安全机制,它允许预先定义的、被信任的实体
- DependencyAdvisor的白名单管理主要涉及到对依赖项的管理,包括升级、备份和删除等功能,以确保系统的稳定性和安全性。
-
(1)负载测试:
负载测试通常由六个阶段组成:计划、脚本创建、场景定义、场景执行、场景监控和结果分析
- 负载测试是一种性能测试,它旨在确定系统在正常运行条件下的表现。这种测试模拟预期的用户负载,以评估系统在预期使用水平下的性能。
- 负载测试的目的是识别系统在达到预期用户数量时的性能瓶颈,例如,响应时间、吞吐量、资源利用率等。
- 通过负载测试,可以了解系统在正常工作负载下的行为,以及它如何随着用户数量的增加而扩展。
(2)压力测试:
- 压力测试是一种性能测试,它通过模拟超出正常运行条件的极端负载来评估系统的稳定性和恢复能力。这种测试通常用于确定系统的极限和故障点。
- 压力测试的目的是观察系统在极端条件下的表现,例如,当用户数量远远超过设计容量时,系统如何响应。
- 通过压力测试,可以识别系统在高负载下可能崩溃的点,以及系统在负载减轻后是否能够恢复正常运行。
- 压力测试有助于发现内存泄漏、数据库连接问题、资源耗尽等问题,这些问题在正常负载下可能不会显现。 -
GAME(A)性能测试模型中 (“性能问题解决方案”是Adjust(调整)阶段的输出内容)
过程:- 目标(Goal)定义目标;
- 确定测试目标
- 选择测试分析策略
- 分析(Analysis)阶段会对性能问题进行深入研究,从而得出性能问题解决方案;
- 分析性能需求
- 分析系统架构
- 度量(Metrics)是对性能的量化评估;
- 设置场景、事务、虚拟用户的pass/fail标准
- 执行(Execution)主要是实施相关操作;
- 环境、数据、脚本的准备
- 场景、监控器的运行
- 生成报告
- 调整(Adjust)侧重于对系统的优化调整;
- 应用程序的修改
- 中间件的调优
流程图:
- 目标(Goal)定义目标;
-
PTGM性能测试模型:
步骤:- 测试前期准备:主要任务是确保系统稳定并建立合适的测试团队。活动包括系统基础功能验证、组建测试团队、测试工具需求确认以及性能预备测试(可选活动)。
- 测试工具引入:在这一阶段,主要活动包括选择性能测试工具、进行工具应用的技能培训以及确定工具的应用过程。
- 测试计划:性能测试领域分析,包括用户活动剖析与业务建模、确定性能目标以及制定性能测试时间计划。
- 测试设计与开发:包括测试环境设计、测试场景设计、测试用例设计以及脚本和辅助工具的开发。
- 测试执行与管理:建立测试环境、部署测试脚本和测试场景、执行测试并记录结果。
- 测试分析:对测试结果进行分析,根据测试目的和目标给出测试结论。
-
数据库逻辑结构
一个表空间对应多个数据库
一个数据库对应多个表空间
一张表对应一个表空间和数据库
一张表对应多个数据文件(1G一个)
-
X-Tuner是一款数据库集成的参数调优工具,它通过结合深度强化学习和全局搜索算法等AI技术,实现在无需人工干预的情况下,获取最佳数据库参数配置。X-Tuner具有以下特点:
- 独立部署:X-Tuner不强制与数据库环境部署到一起,支持独立部署,可以脱离数据库安装环境独立运行。
- 三种运行模式:X-Tuner包含三种运行模式,分别是:
- recommend模式:通过用户指定的用户名等信息登录到数据库环境中,获取当前正在运行的workload特征信息,根据上述特征信息生成参数推荐报告。该模式是秒级的,不涉及数据库的重启操作。
- train模式:通过用户提供的benchmark信息,不断地进行参数修改和benchmark的执行。通过反复的迭代过程,训练强化学习模型,以便用户在后面通过tune模式加载该模型进行调优。
- tune模式:使用优化算法进行数据库参数的调优,当前支持两大类算法,一种是深度强化学习,另一种是全局搜索算法(全局优化算法)。深度强化学习模式要求先运行train模式,生成训练后的调优模型,而使用全局搜索算法则不需要提前进行训练,可以直接进行搜索调优
-
-
在数据库中,实现模式匹配的常用方法包括:
A. LIKE:这是大多数SQL数据库支持的一种模式匹配操作符,用于搜索列中的指定模式。它使用百分号(%)作为任意数量字符的占位符,使用下划线(_)作为单个字符的占位符。
C. SIMILAR TO:这是某些数据库系统(如Oracle)中用于模式匹配的操作符,它使用正则表达式来定义搜索模式。
D. POSIX正则表达式:在一些数据库系统中,如PostgreSQL,支持使用POSIX扩展正则表达式进行模式匹配。
-
测试工具
- sysbench 测试数据库
- sysbench 是一个模块化、跨平台和多线程的性能基准测试工具,主要用于评估系统的性能,特别是数据库系统的性能。
- wrk 测试HTTP
- 能够生成大量的并发请求,测试 HTTP 服务器的性能。特别适合于测试单个服务器的性能,以及测试服务器在高负载下的行为。
- webbench 测试HTTP
- 是一个简单的网站压力测试工具。
- Hibench 测试大数据
- 是一个用于 Hadoop 基准测试的工具,它提供了一套用于测试 Hadoop 性能的测试套件。可以帮助用户评估 Hadoop 集群的性能,并找出性能瓶颈。
- sysbench 测试数据库