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