ITPUB名人堂第25期:oracle技術分享達人李丙洋(ID: junsansi)帶你塗抹Oracle

leonarding發表於2012-08-04

本期我們邀請採訪的是oracle技術分享達人李丙洋,ITPUB資料庫開發版版主,IDjunsansi,現任職於互動百科公司系統架構師,負責系統後端設計與最佳化。曾長期從事ORACLE/MySQL資料庫系統架構設計及運維支援,實踐經驗豐富;對於系統架構設計及高可用環境規劃有深入理解,熟悉SQL開發和調優,專注於資料庫特性的有效運用,著有《塗抹ORACLE》一書。相信透過這次對三思同學的採訪,可以幫助大家瞭解三思同學,同時幫助大家瞭解資料庫方面的一些問題。

arron劉:

社群的會員一聽說要採訪您,反映很是強烈啊。您的三思筆記在我們社群的的貢獻大家也是有目共睹的,您能不能簡單的給我們介紹一下您的工作經歷?

Junsansi

首先要感謝大家對我的長期關注和支援,我很是惶恐。我在一些場合表達過這類觀點,做為一個純正屌絲,沒有官//紅二//四代的顯赫出身或鼎盛家業,一切都要靠自己努力爭取。從業這麼多年來,因為持續不斷地寫了很多文章,也出版過一本個人專著,同時也在積極參與社群技術話題,積累下一些人氣,收到過很多好心人的鼓勵,和一些善意的褒獎,其實我自己知道,我的經驗並不豐富,我的水平也並不能稱得上頂級,人生苦短,時間緊迫,我還需要繼續加緊學習。

 

前些年我在ORACLE方向投入了大量精力,但熟悉我的朋友們都知道,這幾年我的涉獵範圍已經大大擴寬,DB層的ORACLE/MySQL/TC+TT/MEMCACHED/REDIS/MONGODBWebServer層的APACHE/RESIN/TOMCAT/NGINX,應用層的LVS/HAPROXY都在應用,身處發展迅猛的網際網路企業,各項新的技術都會有機會接觸,對於快取化/虛擬化/分散式/高可用/負載均衡這樣的整體規劃也在參與實施和推進。

 

在專業DBA看來,我這肯定是不務正業了,不過萬幸我這幾年"折騰"沒有白費氣力,終歸有所收穫,最直觀的感覺就是眼界大開,在具體處理問題時的思路也不同了,目前DB層在我看來,只是實現業務的一個緯度。這種思維的轉變帶來的最大收穫,從執行的角度來看,就是實施方法上更加靈活,執行手段上更加豐富,就像經驗豐富且又技藝精湛的資料庫工程師,不會只把建立索引,或者調整系統引數做為最佳化的手段一樣。手段越多,執行時往往就感覺更加得心就手。呵呵,不過要說負面影響的話,就是對ORACLE資料庫的技能掌握有明顯退化,以我目前的功力,更加稱不上是名ORACLE頂尖高手了。

 

arron劉:

有的網友提問:從oracle轉到mysqloracle中的慢查詢sql如何分析如何得出呢?sql中有slow日誌。oracle中有沒有呢?怎麼得到啊?

Junsansi

每一種軟體都有它的特點和優勢,不要試圖去尋找兩款功能上幾乎一模一樣的軟體,那其中一款不就註定沒有意義了嗎。諸如ORACLE/MYSQL這類久經市場考驗的產品,其開發/設計人員都不是傻子,而且就我看來,他們的智商應該要比DBA從業人員的平均智商還高才對,那麼它們的產品設計出某種功能或特性,一定有其邏輯。

 

具體到OralceMySQL兩款資料庫產品,MySQL擁有slowlogOracle也一定要擁有嗎,沒有slowlogOracle就比MySQL要差嗎,當然不是這樣的。MySQL中的所謂slowlog,是指執行時間超過指定閥值的SQL語句,這種語句在MySQL中稱之為"",那麼我明確的回答這個問題,到Oracle中一定找不到這個對應的功能,為什麼會這樣設計,我按照我的理解來揣測,不一定對(也可能是:一定不對),您就姑且一聽吧。

 

ORACLE資料庫是設計用來承擔海量資料處理的,從資料量對比來看,管理TB級資料(不僅僅是儲存,而是使用)對於ORACLE資料庫,是件很普遍的事件,但是對於MySQL來說,儲存TB級資料,沒有問題,你讓它管理?目前來看,哪款儲存引擎能夠承擔此項重任呢?從這點就可以看出,兩者沒在一個數量級,那麼MySQL中的所謂"",拿到Oracle中能叫""嗎,沒有辦法這麼對比是吧。你說我查詢一個T的數量,執行多少秒有返回才算是慢?這個定義本身就不嚴謹,所以ORACLE資料庫是將所有執行的語句都視為"正常"執行,但是它會收集語句執行的開銷,提供了特性生成相應的報表(專用特性如AWR/STATSPACK,熟悉ORACLE的話直接查詢若干v$views亦可),將選擇權交給使用者,由使用者來判斷哪些語句不對。

 

arron劉:

如何看到oraclemysql在移動網際網路裡面的應用呢?

Junsansi

ORACLE資料庫的強大功能和效能是任誰也不能否認的,但是相對開源產品,ORACLE資料庫自身的高昂售價和環境部署、維護成本之高昂也是任誰也不能否認的。MySQL這類開源軟體在成本上就比較佔優了,維護也很簡單,當然它這個簡單因為它自身幾乎沒有什麼特性,所以MySQL DBA不能像Oracle那樣分成開發或管理也在於此。

 

按理說成本這一項就足以秒殺移動網際網路裡的各路新興企業了,不要說移動網際網路領域,就是目前已發展壯大的網際網路領域的巨頭,有幾個接受的了這個成本,前陣子阿里系統轟轟烈烈的去OIE其實也說明一些問題了。

 

更何況,傳統的RDBMS應對網際網路及移動網際網路中,新態勢下的新業務需求並不擅長,這個不要說MySQLORACLE也搞不定,這一點與前面的問題有所關聯。每一款產品都有它的特點,和它的最佳適用場景,對於使用者,或者說一線的開發/設計/維護人員來說,首先要做的是將其用在最佳應用場景,其次才是最大化挖掘其能力。

 

arron劉:

現在學習oracle資料庫的新手很多,在和他們交流中發現有很多初學者朋友在學習方法上有很多困惑。例如:怎麼學好sql啊,從何學起呢,應該看哪些書啊等問題。您在這裡給我們介紹一下,談談您學習oracle的一些體會,和看法。

Junsansi

我將之分為兩類,第一類是真心希望從事DBA這個職業,願意投入大量時間/精力/金錢去學習,只是由於之前未曾接觸,不知從何入手,對於這些朋友,其實已經有很多大師寫過文章專門闡述,都寫的很好,ORACLE管理版也有若干的帖子討論,其中一些已被加為精華,大家可以參考。我之前也寫過一篇文章:我想對初學ORACLE的朋友說,附連結如下:

http://www.itpub.net/forum.php?mod=viewthread&tid=976678

希望能對這部分朋友有所借鑑。

 

第二類是眼瞅DBA行情火熱,懵懂闖入,只想收穫,不願投入過多精力,恨不能網上找幾篇文章,搜到幾個tips就趕緊掙那二三十萬去。說白了他們屬於過客,對於這些朋友,我感覺沒有辦法,過個三年五年來看,他們還在問如何學好,從何學習~~~

 

arron劉:

您的《塗抹Oracle—三思筆記之一步一步學Oracle》在我們社群可以有很多的粉絲,能問問您當時是什麼想法促使您寫書的呢?同時社群的一些會員還想知道能不能寫一本關於ORACLE RAC的書本呢?

Junsansi

我之前寫過很多個人的學習筆記,因為記錄的時候比較完整,成系列,加上我確實喜歡ORACLE DBA這個行業,寫的時候飽含著深情,相對其他人的文章閱讀時體驗更加流暢,所以這些筆記就得以在圈子裡也被廣為流傳,那麼之後就是由水利水電出版社的周春元老師促成,寫作了《塗抹Oracle—三思筆記之一步一步學Oracle》一書,書中即彙集有之前的一小部分筆記,也新補充了很多內容,寫作的時候以資料操作為主線,以實際工作需要為綱目,注意實戰,希望能夠降低初學者快速上手ORACLE資料庫的門檻。出版之後,反饋很不錯,我感覺也很欣慰,這還是要感謝大家的支援。

 

我知道有些人在倡導一線的工程師多做經驗分享,以此緣由為寫作目地,不過我的出發點其實跟他們是不同的。我的想法,是要給自己一個交待。

資訊科技發展的這樣快,不像過去,等到作者身化黃土,留下的東西還在傳承,實際上你扭頭回望五年前/十年前所謂的新潮技術,今天看都已經普及甚至過時的都毫不稀罕。

因此我就在想,我這些年積累下的東西不要說被淘汰,幾個月不用我自己都可能會忘記,因此閒暇的時候把它記錄下來,有機會的話出版成冊,這是給我自己的交待。我幾乎跟每一個跟我聊過此話題的朋友都建議過,有空閒的話就寫些東西吧,不為別人,是為自己。

 

我後面會先著力寫MySQL和系統架構設計方面的書(2-3)Oracle方面會不會再出新的著作,應該會的,不過今年內肯定是看不到的。這兩年深刻感受到了時間的寶貴,看到很多有價值的事情可以做,但是沒有充足的時間去實現,希望大家也能珍惜時間,尊重自己。

 

arron劉:

我們知道Oracle目前市場上執行的版本很多,您能不能給我們簡單的分析一下各個版本之間的異同?未來絕大數的運用都會轉移到雲平臺上,您認為Oracle以後的市場定位是怎麼樣的?

Junsansi

目前市場上執行的版本很多嗎?我接觸的平臺有限,對此是沒有發言權的,就我的經歷所接觸的環境來看,目前10gR2是主流,9i只有零星數臺了,11g當然也有,不過也在零星狀態。ORACLE的版本提升對功能/效能當然都會有進步,可是現狀是,新的東西再好,只要目前能夠滿足需要,因為一般運維線的兄弟下意識都是求穩定,一般情況下也不會去動它,所以一套DB環境上線之後,只要不遇重大情況,是能夠支撐很長時間的,在此期間ORACLE出個版本升級並不稀奇,但是那也不會有什麼影響。不過對於DBA崗的從業人員,實時關注新版本新特性新技術新趨勢還是很有必要的,要跟上潮流,做好儲備嘛。

 

至於ORACLE未來的市場,太長遠的我看不清,做個斷言吧,五年以內這個行業沒有問題。但是,現在才加入這個行當的從業人員,與最早投入這個行業的那些先行前輩們相比,他們目前取得的聲譽/地位/收入,後進者應該無法企及了。一家之言,僅供參考。

arron劉:

謝謝三思同學百忙之中抽出功夫給我們帶來這麼精彩的採訪,同時我也期待著三思同學的新書,相信一定可以給我們帶來驚喜。

嘉賓介紹:

2012-7-31 16:18 上傳

下載附件 (11.76 KB)

李丙洋 ID:junsansi

ITPUB資料庫開發版版主,IDjunsansi,現任職於互動百科公司系統架構師,負責系統後端設計與最佳化。曾長期從事ORACLE/MySQL資料庫系統架構設計及運維支援,實踐經驗豐富;對於系統架構設計及高可用環境規劃有深入理解,熟悉SQL開發和調優,專注於資料庫特性的有效運用,著有《塗抹ORACLE》一書。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26686207/viewspace-739812/,如需轉載,請註明出處,否則將追究法律責任。

相關文章