- Oracle DBA手記 3:數據庫性能優化與內部原理解析
- 蓋國強 楊廷琨主編
- 2539字
- 2019-01-01 13:23:04
春風化雨 潤物無聲
——《Oracle DBA手記3》編輯始末
在這樣一個春暖花香的季節,我完成了本書的編輯工作,希望這本書到達讀者手中時,仍有著這個春天的氣息。
本書是《Oracle DBA手記》系列的第三本,也是我的夢想的延續。源于最初的一個念頭,結果就是數載的不停不懈,我常常鼓勵自己:堅持一下,再堅持一下。也正因為如此,我才能夠一步一步地走到今天,也就有了DBA手記之三。
這本書中收錄了我的一篇文章,其中講述了在2010年遇到的一個案例,那是我職業生涯中遇到的最為復雜的一個項目,在診斷過程中,我幾乎調動了自己所知的所有知識,并進一步地靈活運用,最終幫助客戶解決了糾纏多年的性能問題。記得最初在微博上說,這個案例就足夠寫一本書了,當時周老師緊跟著說,那就交給我出版吧。時過境遷,周老師已經離開博文視點,去開創自己的出版事業,而我在接二連三的項目中,也失去了最初奮筆疾書的熱情,所以就零星寫成了這篇短文,將這個案例中學到的一些知識與大家分享出來,只是沒有更進一步去細化當時的曲折和細節了。生活和技術都是一樣的,想到了就要做,否則就可能由當初的熊熊烈火蛻化成星星之火以致泯滅,我在此充當了一次反面教材。我要感謝在這個項目中一起奮斗的朋友們,在一次次猜測、實驗和質疑中,我們最終發現了真相。我很懷念那段時光和殫精竭慮的過程。
我要特別感謝馮春培同學,據我所知,當下要他落筆已經是難上加難,再加上其掌上明珠呱呱墜地,期間的欣喜和忙碌足以讓他放棄其他一切瑣事,而當我相約其稿時,他匯集和整理了自己多年的心路歷程,冠以“人生就是如此”的座右之銘,告誡我們,人生遠遠不止如此。回想當年共處于同一屋檐之下,而今各已兒女繞膝,白駒過隙,滄海桑田,還真是不過如此。
崔華和熊軍兄弟兩人,雖然與我相識于江湖,但是我們一見如故,其各懷一身絕藝,于數據恢復領域叱咤南北,聯手開拓了一片恢復沃土;老熊的ODU曾經幫助了大量網友無償地恢復數據挽救業務;崔華不斷的技術探秘,使得Oracle的種種恢復難題迎刃而解。而他們多年對我的無私支持、勤于分享也為廣大技術愛好者帶來了福音。今年崔華和熊軍雙雙通過了Oracle ACE的提名,這實在是實至而名歸的又一體現。
姜龍與我結識于上海,其接觸Oracle之早,出入網路之先,皆讓我贊嘆,十數年而磨一劍,其精心總結之案例分享皆為我們提供了借鑒與嶄新思路。我常說,將合適的技術應用于合適之處,即為優化。姜龍的幾個案例,或借助物化視圖,或借助TimesTen,或巧用同義詞,皆能于平常處見神奇,大幅度優化了系統性能。他所管理的數據庫極多也極重要,這些精心調整優化實際上是“字斟句酌”、履險如夷,我記得他的一個系統甚至到了加一發而弗可之地步,所以這樣的優化更需要勇氣和細致,而這正是一位卓越DBA的品質要求。
黃瑋似乎是一位獨行之俠,居于東南之地,自樹一幟,而與外界絕少往來,然每發一文必如春筍發于微,驚雷動于世。其于Oracle內部原理研究之深入、剖析之透徹無不讓人拍案叫絕,然黃瑋之淡泊與隱忍視一切喧囂如無物,他很少出入論壇,也極少發布技術之外的言論和探討,他只是按照自己的步調時不時放出一些讓識貨者視為珍寶的文章。感謝他的慷慨付我以妙文,才有了這本書中他精彩的分享。
葉正盛是一位經驗和履歷都極為豐富的數據庫架構師,于阿里的思考更讓他時常有美文發布,結識他是因為在CSDN上的一篇文章,雖然以程序員角度出發,但是其思考之深入,涉及之廣泛,配圖之精妙,皆讓我感嘆,其角度雖曰程序員,然對所有數據庫管理員和性能愛好者,皆能有如悟恍然之處;在繁華浮躁的時代,凡能靜心著文者必有別樣之情懷。正盛以新華字典配圖,瞬間將我打動,兒時燈下伏筆、按圖索驥之情景歷歷回在眼前,我在微博上私信約稿,正盛校訂其稿,完而善之,才有書中之別樣光彩。
楊廷琨在《Oracle DBA手記:數據庫診斷案例與性能優化實踐》(這是本系列圖書的第一本)出版之際還只是我的摯友和伙伴,而現在已經是我們的同事和強勁后備。老楊是ITPUB上的“百科全書”,其知識范圍之廣,涉獵之深之遠,一時無人能出其右。老楊之高產、勤奮也讓人自愧不如,要讓他從一年數百篇文章中精而選之,實非易事,但是在我再三請求之下,老楊勉為其難,匯珍珠成項串,總結手記若干,實為本書點題之作。
正因為有這么多朋友和專家的無私奉獻,熱心分享,才有了DBA手記之一而再,再而三。雖然本書收錄的部分文章在網絡上可見,雖然已經到了電子書橫行的時代,但是我仍然喜歡紙面閱讀,一本可以拿在手里的書給我的閱讀愉悅是無可替代的。在《Oracle DBA手記2》出版的一年多來,我經常在出門時放一本在背包里,其中的很多文章我已經反反復復閱讀了很多次,有時候我想,我才是這本書的最大受教者。
我希望讀者們也能喜歡并從中受益,感謝你們!
根據本書的內容,我將全書分為四篇。
第一篇DBA之路
這一篇包括一章內容,由馮春培撰寫。馮春培是業內著名專家,其技術與行業思考一直為業內所關注,本章就是他對多年的職業經歷與行業觀察的總結,真知灼見躍然紙上。
第二篇DBA手記
這一篇包括四章內容,以手記形式記錄了DBA們的工作點滴、經驗分享。本篇的四章內容分別由楊廷琨、姜龍、葉正盛、熊軍撰寫,楊廷琨的手記側重于診斷分析,姜龍的手記側重于以不同技術手段優化數據庫,葉正盛的文章則是以程序員的角度闡析數據庫內容,熊軍的文章介紹了Linux下使用大內存頁優化Oracle數據庫的實現和原理。
第三篇SQL與SQL優化
這一篇包括三章內容,分別講解SQL的執行計劃解讀、SQL Profile的使用,以及Oracle中的NULL值解析。本篇的三章分別由崔華、熊軍、楊廷琨撰寫。
第四篇 內部原理與優化
這一篇包括五章內容,分別介紹了Oracle的索引分裂、TX鎖等待、閂鎖原理、邏輯讀寫、隱含參數與Latch原理等的內部操作。這一篇章的內容較為深入,分別由黃瑋、蓋國強、熊軍撰寫,供喜歡探究內部原理的讀者參考。
基于技術分享的目的,我和張樂奕(Kamus)在2010年創建了Oracle用戶組(ACOUG—http://www.acoug.org),并且每個月在北京開展一次面對面的技術交流活動,這些活動讓我們結識了更多志同道合的朋友和優秀的技術作者,感謝Kamus這一年多來的努力付出。
感謝為本書供稿的朋友們,也感謝恩墨科技的仇實、譚龍、蓋國相等幾位同學,他們在書稿整理、排版等方面對我提供了大量幫助。由于編者能力有限,書中難免存在不足和疏漏之處,敬請讀者朋友們指正。
網絡以及通過網絡來到現實的朋友,永遠是我無比珍視的巨大財富。
蓋國強(Eygle)
2011-04-26于北京
- 同步:秩序如何從混沌中涌現
- 計算機綜合設計實驗指導
- Live Longer with AI
- Hadoop大數據實戰權威指南(第2版)
- Creating Dynamic UIs with Android Fragments(Second Edition)
- Microsoft Power BI數據可視化與數據分析
- AI時代的數據價值創造:從數據底座到大模型應用落地
- 大數據與機器學習:實踐方法與行業案例
- 數據分析思維:產品經理的成長筆記
- 數據之美:一本書學會可視化設計
- Delphi High Performance
- 數據分析方法及應用:基于SPSS和EXCEL環境
- R數據挖掘實戰
- Access 2013 數據庫管理與應用從新手到高手
- 敏捷數據分析工具箱:深入解析ADW+OAC