OpenGaussLab3

OpenGaussLab3

本次实验因华为云服务器欠费,借用同学服务器完成,聚焦openGauss数据库日志与恢复机制。实验旨在深入理解WAL日志文件、XLOG记录组织、日志写入过程、检查点机制及数据库恢复原理,掌握备份与PITR恢复方法。通过查看WAL日志基本信息与命名、验证immediate关闭模式下的恢复过程、分析源代码输出调试信息,并结合pg_control文件查看,打通了日志与恢复模块的原理学习与系统实现鸿沟。实验通过源码阅读与分析,深化了对数据库ACID特性保障机制的理解,对确保数据完整性具有重要意义。

数据库原理复习

本文系统介绍了数据库核心知识,涵盖事务管理、数据建模、规范化设计、数据操作及安全机制。事务部分详述ACID特性(原子性、持久性、一致性、隔离性)及并发控制、恢复技术;数据建模涉及ER模型(实体集、联系集、属性、弱实体集);规范化设计讲解函数依赖与范式(1NF-4NF);数据操作包括关系代数、SQL语句、索引类型(聚集索引、辅助索引等);安全机制涉及权限管理与触发器。整体构建了数据库从理论到实践的完整框架。

数据库原理复习
OpenGaussLab5

OpenGaussLab5

本实验旨在通过实践理解openGauss数据库的并发控制与锁机制原理及实现。因华为云服务器欠费,改用本地PostgreSQL进行操作。实验主要内容包括:查看表锁信息,并复现Share锁、Access Share锁、Row Exclusive锁和Access Exclusive锁。通过不同会话下的操作验证各锁特性,如Share锁阻塞INSERT、Access Share锁阻塞ALTER、Row Exclusive锁阻塞CREATE INDEX、Access Exclusive锁阻塞SELECT等,展示了不同锁对并发操作的影响。实验最终完成锁复现,但因欠费,锁获取与释放信息的代码添加部分未完成。

OpenGaussLab4

本文主要围绕B+树索引展开实验研究,因华为云服务器欠费,改用本地PostgreSQL替代openGauss数据库。实验通过分析索引结构与原理,实践CREATE INDEX语句构建索引,探究索引构建流程、与查询执行计划的关联及系统开销。通过对比小表(100行)与大表(10万行)的查询性能,验证了索引在数据量较大时显著提升查询效率(17倍提速),并分析了索引的空间开销。实验还涉及索引相关系统表(pg_class、pg_index等)的查看,但因服务器问题,索引构建过程代码分析部分未完成。

OpenGaussLab4
OpenGaussLab2

OpenGaussLab2

本次实验因华为云服务器欠费,改用本地PostgreSQL替代openGauss数据库,实践高级数据管理功能。实验旨在掌握视图、索引、存储过程、触发器、事务管理及权限管理等核心对象的使用方法。通过具体操作,包括创建多类视图(含WITH CHECK选项和物化视图)、测试索引对查询性能的提升、编写带参数/异常处理的存储过程、设计触发器实现数据审计、验证事务原子性等,深入验证了数据库相关原理。实验虽环境变更,但完整覆盖了openGauss高级功能实践,实现了对数据库对象应用与原理的掌握。

OpenGaussLab1

本文为openGauss数据库初探实验,介绍了华为开源多模态数据库的特性与架构,涵盖安装环境准备、服务器启动控制及gsql客户端连接操作。实验重点实践SQL数据管理功能,包括创建数据库与数据表,执行基本查询、连接查询、子查询、集合查询,完成数据添加/修改/删除及表结构修改等操作。通过实验,掌握openGauss的安装控制方法、客户端连接技巧及SQL增删改查核心操作,理解数据库基本数据管理功能,为后续深入学习奠定基础。

OpenGaussLab1