數據庫事務處理的藝術:事務管理與並發控製

數據庫事務處理的藝術:事務管理與並發控製 pdf epub mobi txt 电子书 下载 2025

李海翔 等 著
圖書標籤:
  • 數據庫
  • 事務處理
  • 並發控製
  • 事務管理
  • 數據一緻性
  • ACID
  • 數據庫設計
  • 數據存儲
  • 數據庫原理
  • 性能優化
想要找书就要到 求知書站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 机械工业出版社
ISBN:9787111582359
版次:1
商品编码:12270612
品牌:机工出版
包装:平装
开本:16开
出版时间:2017-12-01
用纸:胶版纸

具体描述

産品特色

編輯推薦

作者是騰訊的T4級專傢,有近20年數據庫內核研發經驗,曾是Oracle公司MySQL全球開發組核心成員

中國計算機學會(CCF)常務理事、數據庫專委會主任、數據庫領域著名專傢、中國人民大學杜小勇教授親自作序推薦

人民大學張孝和盧衛教授、武漢大學彭煜煒教授、雲和恩墨CEO蓋國強、騰訊金融支付數據庫運營與研發部副總監薑承堯聯袂推薦


內容簡介

作者有近20年數據庫內核研發經驗,曾是Oracle公司MySQL全球開發組核心成員,現在是騰訊的T4級專傢。數據庫領域的泰鬥杜小勇老師親自為是本書作序,數據庫學術界的知名學者張孝博士(中國人民大學)、盧衛博士後(中國人民大學)、彭煜瑋博士(武漢大學),以及數據庫工業界的知名專傢蓋國強和薑承堯等也給予瞭極高的評價。

全書共12章,首先介紹數據庫事務管理與並發控製的基礎理論和工作機製,然後再從工程實踐的角度對比和分析瞭4個主流數據庫的事務管理與並發控製的實現原理,最後通過源代碼分析瞭PostgreSQL和MySQL在事務管理與並發控製上的技術架構與設計思想。

第一篇(1-2章) 事務管理與並發控製基礎理論

對數據庫事務管理和並發控製的基礎理論、核心技術和工作原理進行瞭講解,包括數據庫事務處理技術的範圍、數據的異常現象及成因、事務模型、並發訪問控製技術、以及隔離性等。

第二篇(3-6章) 事務管理與並發控製應用實例研究

以Informix、Oracle、PostgreSQL和MySQL/InnoDB等主流數據庫係統為例,對他們的事務管理和並發控製的實現技術、工作原理以及原理背後的設計思想進行瞭深度分析和對比。

第三篇(7-9章) PostgreSQL事務管理與並發控製源碼分析

首先對PostgreSQL事務處理技術的架構、層次、設計思想、相關數據結構和實現原理進行瞭深入係統的分析,然後從功能角度對PostgreSQL的事務模型、並發控製、一緻性、隔離性以及其所使用的SS2PL、MVCC、SSI等技術做瞭深入的講解。

第四篇(10-12章) InnoDB事務管理與並發控製源碼分析

首先對事MySQL/InnoDB的務處理技術的架構、層次、設計思想、相關數據結構和實現原理進行瞭深入係統的分析,然後從功能角度對MySQL/InnoDB的事務模型、並發控製、一緻性、隔離性以及其所使用的SS2PL、MVCC等技術做瞭深入的講解。


作者簡介

李海翔(網名:那海藍藍)

資深數據專傢,擁有近20年數據庫內核研發經驗,曾就職於人大金倉、Oracle公司MySQL全球開發組等,現就職於騰訊TEG計費平颱部,T4級專傢。中國人民大學工程碩士企業導師。

數據庫技術精湛,不僅熟悉PostgreSQL、GreenPlum、MySQL、Informix、CockroachDB等數據庫的使用,而且熟悉它們的源碼,尤其擅長數據庫的查詢優化技術、事務處理技術和數據庫架構技術。數據庫相關工作閱曆豐富,從事過數據庫研發(JDBC驅動、管理工具套機、內核)、數據庫測試、技術團隊管理、數據庫架構設計等多個崗位。

曾獲得北京市科學技術進步奬一等奬和騰訊公司級技術突破奬,做過包括863、核高基、工信部、科技部、發改委、北京市科委等多個重大科技項目在內的30多個國傢*大型項目。

除本書外,還撰寫並齣版瞭本書的姊妹篇《數據庫查詢優化器的藝術:原理解析與SQL性能優化》,被譽為數據庫性能優化領域的經典。


精彩書評

海翔熱愛數據庫研發,對數據庫技術一直抱有一顆堅韌、執著之心,本書是他的經驗和思索的體現,值得仔細研讀。

——張孝(博士) 中國人民大學信息學院副教授


這本書具備較好的深度、廣度、新度,這讓我十分期待。

——盧衛(博士後) 中國人民大學信息學院副教授


本書聚焦於數據庫中的事務處理,從原理、主流數據庫實現、源碼級實現三個角度進行瞭深度的探討。尤其是後兩個部分的介紹,讓本書成為不可多得的有關於DBMS事務管理模塊內部技術細節的參考資料。

——彭煜瑋(博士) 武漢大學計算機學院副教授


海翔的著作以獨到之角度闡釋事務原理與並發控製,以庖丁解牛之刀為廣大數據技術從業者剖析齣寶貴的關節,實在是讓人手不釋捲。

——蓋國強 雲和恩墨創始人/Oracle ACE總監


學習MySQL看薑老師的書,學習優化器和事務處理,就看海翔老師的作品吧。

——薑承堯 騰訊金融支付數據庫運營與研發部副總監


作者在數據庫內核領域有多年理論研究與開發實踐經驗,目前負責騰訊金融分布式數據庫TDSQL的內核研發工作。TDSQL旨在解決強一緻性、高可用、高性能、分布式、配套設施、安全保障等方麵的難題,為騰訊內外大量政企、金融客戶的穩定運行保駕護航。


目錄

推薦序一
推薦序二
推薦序三
推薦序四
推薦序五
推薦序六
前言
第一篇 事務管理與並發控製基礎理論
第1章 數據庫管理係統的事務原理 2
1.1 事務模型要解決的問題 2
1.1.1 為什麼需要事務處理機製 2
1.1.2 事務機製要處理的問題——事務故障、係統故障、介質故障 4
1.1.3 並發帶來的問題椚��?
常見的讀數據異常現象 4
1.1.4 並發帶來的問題——寫並發操作引發的數據異常現象 8
1.1.5 語義約束引發的數據異常現象 9
1.1.6 其他的異常 11
1.1.7 深入探討三種讀數據異常現象 13
1.2 事務處理技術的原理 17
1.2.1 什麼是事務 17
1.2.2 事務的屬性 20
1.2.3 ACID的實現技術 24
1.3 事務的模型 26
1.4 並發控製技術 27
1.4.1 並發控製技術的實現策略 27
1.4.2 並發控製技術的實現技術 28
1.5 日誌技術與恢復子係統31
1.6 本章小結 32
第2章 深入理解事務管理和並發控製技術 33
2.1 在正確性和效率之間平衡 33
2.1.1 隔離級彆 34
2.1.2 快照隔離 36
2.1.3 理解可見性 39
2.2 並發控製 40
2.2.1 基於鎖的並發控製方法 42
2.2.2 基於時間戳的並發控製方法 47
2.2.3 基於有效性檢查的並發控製方法 52
2.2.4 基於MVCC的並發控製方法 53
2.2.5 基於MVCC的可串行化快照隔離並發控製方法 56
2.2.6 再深入探討三種讀數據異常現象 60
2.3 並發控製技術的比較 62
2.3.1 並發控製技術整體比較 62
2.3.2 S2PL和SS2PL的比較 64
2.3.3 事務屬性與並發控製技術的關係 65
2.3.4 SCO和SS2PL的比較 66
2.3.5 TO和SS2PL的比較 67
2.4 深入探討隔離級彆 68
2.4.1 隔離級彆與基於鎖的並發控製方法 68
2.4.2 隔離級彆與各種並發控製技術 69
2.5 事務的管理 70
2.5.1 事務的開始 71
2.5.2 事務的提交 71
2.5.3 事務的中止與迴滾 72
2.5.4 子事務與SAVEPOINT 72
2.5.5 長事務的管理 73
2.5.6 XA 74
2.6 事務相關的實戰問題討論 75
2.7 本章小結 76
第二篇 事務管理與並發控製應用實例研究
第3章 Informix事務管理與並發控製 78
3.1 Informix的事務操作 78
3.2 Informix的封鎖技術 83
3.3 隔離級彆與數據異常 85
3.4 本章小結 88
第4章 PostgreSQL事務管理與並發控製 89
4.1 PostgreSQL事務操作 89
4.2 SQL操作與鎖 92
4.3 隔離級彆與數據異常 108
4.4 本章小結 118
第5章 InnoDB事務管理與並發控製 119
5.1 InnoDB的事務模型 119
5.2 InnoDB基於鎖的並發控製 123
5.3 InnoDB基於MVCC的並發控製 130
5.4 隔離級彆與數據異常 131
5.5 本章小結 138
第6章 Oracle事務管理與並發控製 139
6.1 Oracle的事務操作 139
6.2 Oracle的封鎖技術 142
6.3 MVCC技術 145
6.4 隔離級彆與數據異常 157
6.5 本章小結 160
第三篇 PostgreSQL事務管理與並發控製源碼分析
第7章 PostgreSQL事務係統的實現 162
7.1 架構概述 162
7.2 事務管理的基礎 166
7.3 事務操作 173
7.4 子事務的管理 186
7.5 本章小結 188
第8章 PostgreSQL並發控製係統的實現—封鎖 189
8.1 鎖的概述 189
8.2 係統鎖 192
8.3 事務鎖 214
8.4 事務鎖的管理 239
8.5 死鎖檢測 247
8.6 從鎖的角度看用法 254
8.7 本章小結 262
第9章 PostgreSQL並發控製係統的實現—MVCC 263
9.1 快照 264
9.2 可見性判斷與多版本 273
9.3 可串行化快照原理 285
9.4 PostgreSQL可串行化快照的實現 289
9.5 隔離級彆 336
9.6 本章小結 340
第四篇 InnoDB事務管理與並發控製源碼分析
第10章 InnoDB事務係統的實現 342
10.1 架構概述 342
10.2 事務管理的基礎 346
10.3 事務操作 353
10.4 InnoDB事務模型 378
10.5 本章小結 382
第11章 InnoDB並發控製係統的實現—兩階段鎖 383
11.1 鎖的概述 383
11.2 係統鎖 386
11.3 事務鎖之記錄鎖 401
11.4 事務鎖之元數據鎖 433
11.5 SQL語義定義鎖 476
11.6 其他類型的鎖 493
11.7 事務與鎖 499
11.8 本章小結 500
第12章 InnoDB並發控製係統的實現—MVCC 502
12.1 數據結構 503
12.2 可見性判斷 506
12.3 多版本的實現 509
12.4 一緻性讀和半一緻性讀 511
12.5 本章小結 513
附錄 TDSQL簡介 514

精彩書摘

  《數據庫事務處理的藝術:事務管理與並發控製》:
  1.3事務的模型
  事務的實現,在不同的數據庫係統中是不同的,這是因為事務有著不同的模型,在JimGray的《事務處理概念與技術》一書的第四章事務模型中,事務被分為:
  平闆事務(FlatTransactions):事務塊中的所有SQL語句,構成一個邏輯單元,要麼都成功,要麼因之一失敗都迴滾。PostgreSQL的事務管理如果不考慮保存點(Savepoint)機製,可以認為就是一個平闆類型的事務,事務塊內的一個SQL失敗,導緻整個事務必須迴滾,之前執行成功的操作也必須迴滾掉。
  帶有保存點的平闆事務(FlatTransactionsWithSavepoints):在平闆事務的基礎上,實現瞭保存點技術,這樣使得一個事務塊,可以劃分齣不同的層次,每個層次之間為一個邏輯單元,後麵失敗的SQL不影響之前保存點前發生的操作,即迴滾發生在局部。PostgreSQL、InnoDB、Informix在平闆事務的基礎上,支持瞭保存點技術。
  鏈式事務(ChainedTransactions):與平闆事務不同的是,鏈式事務在提交一個事務後,釋放一些資源如鎖等資源,但是,一些上下文環境如事務的載體(存放事務信息的結構體或類等對象)不被釋放,會留給下一個事務使用。用戶感覺門己的邏輯上的處理單元與之前的事務似乎沒有COMMIT之類命令執行的明顯分割。如InnoDB的事務模型,就是鏈式事務的代錶(這句話不是說InnoDB不支持平闆事務,實際上InnoDB支持平闆事務、支持帶有保存點的平闆事務、支持鏈式事務,並通過XA技術支持下麵談到的分布式事務)。
  ……

前言/序言

  推薦序一
  海翔在數據庫管理係統領域的第二本著作《數據庫事務處理的藝術:事務管理與並發控製》馬上就要齣版瞭,他邀請我作序,我沒有猶豫就欣然答應瞭。事後,我自己都覺得奇怪為什麼會這麼痛快,但細細想來,還是有充分理由的。這個序得寫!
  首先,我對在數據庫核心技術領域長期辛勤耕耘的人錶示尊敬。數據庫是信息係統的基礎和核心,對數據庫實現技術是否真正掌握關係到我國在信息技術核心領域的自主可控戰略是否能順利實現。大傢都知道,長期以來我國的信息産業大而不強,信息化成本居高不下,信息安全受到威脅。數據庫就是基礎軟件中的最重要的部分之一。因此,國傢從十五開始就對這個領域的研究開發進行瞭持續的支持。先是在863計劃下設立“數據庫重大專項”,後來又在國傢中長期科技發展規劃中設立瞭“核心電子器件、高端通用芯片和基礎軟甲産品(簡稱核高基)”項目,對這個方嚮的研發工作給予引導。但是,由於國外數據庫巨頭已經形成市場壟斷,短期間內企業要在這個領域贏利幾無可能,因此,一些有實力的大企業都不願意投身到這個領域來,形成瞭長期都由一些小公司在苦苦掙紮的窘境。人纔能否“引得來、留得住、長得好”,是這些技術型小公司普遍遇到的問題。因此,我對長期堅持在這個領域的從業人員始終抱有好感,隻要可能就願意幫助他們。
  其次,從我們教學的經驗看,要深入理解數據庫實現,非常需要解讀開源係統實現代碼的圖書作為學習的參考。數據庫係統龐雜,要弄懂係統實現的代碼需要鍥而不捨的精神。海翔閱讀瞭PostgreSQL和MySQL(InnoDB)等幾個開源係統的代碼,並根據自己的理解進行瞭解讀,通過對比不同的實現能幫助讀者深入瞭解事務的概念和實現技術。事務管理是數據庫係統的核心技術,有一句話形容事務管理“好懂難做”,意思是要理解這些概念並不難,但是要實現起來,還是很復雜的。因此,通過閱讀開源係統的源代碼,能更好地掌握相關的內容。海翔的書能起到這個作用。
  第三,我和海翔有師生之誼。本世紀初我們都在人大金倉工作,一同開發金倉數據庫係統。海翔是公司員工,同時在中科大就讀,我是他的企業導師。海翔平時話不多,少言寡語,但是心裏有想法,是那種先做再說的性格。之後,由於種種原因,我離開瞭金倉迴到學校任教。也就逐漸失去瞭和海翔的聯係,直到有一天,他給我送來瞭他的一本書稿—《數據庫查詢優化器的藝術》,讓我著實吃驚不小。我知道,在IT企業工作壓力大,加班是常態。如果不是自己心裏有一個目標,堅持不懈,放棄許多休息時間,是很難寫齣有深度的著作的。我在心裏為海翔點贊。之後我們又“失聯”瞭,估摸著他是否又在做什麼大事,果不其然,他又完成瞭自己的第二本著作,《數據庫事務處理的藝術:事務管理與並發控製》。再次祝賀海翔!
  寫到這裏,我也該停筆瞭。希望讀者能從海翔的書中看到他對數據庫事務處理的思考,以及他奮鬥的影子。
  杜小勇
  中國計算機學會數據庫專委會主任
  齣版社代注:
  杜小勇教授,教育部科學技術委員會學部委員,中國計算機學會(CCF)常務理事、專委工委主任、數據庫專委會主任,數據庫領域著名專傢,中國人民大學理工處處長。
  推薦序二
  數據庫的基本特徵之一是支持多用戶共享數據,而事務管理和並發控製是提供這一支持的核心技術,是大型數據庫有彆於某些錶格管理軟件的關鍵特性之一,也是實現一個大型數據庫管理係統時會麵臨的最有挑戰性的技術之一。
  本書從基本原理和案例係統分析深刻論述瞭該領域的進展現狀與典型實現技術,特彆是源碼分析對有誌於學習或定製開源數據庫管理係統的開發人員提供瞭很好的參考。對數據庫有關的各類從業者瞭解這一主題提供瞭難得的參考資料。
  海翔熱愛數據庫研發,對數據庫技術一直抱有一顆堅韌、執著之心,本書是他的經驗和思索的體現,值得仔細研讀。
  張孝(博士)
  中國人民大學信息學院副教授
  推薦序三
  事務是數據庫的核心概念之一,提供ACID(原子性、一緻性、隔離性、持久性)特性的事務處理,是數據庫係統能夠商用化,並用來支持金融級業務的核心技術之一。一方麵,大學本科或研究生的數據庫教材更多的是偏嚮於事務的基本概念或基本技術的介紹;另一方麵,現有大部分的技術文檔對事務管理和並發控製的內容介紹缺乏重要的實現關鍵細節,無法有效地幫助學習者建立理論與實踐之間的緊密聯係。
  而海翔的這本《數據庫事務處理的藝術:事務管理與並發控製》:
  不僅有對事務管理和並發控製的原理性介紹,如事務模型、基於封鎖的並發控製技術、基於MVCC的並發控製技術等
  還有對現有主流開源數據庫,如PostgreSQL、MySQL的關於事務管理和並發控製的實現機製在源碼級的深入剖析
  再有多種商業數據庫的實現機製分析,如Oracle和Informix
  更有新的技術的剖析,如“write-snapshot isolation”“Serializable Snapshot Isolation (SSI)”
  甚至還有理論、實現之間的優劣對比,以及多種實現技術的優劣對比,多角度地對比拓展瞭本書的縱深
  這本書具備較好的深度、廣度、新度,這讓我十分期待。
  我認識海翔已有十二載,在此期間,海翔一直從事於國産數據庫的研發工作,取得瞭諸多令人矚目的成績,這本書是對他這些年理論探索和實踐經驗的總結,我相信對於誌在從事數據庫相關領域開發和研究的朋友,通過本書的學習,都能從中受益。
  盧衛(博士後)
  中國人民大學信息學院副教授
  (發錶多篇SIGMOD、VLDB、ICDE學術論文)
  推薦序四
  事務管理和並發控製是數據管理技術中最重要的幾個主題之一,它保障瞭數據的一緻性以及係統的性能。
  本書聚焦於數據庫中的事務處理,從原理、主流數據庫實現、源碼級實現三個角度進行瞭深度的探討。尤其是後兩個部分的介紹,讓本書成為不可多得的有關DBMS事務管理模塊內部技術細節的參考資料。
  本書不僅對於從事各類數據庫內核研發工作的人員具有很高的參考價值,對於從事數據庫應用開發、DBA乃至學習數據庫的朋友們來說也值得一讀。本書作者在數據庫研發領域深耕多年,書中的字裏行間顯示齣他紮實的實踐經驗和深厚的理論功底,相信各位讀者都能從本書中受益匪淺。
  彭煜瑋(博士)
  武漢大學計算機學院副教授/《PostgreSQL數據庫內核分析》作者
  推薦序五
  —庖丁解牛 高山仰止
  海翔的新書揮就,單隻書名就讓我頓生敬意,事務處理是數據庫技術中最為核心的部分,也是不同數據庫之間暗暗較量的關鍵所在。以此為題的著作,我們熟知的就是Jim Gray的《事務處理概念與技術》,該書一直是數據庫領域的築基之作,令人高山仰止;現在海翔的著作以獨到之角度闡釋事務原理與並發控製,以庖丁解牛之刀為廣大數據技術從業者剖析齣寶貴的關節,實在是讓人手不釋捲的又一機緣。
  在我熟悉的Oracle數據庫領域,我一直認為其獨到的事務處理機製,成就瞭Oracle數據庫今天的地位。比如Oracle選擇瞭提交讀作為主要的事務隔離級彆,進而通過Undo機製提供一緻性讀,而從Oracle 6引入的改變嚮量(Change Vector)技術更成為瞭Redo和Undo機製的核心,並由此保障數據庫能夠從一個一緻性的狀態不斷遷移到下一個一緻性狀態,Oracle數據庫後續的很多卓越特性都由此構建,包括Data Guard技術、閃迴技術等,延承至今。
  而隨著時代的進步,軟硬件性能的提升,數據庫産品也在不斷進步,比如阿裏巴巴的OceanBase基於內存短事務的設計,就不需要Undo日誌,而Oracle公司最新透露的研發計劃錶明他們正在基於NVRAM進行內核改寫,這其中最關鍵的就是對於Redo機製和事務的優化。
  把握曆史,兼顧當下,站在前人肩上纔能跟上時代的步伐。海翔、馮毅和鵬程,正是站在這樣的起點上。他們不僅精研數據庫原理,更加是不同數據庫內核的研發者,不同的從業經曆,使得他們可以從橫嚮和縱嚮對不同數據庫進行剖析,Informix、Oracle、PostgreSQL和MySQL等流行數據庫的事務原理在書中均有呈現,真知灼見,俯仰可得。
  這是一本理論結閤研發,研發兼顧實踐的實力之作,我相信也是作者們緻敬大師的心血呈現,我期待這本書能夠盡快呈現在案頭,一睹為快!
  蓋國強
  雲和恩墨創始人/Oracle ACE總監
  推薦序六
  事務處理是數據庫區彆於其他係統的關鍵特質,JimGray的《Transaction Processing》一書是打開我對數據庫世界認識的一扇窗口。當海翔兄告訴我其在撰寫《數據庫事務處理的藝術》之書時很是感到震驚,因為這並不是一件容易的事情,同時也不是一件任何人都能乾好的事情。
  我相信本書的作者李海翔,我的好友,能將數據庫事務處理的內部機製描述清楚。一方麵,其從事數據庫內核行業很多年,在這一方麵有著非常深厚的內功基礎。另一方麵,其擅長於將復雜的問題通過簡單的語句描述清楚。相信任何同學在看過本書之後都會有這樣的感覺。更為難得的是,本書在事務處理這部分對比瞭當前主流的多種數據庫實現,想必本書必將成為經典之作。
  學習MySQL看薑老師的書,學習優化器和事務處理,就看海翔老師的作品吧。
  薑承堯
  騰訊金融支付數據庫運營與研發部副總監/
  《MySQL技術內幕》係列圖書作者/Oracle ACE
  前  言
  為什麼寫這本書
  關係數據庫管理係統有兩大核心技術,一是事務處理,二是查詢優化。對於數據庫技術從業者來說,如果能把這兩種技術珠聯璧閤融於一體,則如同長齣兩隻翅膀,能助君振翅高飛、翱翔萬裏。
  2017年,筆者的第二本著述即將問世。本書是一本討論數據庫事務管理和並發控製技術的書,融閤瞭事務管理和並發控製原理、主流數據庫的事務實現、開源數據庫內核事務處理和並發控製源碼剖析。本書能夠幫助技術愛好者掌握事務處理的核心技術—事務管理和並發訪問控製。
  筆者期望,把自己對技術的深度探索以文字形式分享給讀者,與數據庫技術愛好者一起享受數據庫內核技術之美。於是工作之餘,周末枯坐敲擊鍵盤,夜晚遐想苦思代碼,便有瞭這本小作。
  什麼是藝術
  書名冠以藝術一詞,筆者實不敢當。藝術之大,筆者仰望如高山、如皓日。
  惴惴之際,筆者試對藝術做一注解,謬誤之詞,請讀者見諒。
  藝術,美也; 工程技術,美之實現也。數據庫的工程實現,有美其中。代碼有形之體美,算法有神之韻美,數據庫內核之大之復雜故有極深的邏輯之美。愛美之心,筆者如同萬韆生靈,亦有之。於是因愛美而去嘗試展示數據庫之美,纔有瞭筆者第一著述《數據庫查詢優化的藝術》和第二本著述《數據庫事務處理的藝術》。
  本書的主要內容
  本書主要討論的內容包含四個話題:
  話題一:事務處理技術中的一緻性和隔離性,即ACID技術中的C和I。
  話題二:對於一緻性,本書主要從事務模型和並發控製的角度齣發進行討論,著手於原理怎樣保障正確性、主流數據庫怎樣實現各種並發控製技術等進行探討。比如封鎖控製技術等。
  話題三:對於隔離性,本書以並發控製技術為齣發點,在明確數據庫的一緻性之後,從數據庫性能的角度齣發討論數據庫隔離性的實現技術。比如著名的MVCC技術。
  話題四:從工程實踐的角度,討論Informix、Oracle、PostgreSQL和MySQL是怎樣實現一緻性和隔離性的。
  本書共分四篇,四個話題貫穿始終,分彆從原理(第一篇)、主流數據庫實現(第二篇)、源碼級實現(第三、四篇)這三個角度進行瞭深度討論。
  其中,原理是靈魂,是統領工程實現的綱,對於事務處理,就是要確保怎樣保障數據的一緻性。所以本書的第一篇,就從數據異常現象這個引子齣發,對並發控製技術的原理進行講述,並分析瞭多種並發控製技術是怎樣解決數據異常現象的。這有彆於經典的數據庫理論書籍,本書不單純為講理論而講原理,而是結閤原理和工程實踐中的知識和關鍵點講原理,使得原理在工程實踐中有落腳點、有著力之處。這是第一篇內容的價值所在。
  盡管原理相同,但是不同的數據庫的工程實現卻是不同的。所以在第二篇,筆者選取瞭主流的數據庫係統,包括Informix、Oracle、PostgreSQL和MySQL,對它們的一緻性和隔離性的實現技術,以及工程實現的背後、摺射的原理思想進行瞭深度探索、對比。以期幫助讀者對事務管理和並發控製技術的原理有進一步的認識,對主流數據庫的相關實現情況有全麵的掌握,更期望讀者通過閱讀能把握主流數據庫基於相同原理卻又有著不同實現的在工程設計方麵的不同考量之處。
  最能幫助掌握核心技術的,隻有源碼。本書第三篇揭示瞭PostgreSQL的事務處理的技術之美;第四篇揭示瞭MySQL和InnoDB的事務處理的技術之美。而全書中,似在不經意間,在山石小徑旁,長滿瞭對原理、對工程實現的比較,以展示美與美的不同。如果讀者能夠在讀書之際,自己再多做比較,則會領悟到更多的美……
  本書的主要特色
  從工程實踐的角度看,本書通過原理分析、實例分析、代碼分析,進行瞭三個對比:
  理論對比:對比事務處理中各種並發控製技術等的異同,以擴展讀者對事務處理技術理解的深度。並發控製的技術有很多,本書不為單純講每一個技術而羅列算法本身的內容,而是著眼於對各種算法的差異進行對比,以揭示不同算法背後的思想。
  實現對比:對比四大主流數據庫的事務處理技術的異同,以擴展讀者對事務處理技術理解的廣度。本書不單純講述各主流數據庫事務相關的SQL語法,而是著力於透視事務處理和並發控製技術實現的方式之背後的設計考慮點,並隨時對比各個主流數據庫對於同一個問題的不同實現方式,以展示工程技術之美。
  源碼對比:依托代碼,直接分析,對比PostgreSQL和MySQL(InnoDB)的事務處理技術的異同,以幫助讀者能夠結閤事務處理技術的原理和工程實踐,真正理解、掌握數據庫事務處理的技術。隻有深入到代碼一層,纔不會有霧裏看花的感覺,置身於代碼裏,能美在其中、樂在其中。
  本書麵嚮的主要讀者
  您想深入瞭解數據庫技術?本書適閤您。
  您想深入掌握數據庫事務處理技術?本書適閤您。
  您想成為數據庫內核技術的開發者?本書適閤您。
  您想成為數據庫核心技術之美的欣賞者、品味者、把握者……本書確實適閤您。
  資源及勘誤
  由於筆者的水平有限,書中難免會有筆誤、差錯或遺漏等,希望廣大讀者能把發現的錯誤反饋給筆者,筆者將不勝感謝。本書的進步和完善,有您的幫助和愛護,定能再上層樓。您可以發送電子郵件到:database_XX@163.com。由於時間有限,也許筆者不能一一答復所有的電子郵件,但是一定會定期整理並匯總信息到筆者的博客(http://bolg.163.com/li_hx)以及華章網站(http://www.hzbook.com)上。
  緻謝
  本書承濛中國人民大學信息學院院長杜小勇教授指導並作序,心懷感激,念念在心。杜老師是筆者的恩師,析事明理、待人言物、治學嚴謹,一直是筆者心中的楷模。這是一種人格之美,至美而及筆者並影響瞭筆者寫書的風格。
  在筆者的生命中,傢人是最重要的。每每伏案疾書不捨晝夜,親人們都能夠理解包容,給瞭筆者強大的動力,讓筆者內心充滿暖意和歉意。特彆是,近一年來,傢中小果果生命的孕育,亦陪伴、激勵著筆者努力在小果果來到這個世界感受生命之美時,努力把這本書寫好、寫美。這裏要特彆感謝我的父母、妻子和果果,動力所在,唯愛有美。十年的果果,因愛而感受到生命的美。
  再一次感謝為開源社區無私奉獻的人們,感謝經典的數據庫著述和論文的作者們,本書成書的過程中,參考瞭相關的資料和信息,書中也一一標注。在此,一並感謝這些無私的奉獻者們。沒有他們,本書會遜色很多。
  感謝編輯楊福川先生和李藝女士為本書付齣的努力和耗費的心血,書名源於楊先生,書稿樣式改於李女士。謝謝他們。
  感謝每一位讀者,你們是筆者繼續前進的新動力。
  寫完自己的第二本書,依舊慚愧本書尚不能達到書名標識的高度,依舊打算邁步從頭開始,依舊有著努力的心情,不一樣的是書籍內容,期待本書對讀者有所幫助。
  李海翔







用户评价

评分

非常好 很实用

评分

非常不错的数据库书籍

评分

不错,不错,很不错呀

评分

非常不错的数据库书籍

评分

新买的书,看起来不错,需要慢慢看了

评分

数据库事务必备

评分

非常不错的数据库书籍

评分

理论必备

评分

寒假学习学习,努力工作挣钱。

相关图书

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有