出版時間:2009-9 出版社:中國電力出版社 作者:Sasba Pacbev 頁數(shù):256 譯者:李芳,于紅蕓,邵健
Tag標簽:無
前言
2003年的夏天,在MySQL的郵件列表上有人提議寫一本有關(guān)MySQL內(nèi)核組件的書。當讀到這封郵件的時候,我意識到自己具備寫這樣一本書的背景。但當時我剛剛寫完我的第一本書,還沒有再寫一本的打算。我試著說服自己不要承擔這個責任,并對自己說,誰也不會出版一本技術(shù)性、專業(yè)性這么強的書,因為僅僅有一位讀者顯然是不夠的。后來,我想起O'Reilly公司出版的《深入理解Linux內(nèi)核》和《Linux設備驅(qū)動程序》(這兩本書的中文版均已由中國電力出版社出版),這讓我失去了借口。我意識到一扇門已經(jīng)打開,我就站在門口,而我的惰性卻正在壞事。我想起《摩門經(jīng)》中的一句話:“自然人是上帝的敵人”。品味著話中的含義,如果一個人茍且偷安,為了片刻的歡愉而安穩(wěn)地待在自己與生俱來的“自在區(qū)”里,那他是成不了什么氣候的。當這個人迫使自己離開“自在區(qū)”去做一件困難重重卻深以為是的事情的時候,好事就會來臨。我給O'Reilly公司寫了一封郵件,提出了出版計劃。有意思的是,我的編輯恰好就是參與出版《深入理解Linux內(nèi)核》和《Linux設備驅(qū)動程序》的Andy 0ram。他和我一起為本書的出版而努力,我對他的幫助深表感激。我覺得他的長處很好地彌補了我的短處。本書挑戰(zhàn)頗多。本書介紹關(guān)于應用程序的核心技術(shù),意味著要以開發(fā)人員而不是以用戶或管理員的身份研究應用程序,這要求作者對應用程序有更深層次的了解。雖然我在MySQL源代碼方面涉獵甚廣,但仍然要做大量研究工作去理解那些駭人聽聞的算法細節(jié)、函數(shù)和類的目的、某些決策的原因以及與本書有關(guān)的其他事項。此外,在我寫作本書的同時,MySQL開發(fā)人員正在編寫新代碼,要跟上進度可不容易。而且寫作本書時我還得做其他工作,以便養(yǎng)活我日益壯大的家庭。所幸,那項工作中有一大部分內(nèi)容與MySQL核心技術(shù)有關(guān),這才讓我在這場游戲中立于不敗之地。
內(nèi)容概要
從公共可用性的意義上講,MySQL源代碼是開放源代碼,但如果對其不了解,則實質(zhì)上,它對于您來說是封閉的。MysQL開發(fā)團隊的前成員Sasha Pachev通過本書給出了MySQL 5的全面指南,揭示了這一強大數(shù)據(jù)庫的內(nèi)部運作。您將直奔MySQL核心技術(shù),了解各種數(shù)據(jù)結(jié)構(gòu)和各種方便的功能的運作情況,了解如何添加新的存儲引擎和配置選項等。 本書從結(jié)構(gòu)概況講起,在這一部分解釋了MysQL的不同組件是如何協(xié)同工作的。接著將學習設置有效的可編譯代碼副本的步驟,然后使用基本架構(gòu)添加自己的配置變量和存儲引擎。
作者簡介
Sasha Pachev在2000年到2002年期間是MySQL開發(fā)團隊成員之一,是MySQL復制結(jié)構(gòu)的最初開發(fā)者,《MySQL企業(yè)解決方案》一書的作者,現(xiàn)居住在美國猶他州普羅沃(Provo),職業(yè)是獨立顧問,專攻MySQL。Sasha還一位專注的長跑運動員,是Fast Running Blog.com的撰稿人。
書籍目錄
前言第1章 MySQL的歷史與架構(gòu) MySQL的歷史 MySQL的架構(gòu)第2章 MySQL源代碼基本要點 Unix Shell BitKeeper 準備系統(tǒng):從BitKeeper樹構(gòu)建MySQL 從BitKeeper樹構(gòu)建MySQL 從源代碼分發(fā)版本構(gòu)建 將MysQL安裝到系統(tǒng)目錄 源代碼目錄布局 準備系統(tǒng):在調(diào)試程序中運行MysQL 以調(diào)試程序為向?qū)剿髟创a gdb使用基本要點 在源代碼中查找信息 值得關(guān)注的斷點和變量 修改源代碼 編碼指南 不斷更新BitKeeper知識庫 提交補丁第3章 核心類、結(jié)構(gòu)、變量及API THD NET TABLE Field 實用程序API調(diào)用 處理器宏 全局變量第4章 客戶端/服務器通信 協(xié)議概述 包格式 MysQL協(xié)議與0S層之間的關(guān)系 驗證握手 命令包 服務器響應第5章 配置變量 配置變量教程 特定配置變量的各有關(guān)方面第6章 基于線程的請求處理 線程與進程 請求處理的實現(xiàn) 線程編程問題第7章 存儲引擎接口 Handler類 向MysQL添加定制存儲引擎第8章 并發(fā)訪問與鎖定 表鎖管理器第9章 解析器和優(yōu)化器 解析器 優(yōu)化器第10章 存儲引擎 架構(gòu)的相同之處 InnoDB Memory(Heap) MyISAM Merge NDB Archive Federated第11章 事務 事務存儲引擎實現(xiàn)概述 實現(xiàn)處理器子類 定義handlerton 使用查詢高速緩存 使用復制二進制日志 避免死鎖第12章 復制 概述 基于語句的復制與基于行的復制 雙線程從服務器 多主服務器 有助于理解復制的SQL命令 二進制日志格式 創(chuàng)建自定義復制實用程序
章節(jié)摘錄
插圖:第1章 MySQL的歷史與架構(gòu)走進MySQL的歷史,才能透徹了解MySQL的架構(gòu)。因此,這兩部分將放在同一章中介紹。MySQL的歷史MySQL的歷史可以追溯到1979年,當時Monty Widenius在一家名叫TcX的小公司中工作,他創(chuàng)建了一種用BASIC語言編寫的報告工具,該工具在一臺裝有16KBRAM的4MHz計算機上運行。隨著時間的推移,該工具被重新用C語言編寫,并移植到unix系統(tǒng)上運行——這時它仍然是一種具有報告前端的低層次存儲引擎。這種工具就是眾所周知的Unireg。在計算資源極為匱乏的條件下,也許是靠自己的天賦吧,Monty形成了一種習慣,同時也是一種能力——自然而然地就能編寫效率極高的代碼。同時他還形成了一種異乎尋常的敏銳目光,也可能是與生俱來的吧,即能夠預見到需要如何處理代碼才能讓代碼在未來的發(fā)展中發(fā)揮作用,但他事先對于未來的發(fā)展狀況卻并不很了解。此外,因為TcX是一家非常小的公司,Monty是股東之一,所以他對自己的代碼很有發(fā)言權(quán)。盡管可能有許多程序員都像Monty一樣才華橫溢,但幾乎沒有人會與自己的代碼廝守20多年。Monty卻做到了。Monty的努力、才華和對代碼的所有權(quán)正是MySQL奇跡般得以建立的基礎(chǔ)。
編輯推薦
《深入理解MySQL核心技術(shù)》是由中國電力出版社出版的。《深入理解MySQL核心技術(shù)》其他章節(jié)包括:·核心服務器類、結(jié)構(gòu)和API·客戶端和服務器之間的通信協(xié)議·配置變量,包括添加自己的配置變量的教程和代碼 ·基于線程的請求處理以及如何在MySQLqh使用線程·MySQL存儲引擎總覽·集成第三方存儲引擎的存儲引擎接口·表鎖管理器·執(zhí)行SQL命令的分析器和優(yōu)化器·將事務存儲引擎整合至IJMySQL中·復制內(nèi)核通過對源代碼中那些未作文檔說明的關(guān)鍵數(shù)據(jù)結(jié)構(gòu)和方法進行描述,《深入理解MySQL核心技術(shù)》為您提供了很好的機會,幫助您了解這個廣經(jīng)企業(yè)考驗的數(shù)據(jù)庫的內(nèi)部運作。不論您是開發(fā)人員、數(shù)據(jù)庫管理員、程序員、軟件供應商還是學生,《深入理解MySQL核心技術(shù)》將指導您探索和改進大型數(shù)據(jù)庫。Sasha Pachev在2000年到2002年期間是MySQL開發(fā)團隊成員之一,是MySQL復制結(jié)構(gòu)的最初開發(fā)者,《MySQL企業(yè)解決方案》一書的作者,現(xiàn)居住在美國猶他州普羅沃(Provo),職業(yè)是獨立顧問,專攻MySQL。Sasha還是一位專注的長跑運動員,是FastRunningBlog.com的撰稿人。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載