openGauss數據庫實戰指南
李國良、馮建華
相關主題
商品描述
本書結合openGauss數據庫原理,講述openGauss數據庫實戰相關內容,並設計多種實驗幫助用戶理 解並使用openGauss數據庫。本書首先介紹數據庫的基本概念、安裝部署、開發調試,並設計實驗幫助用 戶熟悉這一系列操作。接著介紹數據庫設計、查詢優化、維護、數據庫備份與恢復及導入與導出、存儲引 擎、事務控制和數據庫安全等。本書理論與實踐並重,讀者通過閱讀本書並進行實踐,可以較好地掌握 openGauss數據庫。 本書面向的讀者主要是高校學生及使用openGauss數據庫的工程師。
作者簡介
李國良清華大學計算機系副主任、教授、博士生導師。
在數據庫環境會議和期刊上發表論文150餘篇,他引10000餘次。
堅持倡導國家青年青年科學基金、優秀青年、“青年973”等多個項目。
獲得VLDB青年貢獻獎,IEEE數據工程青年新人獎,國家技術進步二等獎,VLDB、KDD、ICDE、CIKM最佳論文獎(提名獎)。
擔任SIGMOD 2021大會主席。
馮建華清華大學計算機系教授,計算機科學與技術一線科研人員,曾獲得CCF青年科學家獎。
長期教授“數據庫系統”課程,曾出版《數據庫系統概論》教材。
目錄大綱
章初識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數據庫BC連接與開發0
3.3.1BC包、驅動類和環境類0
3.3.2BC連接openGauss的開發流程0
3.3.3BC連接openGauss執行SQL語句示例0
3.3.4BC 連接openGauss結果集處理0
3.4openGauss數據庫ODBC連接0
3.5小結0
3.6習題0
openGauss數據庫實戰指南
目錄
第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章高斯維護
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.1gs_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習題
0章數據庫安全
10.1 用戶
10.1.1管理員
10.1.2 普通用戶
10.2角色
10.3模式
10.4 用戶權限設置與回收
10.4.1將系統權限級別用戶或者角色
10.4.2 將數據庫對象起始角色或用戶
10.4. 將用戶或角色的權限設置為其他用戶或角色
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操作系統相關命令
內容
目錄
章初識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數據庫BC連接與開發0
3.3.1BC包、驅動類和環境類0
3.3.2BC連接openGauss的開發流程0
3.3.3BC連接openGauss執行SQL語句示例0
3.3.4BC 連接openGauss結果集處理0
3.4openGauss數據庫ODBC連接0
3.5小結0
3.6習題0
openGauss數據庫實戰指南
目錄
第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章高斯維護
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.1gs_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習題
0章數據庫安全
10.1 用戶
10.1.1管理員
10.1.2 普通用戶
10.2角色
10.3模式
10.4 用戶權限設置與回收
10.4.1將系統權限級別用戶或者角色
10.4.2 將數據庫對象起始角色或用戶
10.4. 將用戶或角色的權限設置為其他用戶或角色
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操作系統相關命令