TOP
0
0
即日起~6/30,暑期閱讀書展,好書7折起
PostgreSQL技術內幕:事務處理深度探索(簡體書)
滿額折

PostgreSQL技術內幕:事務處理深度探索(簡體書)

商品資訊

人民幣定價:99 元
定價
:NT$ 594 元
優惠價
87517
領券後再享86折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:15 點
相關商品
商品簡介
作者簡介
名人/編輯推薦
目次
書摘/試閱

商品簡介

事務是關係型數據庫實現的核心內容,它具有原子性、一致性、隔離性和持久性等特點,是數據庫實現並發控制和故障恢復的基礎。 本書首先分析了PostgreSQL數據庫事務的實現機制,包括事務的基本概念、兩階段鎖的原理及實現方法、多版本並發控制的原理及實現方法、故障恢復的實現方法等,然後通過介紹物理復制、邏輯復制、Zheap引擎的原理及實現、SSI的實現、兩階段提交的原理及實現,使讀者獲得了對事務更深入的理解,從而使讀者既能了解事務的原理,也能清楚事務的實現細節。 本書適合數據庫內核開發及相關領域的研究人員、數據庫DBA、高等院校相關專業的本科生或者研究生閱讀。

作者簡介

張樹杰,數據庫內核專家,長期從事數據庫內核開發工作,對數據庫內核各個方面均有涉獵,精通數據庫內核的原理和架構設計,近些年尤其專注於研究對分布式數據庫的查詢優化、查詢執行的改進工作。

名人/編輯推薦

深入介紹數據庫事務的經典理論、概念、方法結合PostgreSQL的工程實踐解讀並發控制和故障恢復揭秘日志復制、邏輯解碼、Undo日志、快照隔離級別等技術

為什麼寫這本書
近年來,我一直從事與PostgreSQL相關的數據庫內核開發工作,主攻方向是SQL引擎中的查詢優化,對事務的了解僅停留在理論層面,雖然對事務的性質、隔離級別也能講一番大道理,但終究華而不實,於探究事務的本質無益。所謂“紙上得來終覺淺,絕知此事要躬行”,在完成了《PostgreSQL技術內幕:查詢優化深度探索》一書之後,我就開始了事務的探索之旅。
探索的過程並非一帆風順。事務的理論已經頗為複雜,在形成源碼之後更是有數十萬行之多,對這些源碼做逐行分析的工作量非常大,一旦遇到不解的問題,還需查閱資料、翻閱討論組中的郵件。入之愈深,其進愈難,則其見愈奇。以前根據事務理論想當然的一些理解會被具體實現中的精巧設計打破,而對這些設計細節的深刻理解能幫助我們快速地解決工作中遇到的問題,因此,我又產生了寫第二本書的想法,希望對自己在探索過程中遇到的知識點做一個總結與分享。
為什麼閱讀這本書
事務是關係數據庫中最重要的內容之一,無論是對數據庫內核進行開發,還是在數據庫的基礎上進行應用程序的開發,都需要對事務有深入的了解。本書細致地解讀了PostgreSQL 數據庫中與事務相關的大部分源碼,對其中比較重要的理論給出了說明,相信已經足以讓讀者了解PostgreSQL中事務的全貌。
本書的組織結構
本書在章節的排布上可以分為以下兩個部分。
• 基礎篇(第1~4章):主要介紹了事務的基本概念、並發控制的實現方法和故障恢復的實現方法。
• 進階篇(第5~9章):在事務理論的基礎上,對物理復制、邏輯復制、SSI實現、新型Zheap引擎、2PC等做了深入的解讀。
由於事務引擎和存儲引擎關係密切,本書在附錄中對存儲引擎的一些知識點也做了相關介紹,方便讀者加深理解。
糾錯
在寫作的過程中,我嘗試盡量多地查閱相關資料,但限於作者的能力,書中難免出現一些錯誤,歡迎廣大讀者對本書提出批評和意見,這也有益於作者本身能力的提升。
致謝
孟慶鐘博士和周兆琦博士通過視頻會議的方式逐字逐句地審閱了書稿,多次批改書稿到深夜,提出了很多有益的意見,感謝二位辛苦的付出。
本書是和董英編輯合作的第二本書,我得到了董英編輯的大力支持,在此表示感謝。
李秀梅編輯是本書的責任編輯,在書稿寫作過程中,秀梅編輯不厭其煩地解答了我很多問題,對我的拖稿行為也給予了極大的理解,感謝秀梅編輯。
感謝我的父母、妻子,書稿的創作過程枯燥而冗長,占用了很多生活的時間,他們承擔了所有的家務,為我提供了最好的寫作環境。
我的兩個兒子也非常關心我的寫作進度,經常詢問我什麼時候完成創作,並在我創作的過程中糾正了一些錯別字,在此一並表示感謝。

目次

封面
前折頁
版權信息
內容簡介
前言
第1章 事務概述
1.1 事務的作用
1.2 事務的性質
1.3 事務的隔離級別
1.4 PostgreSQL中的事務
1.5 事務處理流程
1.5.1 事務ID
1.5.2 pg_subtrans日志
1.5.3 啟動事務
1.5.4 事務結束
1.6 異步提交
1.7 本章小結
第2章 鎖
2.1 並發的異常現象
2.2 調度
2.3 並發控制
2.4 兩階段鎖
2.5 PostgreSQL中的鎖
2.5.1 自旋鎖
2.5.2 輕量鎖
2.5.3 常規鎖
2.6 常規鎖的內存結構
2.7 常規鎖的加鎖
2.8 行鎖
2.9 死鎖檢測
2.10 本章小結
第3章 MVCC
3.1 元組上的版本信息
3.2 快照
3.3 獲得快照
3.4 可見性判斷
3.5 本章小結
第4章 故障恢復
4.1 故障的分類
4.2 事務日志
4.3 日志文件
4.4 查看日志內容
4.5 日志格式
4.6 XLog初始化
4.7 日志的注冊
4.8 日志的組成
4.9 日志的寫入
4.10 控制文件
4.11 Full Page Write
4.12 檢查點
4.12.1 檢查點的觸發
4.12.2 BgWriter刷入臟頁
4.12.3 回寫機制
4.12.4 Sync請求
4.12.5 檢查點的創建
4.12.6 檢查點中臟頁的刷入
4.12.7 檢查點中的XLog清理
4.13 日志歸檔
4.14 基礎備份
4.15 PITR
4.16 故障恢復
4.17 本章小結
第5章 物理復制
5.1 環境搭建
5.2 物理復制
5.3 同步復制
5.4 Hot Standby
5.5 物理復制槽
5.6 本章小結
第6章 邏輯解碼與邏輯復制
6.1 復制槽
6.2 邏輯解碼
6.2.1 Snapshot Builder
6.2.2 Reorder Buffer
6.2.3 Logical Decoding
6.2.4 Replication Origin
6.3 邏輯復制
6.3.1 發布與訂閱
6.3.2 復制的起點
6.4 本章小結
第7章 SSI
7.1 SSI介紹
7.1.1 依賴關係
7.1.2 S2PL和SSI
7.1.3 MVCC和SSI
7.1.4 SSI方法
7.2 “危險結構”
7.3 SSI的優化方法
7.4 SSI的實現方法
7.5 本章小結
第8章 Zheap引擎
8.1 事務槽
8.2 TPD
8.3 元組的變化
8.4 Undo日志
8.4.1 Undo的文件結構
8.4.2 Undo的內存結構
8.4.3 Undo的頁面結構
8.5 事務槽的使用
8.6 可見性判斷
8.7 Undo操作
8.8 Undo日志清理
8.9 本章小結
第9章 兩階段提交
9.1 兩階段提交簡介
9.2 PostgreSQL中的2PC
9.3 本章小結
附錄A 存儲引擎概述
A.1 存儲文件形式
A.2 緩衝區
A.3 SLRU
附錄B 事務的文件結構
B.1 access目錄
B.2 storage目錄
B.3 replication目錄
B.4 utils目錄
後折頁
封底

書摘/試閱

關係型數據庫的本質是在關係代數的理論基礎上實現的基於事務的數據處理系統,用戶向數據庫輸入SQL語句,數據庫服務器則根據用戶輸入的SQL語句對數據進行DML、DDL、DCL操作。在有些情況下我們把單條的SQL語句作為一個邏輯單元,比如查閱圖書館中圖書的數量,只需要一個SQL語句就可以實現,這個SQL語句被解析成聚集算子和掃描算子的疊加(物理執行計劃)。而在有些情況下,我們需要將多個語句視為同一個邏輯單元,比如銀行轉帳操作,需要先在一個帳戶中減去轉帳金額,同時在另一個帳戶中增加轉帳金額,這就需要兩個SQL語句來實現。於是,我們可以把由一組語句構成的一個邏輯單元叫作一個事務。一個事務要麼完全被執行,要麼完全不執行,也就是說如果事務執行到中途的時候發生了異常,已經做了的部分也需要回滾,讓用戶看上去覺得這個異常終止的事務好像完全沒有執行過一樣。人們經過長期的摸索,給事務總結出原子性、一致性、隔離性和持久性4個基本性質,並且通過並發控制方法和故障恢復方式對這幾個性質進行了實現。

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 517
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區