與海翔新書作
序海翔在資料庫管理系統領域的第二本著作《資料庫事務處理的藝術:事務管理與併發控制》馬上就要出版了,他邀請我寫個序,我沒有猶豫就欣然答應了。事後,我自己都覺得奇怪會這麼痛快,但細細想來,還是有充分理由的。這個序得寫!
首先,我對在資料庫核心技術領域長期辛勤耕耘的人表示尊敬。資料庫是資訊系統的基礎和核心,對資料庫實現技術是否真正掌握關係到我國在資訊科技核心領域的自主可控戰略是否能順利實現。大家都知道,長期以來我國的資訊產業大而不強,資訊化成本居高不下,資訊保安受威脅。資料庫就是基礎軟體中的最重要的部分之一。因此,國家從十五開始就對這個領域的研究開發進行了持續的支援。先是在
863計畫下設立「資料庫重大專項」,後來又在國家中長期科技發展規劃中設立了「核心電子期間、高階通用晶元和基礎軟甲產品(簡稱核高基)」專案,對這個方向的研發工作給予引導。但是,由於國外資料庫巨頭已經形成市場壟斷,短期間內企業要在這個領域贏利幾無可能,因此,一些有實力的大企業都不願意投身到這個領域來,形成了長期都由一些小公司在苦苦掙扎的窘境。人才能否「引得來、留得住、長得好」,是這些技術型小公司普遍遇到的問題。因此,我對長期堅持在這個領域的從業人員始終抱有好感,只要可能就願意支援他們。
其次,從我們教學的經驗看,要深入理解資料庫實現,非常需要解讀開源系統實現**的圖書作為學習的參考。資料庫系統龐雜,要弄懂系統實現的**需要鍥而不捨的精神。海翔閱讀了
postgresql
和mysql
(innodb
)等幾個開源系統的**,並根據自己的理解進行了解讀,通過對比不同的實現能幫助讀者深入了解事務的概念和實現技術。事務管理是資料庫系統的核心技術,有一句話形容事務管理「好懂難做」,意思是要理解這些概念並不難,但是要實現起來,還是很複雜的。因此,通過閱讀開源系統的源**,能更好地掌握相關的內容。海翔的書能起到這個作用。
第三,我和海翔有師生之誼。本世紀初我們都在人大金倉工作,一塊開發金倉資料庫系統。海翔是公司員工,同時在中科大就讀,我是他的企業導師。海翔平時話不多,少言寡語,但是心裡有想法,是那種先做再說的性格。之後,由於種種原因,我離開了金倉回到學校從教。也就逐漸失去了和海翔的聯絡,直到有一天,他給我送來了他的一本書稿,《資料庫查詢優化器的藝術》,讓我著實吃驚不小。我知道,在
it企業工作壓力大,加班是常態。如果不是自己心裡有乙個目標,堅持不懈,放棄許多休息時間,是很難寫出有深度的著作的。我在心裡為海翔點贊。之後我們又「失聯」了,估摸著他是否又在做什麼大事了,果不其然,他又完成了自己的第二本
著作,《資料庫事務處理的藝術:事務管理與併發控制》。再次祝賀海翔。
寫到這裡,我也該停筆了。希望讀者能從海翔的書裡看到他對資料庫事務處理的思考,還能看到他奮鬥的影子。
杜小勇
中國計算機學會資料庫專委會主任
2023年9
月 北京
代注:杜小勇教授,教育部科學技術委員會學部委員,中國計算機學會(ccf)常務理事、專委工委主任、資料庫專委會主任,資料庫領域著名專家、中國人民大學理工處處長。
事務處理 資料庫事務
事務簡介 事務的作用 事務的作用是將一系列操作作為乙個整體,一但其 現問題,會回滾到事務的開始狀態。即事務維護了資料的完整性和一致性。事務的四個特性 acid 原子性 事務的操作是原子不可分割的。一致性 事務的運算元據保證一致性,不存在一部分改變一部分不改變。隔離性 隔離性是當多個使用者併發訪問資料...
事務處理(二) 資料庫事務
事務的作用是將一系列操作作為乙個整體,一但其中出現問題,會回滾到事務的開始狀態。即事務維護了資料的完整性和一致性。如果不考慮隔離性,事務會出現以下問題。髒讀又稱無效資料的讀出,是指在資料庫訪問中,事務t1將某一值修改,然後事務t2讀取該值,此後t1因為某種原因撤銷對該值的修改,這就導致了t2所讀取到...
資料庫的事務處理
事務是這樣一種機制,它確保多個sql語句被當作單個工作單 元來處理。事務具有以下的作用 事務是完整性的單位,乙個事務的執行是把資料庫從乙個一 致的狀態轉換成另乙個一致的狀態。因此,如果事務孤立執行時 是正確的,但如果多個事務併發交錯地執行,就可能相互干擾,造成資料庫狀態的不一致。在多使用者環境中,資...