华为公司官方出品!华为公司计算产品线总裁邓泰华、哈尔滨工业大学教授李建中作序
本书结合openGauss数据库原理,讲述openGauss数据库实战相关内容,并设计多种实验帮助用户理解并使用openGauss数据库。本书首先介绍数据库的基本概念、安装部署、开发调试,并设计实验帮助用户熟悉这一系列操作。接着介绍数据库设计、查询优化、维护、数据库备份与恢复及导入与导出、存储引擎、事务控制和数据库安全等。本书理论与实践并重,读者通过阅读本书并进行实践,可以较好地掌握openGauss数据库。
本书面向的读者主要是高校学生及使用openGauss数据库的工程师。
本书封面贴有清华大学出版社防伪标签,无标签者不得销售。
第1章初识openGauss00
1.1数据库基本概念00
1.1.1数据库的定义00
1.1.2数据库模式设计00
1.1.3数据库性能优化00
1.1.4数据库存储00
1.1.5数据库事务控制00
1.1.6数据库安全保证00
1.1.7数据库维护00
1.1.8数据库备份00
1.2openGauss简介00
1.2.1发展历史00
1.2.2架构概述00
1.2.3openGauss的优势00
1.3小结0
1.4习题0
第2章安装部署0
2.1获取安装包0
2.2配置安装环境0
2.2.1配置环境参数0
2.2.2使用yum安装系统依赖项0
2.2.3修改Python版本0
2.3安装openGauss数据库0
2.3.1创建XML配置文件0
2.3.2执行预安装脚本0
2.3.3执行安装0
2.3.4安装后生成的目录0
2.4数据库的使用0
2.5小结0
2.6习题0
第3章openGauss开发调试0
3.1gsql客户端连接0
3.1.1gsql本地连接0
3.1.2gsql远程连接0
3.1.3通过gsql客户端工具执行SQL语句0
3.2DBeaver客户端连接0
3.2.1DBeaver下载0
3.2.2DBeaver连接0
3.3openGauss数据库JDBC连接与开发0
3.3.1JDBC包、驱动类和环境类0
3.3.2JDBC连接openGauss的开发流程0
3.3.3JDBC连接openGauss执行SQL语句示例0
3.3.4JDBC连接openGauss结果集处理0
3.4openGauss数据库ODBC连接0
3.5小结0
3.6习题0
第4章数据库设计0
4.1概念结构设计0
4.1.1实体及实体间的联系0
4.1.2ER图基本概念0
4.1.3ER图结构设计0
4.2SQL基础实验0
4.2.1SQL简介0
4.2.2数据准备0
4.2.3数据定义0
4.2.4数据查询0
4.2.5数据更新0
4.3索引0
4.3.1创建索引0
4.3.2修改索引属性0
4.3.3删除索引0
4.3.4重建索引0
4.3.5索引操作相关示例0
4.4视图0
4.4.1创建视图0
4.4.2修改视图0
4.4.3删除视图0
4.4.4视图操作相关示例0
4.5openGauss函数0
4.5.1数字操作符及函数0
4.5.2字符串操作符和函数
4.5.3日期和时间函数
4.5.4条件判断函数
4.5.5系统信息函数
4.5.6加密、解密函数
4.5.7其他函数
4.6触发器
4.6.1创建触发器
4.6.2查看触发器
4.6.3触发器的使用
4.6.4删除和修改触发器
4.7存储过程
4.7.1创建存储过程
4.7.2调用存储过程
4.7.3查看存储过程
4.7.4删除存储过程
4.8小结
4.9习题
第5章openGauss查询优化
5.1查询优化
5.2查询解释命令
5.2.1功能描述
5.2.2语法格式
5.2.3参数说明
5.2.4示例
5.3查询分析命令
5.3.1功能描述
5.3.2语法格式
5.3.3示例
5.4优化提示命令
5.4.1功能描述
5.4.2连接顺序提示
5.4.3连接方式提示
5.4.4行数方式提示
5.4.5提示命令的错误、冲突及告警
5.5自动参数优化
5.5.1工作原理
5.5.2实验部署
5.6查询性能预测
5.6.1工作原理
5.6.2实验部署
5.7索引推荐
5.7.1单查询索引推荐
5.7.2虚拟索引
5.7.3负载级别索引推荐
5.8小结
5.9习题
第6章openGauss维护
6.1openGauss运行健康状态检查
6.1.1注意事项
6.1.2操作步骤
6.1.3常见错误与异常处理
6.1.4自定义检查内容
6.2openGauss性能检查
6.2.1检查方法
6.2.2异常处理
6.3日志检查和管理
6.3.1日志类型简介
6.3.2系统日志
6.3.3操作日志
6.3.4审计日志
6.3.5WAL日志
6.3.6性能日志
6.3.7日志检查和清理
6.4例行表、索引维护
6.4.1例行维护表
6.4.2例行重建索引
6.5小结
6.6习题
第7章数据库备份与恢复及导入与导出
7.1导入数据
7.1.1通过INSERT语句直接写入数据
7.1.2使用COPY FROM STDIN导入数据
7.1.3使用gsql元命令导入数据
7.2备份与恢复的类型及对比
7.3物理备份与恢复
7.3.1使用gs_basebackup备份数据
7.3.2PITR任意时间点恢复
7.4逻辑备份与恢复
7.4.1备份单个数据库
7.4.2备份所有数据库
7.4.3使用gs_restore命令恢复数据
7.5小结
7.6习题
第8章存储引擎
8.1行存表和列存表的差异及优缺点
8.2行存表
8.2.1创建行存表
8.2.2查看行存表属性
8.2.3向行存表中插入一条数据
8.2.4删除行存表
8.3列存表
8.3.1创建列存表
8.3.2查看列存表属性
8.3.3向列存表中插入一条数据
8.3.4删除列存表
8.3.5行存表、列存表的比较
8.4内存数据库
8.4.1MOT特性及价值
8.4.2MOT关键技术
8.4.3应用场景
8.4.4MOT使用概述
8.4.5MOT准备
8.4.6MOT部署
8.4.7MOT使用
8.4.8MOT监控
8.5小结
8.6习题
第9章事务控制
9.1openGauss中的事务控制
9.1.1示例一个银行数据库
9.1.2openGauss的4种事务控制指令
9.2事务的4种隔离级别
9.2.1读未提交隔离级别
9.2.2读已提交隔离级别
9.2.3可重复读隔离级别
9.2.4可串行化隔离级别
9.3自治事务
9.3.1用户自定义函数支持自治事务
9.3.2存储过程支持自治事务
9.3.3规格约束
9.4小结
9.5习题
第10章数据库安全
10.1用户
10.1.1管理员
10.1.2普通用户
10.2角色
10.3模式
10.4用户权限设置与回收
10.4.1将系统权限授予用户或者角色
10.4.2将数据库对象授予角色或用户
10.4.3将用户或者角色的权限授予其他用户或角色
10.4.4权限回收
10.5安全策略设置
10.5.1设置账户安全策略
10.5.2设置账号有效期
10.5.3设置密码安全策略
10.6审计
10.6.1审计开、关
10.6.2查看审计结果
10.6.3维护审计日志
10.7小结
10.8习题
附录ALinux操作系统相关命令