阿里巴巴離職DBA 35歲總結的職業生涯

http://news.cnblogs.com/n/139177/node

導讀:mysql

  去年不少朋友私下或新浪微博上在總結本身的職業生涯與職業規劃,也感受到很糾結與彷徨,尤爲技術人的職業生涯,隨年齡增長,一些優點逐漸喪失。4月 13 日數據庫技術大會的主辦方舉行的晚宴上,也讓本人支持一個你們感興趣又貼合實際的話,話題是:三十歲後的 IT 人如何抉擇人生路,遺憾的是預訂酒店飯桌是幾個房間打通的,而不是一個大廳方式(總共:8桌),你們沒法圍繞在一塊兒,爲此只是小範圍討論了下,今天看到曾經阿里巴巴數據庫團隊的海波兄弟總結分享,很是有意義,轉載給你們共同欣賞!程序員

  十五年前,你或許還不懂愛情,看 Jack 和 Rose 執手相看淚眼,只是蒙朧的心痛。十五年後,你會和誰一塊兒走進影院,更會和誰一塊兒,走到生命終點。面試

  十五年前,我還不太懂技術,憑興趣玩着C語言。十五年後,當鐵達尼的旋律再次響起,我會選擇和哪門技術,一塊兒走到我職業生涯的終點。sql

  序言數據庫

  —- 回望雨中的園區,更是回望來時的路。安全

  此時天空飄着小雨,正如絲絲織雨細如愁。我剛剛離職,一路走出園區,回望了一眼雨中阿里巴巴的大樓,思緒隨着微風,四處飄散。忽然想起幾年前我剛到杭州哪天,也是細雨微風。我走進城西的創業大廈,終於見識了大師 Biti 的風采,也今後開始個人阿里巴巴之旅。網絡

  杭州的特色,是隱匿在山青水秀之間,有不少雅至的主題飯店,團隊第一次出外聚餐,就是在山間繞來繞去,最後到了一處青山環繞、綠水長流之處。Biti 在會議上就「什麼是架構」進行了精彩的評論,高度已經超越普通技術人員,至今我仍記憶猶新。但不久以後,Biti 調至支付寶,真是遺憾。而這讓我面臨了空前巨大的壓力,由於 Biti 一走,我變成了團隊級別最高的 DBA。初來乍到,入職剛滿一月,突然成爲阿里系一個子公司的「首席 DBA」,驚喜之餘,感受壓力之大、經常令我透不過氣來。不過還好,時間總一晃而過,此時此刻,剛剛走出阿里,掏出手機,拍了一張照片,算做我在阿里的留念,更是我人生一段最重要經歷的留念。數據結構

  回望雨中的園區,更是回望來時之路。…………架構

  來時之路:硅谷,IT 傳奇的開始。

  —- 人能夠依靠夢想活一段時間,但不會一直下去。

  「坐落在縱橫交錯的高速公路之間的,是巨型的商業園區和簡陋的三臥兩浴的平房住宅,其間最高的建築是變電站的鐵塔和架着電話線的水泥杆子。真正的工做是員工們在簡陋的、用屏風隔開的小辦公室裏,眼睛盯着電腦屏幕靜靜完成的。每一個人都試圖作一些前人沒有作過的東西。」

  這就是李彥宏在《硅谷商戰》中談到的硅谷的樣子。

  曾經有兩個在一家公司供職的工程師,去找硅谷著名的投資家史蒂夫·朱維森,這位資深風險投資家對他們提出網上數據庫系統並不感興趣,他問:「大家還有其餘主意嗎?」

  其中一個叫比爾·巴迪亞的工程師就說,他還想經過因特網來提供免費的電子郵件帳戶,從網上廣告位獲取收入。10天以後,朱維森連商業計劃都沒要便掏出 30 萬美圓幫助他們成立了 Hotmail 公司。Hotmail 後來以 10 億美圓的天價賣給了微軟公司。

  這在當時看來有些離譜,但這樣的故事處處流傳,充斥着各種勵志雜誌,也充滿着個人心。

  世界上賺錢的公司多的是,但沒有哪家公司的口號是改變世界。看看如今的 IT、互聯網公司,每一個公司的口號中幾乎都包含着改變世界的夢想。並且從微軟、蘋果這類老一代革命家,到 Google、Facebook 這類硅谷新星,也的確有不少家公司或多或少的改變了世界,或至少是深深影響了世界。

  IT,互聯網,這是一個傳奇的行業。當個人手撫過鍵盤,當眼光劃過滿屏本身寫的代碼,澎湃的激情,歷來都沒有息滅過。但不管多大的激情最終都會有息滅的時候。人能夠依靠夢想活一段時間,但不會一直下去。

  1996年,我職專畢業。職專,是差等生的代名詞。職專生的夢想,通常都是成爲某武俠小說的男主角,有一個酷酷的名字,有一堆驚豔的紅豔。我也不例外。但這一切,在 96 年的夏天到來時,忽然停止了。緣由我應聘到了一個很小規模的計算機培訓中心—「辰星計算培訓中心」。還有,我看了辰星書櫃中的電腦報合訂本。

  有一篇故事我仍然記得,《軟件輝煌》,其中詳細講述了蓋茨創辦微軟的經歷,還有 Word 的開發歷程……一羣大男孩,用電腦改變世界。美國,硅谷,IT 界,歷來都不缺這樣的故事。雖然這樣的故事歷來沒有在東方某個偉大的國家發生過。

  合上電腦報,一個想法出如今個人腦海中,哪就是我要作中國的比爾·蓋茨。年輕人總有夢想,不是嗎?

  一年後,1997年的夏天,四個辰星公司的「核心」員工,告別辰星,踏上創業之路。四人熟讀微軟、乃至硅谷的歷史,這些歷史讓他們熱心沸騰。

  40年前,晶體管之父肖克利博士的故鄉,美國西海岸的聖克拉拉,八名懷着夢想的年輕人離開肖克利半導體實驗室,創辦了可謂硅谷搖籃的仙童半導體公司。這就是著名的八叛逆。而咱們,則自許「四叛逆」。

  咱們在和辰星僅一牆之隔的地方,買了二十臺電腦,投資達十萬,創辦了紅星計算培訓中心。哪一年,咱們十八歲。

  光輝歲月

—- 青春老是這樣苦澀,但在長長生命之中,裝在記憶這個罈子裏,慢慢的發醇,最後卻能化爲無比的感純。這或許就是生命的魔力。

………………

夢想老是高不可攀

是否是應該放棄

花開花落又是一季

春天啊你在哪裏

青春如同奔流的江河

一去不回來不及作別

只剩下(平凡)的我沒有了當年的熱血

看那漫天飄零的花朵

在最美麗的時刻凋謝

………………

  紅星的創辦,讓咱們的年青歲月,都達到了頂峯,此後再無超越。咱們在同窗中間成爲傳奇,成爲創業的典泛。甚至有同窗的同窗,還幕名前來,向咱們請教人生。

  在紅星除了講課,咱們還爲一些傳銷公司開發覈算、財務軟件。我還用C和彙編,寫各類有趣的程序。我用匯編寫過一個 DOS 下內存駐留的程序,寫完頗有成就感,自信潢潢。但轉念一想,要學的東西如此之多,不知何年何月才能學完,霎那間又充滿急燥。

  那段青春歲月真是難以形容。快樂與淚水,自信與自悲,堅持與彷徨,……,各類各樣的感情交織着,匆匆的,過去了,再也不來。

  寒來暑去,花兒謝了又開、開了又謝,時間就如同夏日傍晚的涼風,輕輕的帶走了歲月,只給人留下,多樣的回憶,哪怕這回憶是如此的沈重。

  小學三年級時,仍是 1987 年,我在書店看到一本書,做者是諾查丹馬斯。書中詳細介紹了他的一系列預言,從獅心王理查的死期,到西特勒的出現。固然,最後是 1999 年人類大災難,恐怖大王從天而降。很不巧,當時哥哥剛剛帶我看完電影《超人》。超人故鄉星球毀滅的特效,雖然在如今看來雖然拙劣不堪,但當時強烈震憾了我幼小的心靈。現在再看諾查丹馬斯的預言,我幾乎已經看到了地球在強烈的地震、大火中,變爲一片廢墟。出了書店,我萬念具灰。我立刻找到個人一衆好朋友,將這個惡耗講給他們:「咱們只剩 12 年好活。」,未了,看着他們一個個臉如死灰,我卻忽然心情大好起來,悠載悠載的回家寫做業去也。有了這種經歷,使我徹底相信微博上的一句話:不要向任何人訴苦,由於 20% 的人不關心,剩下的 80% 聽到後很高興。這是題外話,咱們繼續。

  12年後,1999年到了,我卻再無所謂。或許你們一塊兒死了,比我迷茫的活着更好。曾經輝煌的紅星,只不過幾年,便已面目全非,曾經的朋友,分道揚鏢。在千禧年來臨的前夜,我和幾個一樣迷茫的年青人,喝着劣質的白酒,揮灑着青春,也揮灑着生命。

  青春老是這樣苦澀,但在長長生命之中,裝在記憶這個罈子裏,慢慢的發醇,最後卻能化爲無比的感純。這或許就是生命的魔力。

  我相信人生是一段段例行公事,一段忙完又一段,直到盡頭。在紅星的大門關上哪一刻,我告訴自已,一段生命結束了,要開始新的一段了。

  2000年春暖花開之際,我踏上新的征程。經過以往學員的關係,到了我市一家百年老字號—五福糕點,作學徒。強烈的急燥心理,令我急切的尋找一條能夠快速發家致富之路,我當時的選擇是:糕點師。但我並無忘記個人夢,個人蓋茨之夢,個人程序員之夢。2000年周星馳賀歲片《喜劇之王》上映,其中一句「我是一個演員」,深深打動了我。我想,或許有一天,別人吃着我作的極品慕絲,我卻告訴別人:」其實,我是一個程序員」。

  羅紅可又先作糕點,開好利來,賺了錢再當攝影師,我也能夠。成長就是這樣,個人目標,已經從創辦 Intel 的肖克利八判逆,或蓋茨等世界級大腕,變成了中國人羅紅。其實,極即是羅紅這樣的成就,也是高高在上的。所又,我成熟了,但還不夠成熟。我想成爲一個不普通的人,緣由就是我是一個太普通的人。

  幾個月後,我放棄糕點,拎起菜刀,成了一個飯店的幫廚學徒。

  幾個月後,我放下菜刀,在路邊擺攤買精品。

  幾個月後,我開了一家精品店。

  幾個月後,精品店倒閉,我賠光了全部錢。

  這就是成長的代價。路不去走,就不知道原來走不通,更不知道哪條路能夠走通。

  其實,在這一年左右的時間中,也不是沒有收穫。在飯店作幫廚學徒時,我認識一個廚師。當其餘廚師都是打檯球、或站在街邊對着過往的美女吹口哨時,他在練習刻花,或者學習。他說,他的目標是要上天津一所廚師大學。咱們一直保持着如有若無的聯繫,我要看看他的堅持是否會有結果。我想,他也這麼想的,他也想看看,個人堅持,會不會有結果。由於,不管在幹什麼,我也從沒有中斷學習。我不會吃口哨,檯球打的也很差,他在苦練刻花時,我一般會拿起嚴蔚敏《數據結構》、同濟大學版的《離散數學》等等。從 96 年到如今,從我看完比爾。蓋茨故事哪一刻起,不管的目標如何變化,我能夠自豪的說,個人 IT 夢,從沒有一天中止過。也從沒有在哪一個階段,中止過學習。

  還在五福糕點時,雖然這個決定有點晚了,但我仍是決定放下 DOS。開始看《Windows 程序設計》這本號稱 Windows 下的聖經。當我拿起菜刀時,同時,嚴蔚敏的數據結構,已經開始看第二遍了,這本書後來成爲我走北上、南下必帶的書。而在精品店時,對於始終不明所又的編譯原理,我也沒有放棄,買了本號稱龍書的,但我最終對編譯原理仍是不明因此……

  4年後,那名廚師告訴我,他並無去上廚師大學,他在北京的一家飯店,一個月已經拿到8、九千塊。6年後,他仍在北京,但薪水已經到達一萬五了。到我入職阿里巴巴高級數據庫專家時,他已經到了廣州,薪水和我在阿里不向上下。以後,咱們失去聯繫,再也不有彼此的消息。由於咱們在各自的身上,都已經找到結果。

  殘酷的青春

  —-  在某一階段,或許咱們在尋找的和拒絕的都是本身

  中國最神密的部門是有關部門,最危險的工種是臨時工。2001年的夏天,我來到鄭州,到了我向往以久的事業單位,省計算中心,惋惜從事最危險的職業:臨時工。

  從小,媽媽就教導我:「要好好學習,長大了進事業單位,有個鐵飯碗。」

  我問媽媽:「爲何只有事業單位纔有鐵飯碗,其餘的就沒有嗎?」

  「其餘單位會破產啊,效益很差會倒閉,發不下工資。」媽媽沒加思索的回答我。

  我又不理解了,「哪會爲何事業單位就不會效益很差呢?」

  「事業單位是國家嗎,國家能夠印錢啊。錢不夠了就印。因此事業單位永遠都不會缺錢。」媽媽回答我。

  我想起阿甘正傳中的一句話,Momma always had a way of explaining things so I could understand them. 媽媽老是有辦法讓我明白道理。

  媽媽的目標,就是讓我能進事業單位。如今,我終於進了,這多虧了一個親戚。但我只是個臨時工。個人工做是講課,還有爲其餘各個大小企、事業單位開發各類程序。我在計算中心一共待了 7 年,前 2 年,都是做爲程序員,後來才轉 DBA。那兩年,我也爲河南的很多企、事業單位開發了大大小小很多程序。如今想一想,還有些後怕。經常午夜夢迴,驚出一身冷汗。萬一哪天我當年寫的程序有問題,會不會被跨省追捕回去。或許我下半輩子最好待在,和中國沒有引渡協議的國家,才能真正安全。

  事業單位你們都互喊老師,在阿里的時候,你們都互喊同窗。因此後來到阿里後,感受年青了幾歲,哈哈。在事業單位,正式的愁天天無事可作,臨時的愁天天有太多事要作。經常一個上午跑兩個單位解決問題,下午又要回去參加會議、討論新軟件的架構。在快馬加鞭的忙碌中,我一直在考慮我未來的發展。誰都明白一個道理,若是想從一個行業中脫穎而出,只有兩種常見的可能:要麼技術牛X,要麼佔得先手。技術牛X這個,不容易作到,因此,對我來講,取得成功的最簡單方法只有一個,「取得先機」。

  咱們都明白一個很簡單的道理,當火焰燒起來的時候,你纔想到去加柴火,只能收穫一堆灰燼。因而,我開始以我本身的判斷,從衆多的技術種類中,找到一個還在發展中的技術。

  通過苦苦的尋覓,瞭解了衆多專家學者的一直見解,我選定了承載我但願的東西—-VRML。VRML 是 HTML 的 3D 版,當時一些專家預測,將來的網頁,都將是這個樣子的。

  想一想看,3D 的網頁,酷吧。打開網頁,首先看到一扇門,用鼠標點一下,門打開了,隨着鼠標的移動,你的虛擬形象走進房間,這是一個客廳,有三三兩兩的網友進進出出,你們互相在聊着天,還有幾個網友在角落中私聊,…………,怎麼樣,這樣的網頁夠酷吧。

  那是 01 年的仲夏,傍晚的涼風,讓經歷了一天酷暑的人,感到格外輕鬆。夕陽西下的天邊,還飄着幾朵雲彩,恰到好處的點綴着色彩絢麗的天空。我騎着自行車,輕鬆的穿行在大街小巷。個人心情格外的好,由於我剛買了一本書,是專門講 VRML 的。並且,我找遍了整個書店,只找到一本關於 VRML 的書。這更加證明了個人猜測,VRML 目前還比較小衆,是一門方興末艾的技術。只要抓住時機,在 VRML 全面代替 HTML 前,將 VRML 學的比較精通。等到 VRML 大行其道時,個人名字將隨着 VRML 一塊兒,響徹全國。哈哈哈哈,……,想到末來的美好前景,我幾乎忍不住要逛笑起來。但命運如同橫穿馬路的汽車,在你忘乎所以時,將你的夢想擊的粉碎。

  2004年,一晃三年過去了。HTML 勢頭不減,Flash 紅遍國內,之於個人將來但願:VRML,不提也罷。這從一個測面證實,不要相信所謂專家、學者的預測。絕大多數的預測,都是錯誤的。就像 IBM 創史人托馬斯·沃森曾經做出了:「全球只需 5 臺計算機」的預言同樣。專家對將來的預測,每每是不靠譜的。企業家公開發表的預測,每每更不靠譜,他們的預測是爲了對他們的產品和市場策略做宣傳。就如同早些年 Larry Ellison(拉里。埃裏森)將預言將來 PC 將再也不是主角,NC(網絡計算機)都是主流。惋惜早些年我不明白這些道理,浪費了幾年時間。

  若是能成功的搶佔「先手」,無疑會以最小的代價、得到最大的成功。可是,若是你自覺得是「先機」的東西沒有發展起來,一切都將是竹藍打水,一場空。

  搶得「先手」當然能夠使用本身更快的功成名就,但刻意的去搶,每每拔苗助長。成功搶得「先手」,這是上帝賜給你的禮物,可遇而不可求。這段經歷讓我明白,不要刻意追求快,欲速則不達,仍是一步一個腳印來得穩託。

  其實仔細想想,歷史上當然有比爾。蓋茨、喬布斯,有 Google、FaceBook,等等人或者公司,以創新、搶先贏的市場和尊敬。可是,成功的人必定都是少數,還有更多的人,一樣的才華橫溢、一樣的聰明無比,可是,他們的創新、他的「先機」,都失敗了。歷史不會記得他們,由於,歷史,是勝利者的豐碑。

  硅谷的風險投資商厲害吧,他們確定不會將錢隨便投給不靠譜的人、不靠譜的項目。可是,即便通過硅谷風投認定靠譜的事,成功率仍只能達到 20% 左右,80% 的失敗者沒有人會記得。

  幾年的堅持,幾年的努力,只不過去學了一個毫無用處的東西。其實從 03 年開始,我就想過要放棄,我可能壓錯了寶、選錯了方向。無數個夜晚在孤燈前學習,換來的只是毫無價值的技術!

  個人心裏,很不肯意認可這個實事。人有時候最難否認的,就是本身。一直堅持到 04 年,仍是一個仲夏的傍晚。依然是涼風習習,天空依然是絢麗多姿。我沿着金水河隨意的漫步,我想,是否是要放棄了。一根接一根的抽着煙,買了幾罐啤酒,一罐接一罐的喝着,夕陽將個人影子拖的老長老長。在某一階段,或許咱們在尋找的和拒絕的都是本身。你認爲它錯了,後來發現又對了,釋然以後,你擔然認可,本身執着了。錯和對重要嗎,關鍵是它過去了。

  是的,過去了。

  這以後不久,由於工做須要,我開始接觸一個新的東西,Form 和 Report,是一種不多人據說的,一種叫 Oracle 數據庫的開發語言。各類語言對我來講是得心應手,除了安裝配置,這兩種語言的開發,我很快就撐握了。個人歷史,也由於這兩個東西而轉折。

  燈塔:ITPUB

  0四、05年,我一直在作 Oracle 開發,主要使用的就是 Form、Report,固然,還有 OCI。在一些項目中使用 OCI,純粹是出於對C語言的偏心。其實大多數咱們的軟件,能夠所有使用 Form 和 Report。

  我從開發轉型爲 DBA,是一個很偶然的事件。04年末,在給海關作一個項目時,認識了一名搞網絡的技術人員,他剛剛考過 CCNP,正在向 CCIE 努力。當時,我從沒想過要考什麼認證,所以,也不瞭解這些認證。聽了 CCIE,也沒什麼概念。他跟我講,Oracle 有一個很牛的認證,OCM。考過了後能夠身價倍增。我回去在網上查了一下,說是當年亞州只有 4 名 COM 等等,總之就是很牛*。這個結果令我大吃一驚,我沒想到一個認證,能有如此難度與做用。今後,我開始了個人轉型之路。

  其實咱們單位從 02 年就開始使用 Oracle,幾年下來,也基於 Oracle 開發了很多項目。不少地方有時也要求咱們在項目交付的同時,提供容災、高可用方案。但這些是我不肖作的。曾經的我對 SA 和 DBA 是如此的不肖一顧,「只是搬搬機器、裝裝系統的民工」。個人夢想是創造,創造獨一無二的程序,得到鉅額風投,憑一已之力改變世界,我能,我能夠。當夢想的浮華散去,我發現,8年過去,我仍站在原地。

  我是從備份、恢復切入到 DBA 這個行業的。04年末,咱們爲海關作了一個項目。項目完成後,我爲他們搭建了 DataGuard,同時,寫了個腳本每週未備份 DataGuard。固然,在項目軟件中我也作了個按鈕,若是須要,他們能夠隨時點這個按鈕觸發對備庫的備份操做。軟件中還有個按鈕是將備庫直接激活的,激活以後,備庫要重搭,而且,若是 Redo 文件有問題的話,激活會丟失些數據,不過,這個項目的數據丟掉些他們能夠接受。整個這些東西,我作爲了高可用、容災的方案,濃重的寫進項目文檔。固然,免不了介紹的天花亂綴。哪一個時代,你們對 Oracle 都沒有什麼概念,你只要能把庫裝上,都會有人說你牛。客戶測試了備份、切換這些功能,再加上看了我天花亂綴的文檔,對於災備方案、高可用方案很是滿意。咱們領導後來得知這一狀況後,專門問我是否有意轉型作 DBA,我天然沒有問題。我已經厭倦了開發,或者說,厭倦了總是爲了別人的需求,開發程序。據說 DBA 還算輕閒,我計劃轉作 DBA,再利用剩餘時間開發本身的程序。但不能否認的是,Oracle 是有它獨特的 Mei 力的。隨着對 Oracle 學習的愈來愈深,我慢慢的發棄了個人開發夢。

  這一切的轉變,都是很天然的,天然到我往往想起,總以爲那是命中註定。

  數萬年間我和 Oracle 相遇了,沒有早一秒,也沒有晚一秒,哪也沒有別的話說,惟有說一句,原來你也在這裏。

  海關的項目以後,我開始考慮,如何讓用戶的數據在切換時也能夠保持不丟。最後考慮的結果很簡單,就是將 Redo 每組中設兩個成員,每一個成員都在不一樣的存儲上。但當時有記得有人說這樣作會對性能有影響,即便存放日誌的兩臺存儲如出一轍。但也有人說沒有影響。我在網上查了不少資料,你們的說法,莫衷一是。最後通過測試,結論很簡單,有影響,但影響不大。對於這個結論,我想大部分讀者也不會滿意。到底影響在什麼地方呢?

  每組中兩個成員,每一個成員在不一樣的存儲中,存儲性能是一致的。說這種狀況下寫 Redo 性能不會有影響的人,主要是認爲 LGWR 會同時寫兩臺存儲中的兩個 Redo 文件。以下圖所示:

  可是,咱們考慮一點,LGWR 進程只有一個,存儲有兩臺,向A存儲寫和向B存儲寫,必然是兩條語句,一個進程怎麼可能同時執行兩條語句呢。因此,上圖不對,應該以下圖所示纔是:

  LGWR 發送命令寫A存儲中的 RedoFile,沒必要等待寫完成(由於是異步 IO),LGWR 再發送命令寫B存儲中的 RedoFile。LGWR 只有一個進程,不可能同時發命令寫A存儲和B存儲中的兩個 Member,只能逐個來。但由於I/O是異步的,向B存儲中寫 Redo Member,沒必要等向A存儲中的寫操做結束,而是如圖中所示,有部分操做是平行的。

  從總的時間消耗上看,圖 1 中錯誤的理論,共耗時1.002 ms, 圖 2 中正確的理論,共耗時1.003 ms。固然,時間是我隨意加上去的,但對於現代的計算機系統,「發出一條命令」,「接收一個通知」,消耗 0.001 ms 應該是太高的估計了。 寫磁盤的 1 ms,應該是差很少了,大部分數據庫寫日誌的響應時間,應該都是幾 ms 左右的。

  經過上面兩個圖的分析,能夠得出結論,讓 LGWR 寫兩個存儲,對性能有影響,但影響不會太大。多了圖 2 中最後一階段的操做:「B存儲向 LGWR 發出寫完成通知」。

  有了這個結果,再後面的容災架構,若是客戶要求不丟數據,我都要求客戶準備兩套如出一轍的存儲,每一個日誌組的兩個 Member,分別放在不一樣的存儲中。後來 DBA 逐漸增多,客戶哪裏,會有本身的甲方 DBA,對於災備系統,當我提出要兩臺如出一轍的存儲時,一些客戶會有疑問。我會詳細解釋 LGWR 的原理,其實,向客戶解釋的過程,也是傳播本身思想的過程。向客戶解釋的原理越多,客戶對個人信任感也越強,後面的事情也越好辦。

  這些經歷,也直接促成了我後面的學習習慣—-重視原理。雖然原理這東西很虛無,但爲了更好的說服客戶、取得客戶的信任,有時我不得不向客戶解釋這些東西。

  說點題外話,總有人問研究內部有什麼用,我以爲最重要的做用就是,能夠更好的忽悠客戶。

  哈哈,這是玩笑話,有用沒用看本身愛好。有興趣就去研究,沒興趣就去作別的。這個問題沒必要糾結。

  若是真有興趣去研究了,也必定會有回報。若是沒去研究,也能夠當好一名普通的 DBA。

  言歸正傳,能爲客戶解釋這麼多東西,有一個網站功不可未,就是 ITPUB。我 05 年註冊了賬號,此後,只要有疑難問題,第一時間先上 PUB 上搜索。PUB 成爲了工做、學習必不可少的網站。可是,我不多在 PUB 上發表什麼,由於我本身的功力尚不足,怕寫出錯誤的東西,耽心影響你們。但看了哪麼多好帖,歷來沒有回過帖,如今想來,也讓我心中不安。因而從去年開始,我開始將這些年的積累逐步總結出來。我相信一個道理,有一個農場主,獲得了一種優良小麥種子,但他不懂得分享,只在自家的地裏種這上了這種優質小麥。收穫季節到來時,結果他的優質小麥表現並不如何的好。他很不理解,就去請教一位專家。專家瞭解了狀況好告訴他,只他本身種優質小麥,面積過小,旁邊別人普通小麥的花粉,會被傳播到他的優質小麥中,結果,影響了他的優質小麥的質量。第二年,這位農場主將本身的優質小麥種子分享給旁邊其餘的農場主。因爲有了足夠大面積優質小麥的花粉,到了收穫季節,你們都得到了大豐收。如今時間已經成熟,我會慢慢將一些心得分享出來,

  但願和你們一塊兒研究、一塊兒進步、一塊兒豐收。

  在乙方工做哪段時間,對於工做,我只有一點感觸。天天,我並非爲了單位而工做,我是爲了本身而工做。只有本身的技能得到提高,纔是關鍵。我會選擇個別庫作爲觀察對象,進行深刻、細緻的分析,以此來煅煉技能。但人的精力是有限的,再加上單位給的福利待遇也不高,因此大部分庫,只要客戶不找我,我也不去找他們。

  從 07 年開始,單位成立專門的數據庫運維團隊,決定讓我做爲團隊的 Leader。個人工做重點,從單純的技術,慢慢變成了開會,參加各類會議。有些人對此樂此不疲,但我很不習慣。你們把活推來推去,把功勞爭來爭去。不單要開會,還要培養新人。慢慢的,一些庫分給其餘人管理,使我能夠專心去「開會」。很長時間裏,我無意從事技術,腦子中之想着明天要參加已經開了好多天的某項目架構大會、要最終肯定下來的某事故改進會議、……

  我心目中的管理會議是這樣:

  實際上的會議是這樣:

  哈哈,我認可圖有點誇張。我實在不適合作扯皮這樣的事。或許隨着我年齡的進一步增加、技術實力的進一步增強。技術上已經沒什麼可學的了,活也幹不動了。天天開開會,扯扯皮,還有點意義。如今,這毫不是我想要的生活。古人都說,「學而優則仕」,我學尚未優呢,如何去入「仕」呢。

  07年我技術進步緩慢,若是一直這樣下去,我不知道,若是有一天單位辭掉我了,我該何去何從。沒有了技術優點,一個單位的中下層管理人員,你到 51JOB 上搜索一下,有招聘「技術團隊管理者」這樣崗位的嗎。並且,計算中心是事業單位,從 05 年開始,我就一直謀求能夠轉成正式的「在編制」人員。爲此,我、包括咱們全家人,使用了不少方法。可是,咱們的但願最後都落空了。

  其實,我原本也沒抱太大但願。

  08年初,爲了未來的發展,我決定辭職。這個決定或許已經有點晚了,可是,若是不立刻行動,未來只會更晚。

  在阿里巴巴碰見最好的 DBA 團隊

  我不喜歡飄泊的生活,也不喜歡新鮮的城市。只想在我家鄉哪座著名古都中,像被固化在虎珀中同樣去生活。但個人人生卻註定要去飄泊,並且,是在三十而立之年,纔剛剛開始。千萬不要刻意去選擇本身的生活,由於你只能猜到開頭,卻猜不到結果。

  個人第一站是北京,由於有朋友說能夠爲我介紹工做,但這份工做是 Oracle 講師。個人技術尚未達到必定水平,還須要提升。這時候去作講師,實在非我所願。個人心裏的理想目標,是去阿里系的公司:阿里巴巴、淘寶、支付寶。這些公司「大師」級的人物層出不窮,我想也應該是不少 DBA 的目標。但本身投簡歷過去,成功可能很小,我一貫不喜歡自已投簡歷過去。因此,在 09 年初,考完 OCM 以後,我就一直想作點東西出來。正好一個朋友找過來,因而咱們合做,很快就有了「Oracle 日誌挖掘研究版」這個程序。也很快的,阿里巴巴就給我打了電話。

  到阿里面試是很爽的,來回的機票、酒店所有都已經訂好,就好像到杭州來了個一日遊。我是中午到的創業大廈,先被 HR 領到一個大廳裏,作了一份筆試卷子,說是 60 分鐘,但其實沒有人在旁邊計時,晚一下子也無所謂。筆試題難度不高,和網上流傳的阿里巴巴筆試題差很少。作完筆試題,就是著名大師 Biti 的面試了。這是第一次見到 Biti,個子不高,但人很精神,說話極有條理。

  Biti 面試時的難度也不高,你們聊的很好,就像朋友閒聊同樣。因此,這趟杭州之行,讓我以爲很完美,即來杭州旅了一次遊,又和一些朋友聊了聊技術。

  原本我計劃當天晚上就回去,Biti 面試完,被告知阿里巴巴 B2B 的技術部老大 Andy 想見見我,若是我時間上沒有問題,HR 會退掉當天的訂好的機票再從新訂,當晚住宿的酒店也已經安排好了。

  當時非常受寵若驚,立刻告訴 HR 沒有問題。

  次日其實仍是有點緊張的,不知道 Andy 會問我什麼問題。見到 Andy 後才感受,Andy 人也很隨合。Andy 問了兩個問題給我留下很深的印象,一是創建一個數據庫層和應用層之間的統一中間層,對下能夠支持各類數據庫是否有必要。還有一個,是如何拆分一個大數據庫爲多個數據庫。

  第一個問題,個人回答的很中庸,一個能夠忽略下層數據庫是什麼的中間層,對性能會有影響,對開發效率、代碼重用率會有提高,搞一個是有必要的,對於特別要求效率地方,仍能夠使用老的方式,通常狀況下,使用中間層就能夠了。我估計這是 Andy 當時正在考慮的問題,但後來阿里巴巴並無大張旗鼓的搞這麼個東西,我想 Andy 最終仍是認爲搞這個東西意義不大。

  第二個問題,拆分數據庫的方法,我曾經主導過一個大庫的拆分,要求應用的每張表,都有主鍵。而後就像 HASH 分區同樣,以每一個表的主鍵爲準,將數據作個 HASH 運算,分佈到多個庫中,我直接把我作過這個項目詳細說了一下。也是後來我才知道,原來阿里巴巴這邊剛剛作過一個大表的拆分,拆分方法和我說的相似。

  上午的面試很快就過去了,我專門讓 HR 幫我訂晚點的機票,這樣,下午有時間去西湖遊覽一下。

  此次杭州之行,給個人感受是,杭州不錯,面試很愉快,但打車很難。下午在西湖邊打車,用了很久。後來才知道,在哪一個時間點打車,能打到已是運氣了。

  兩個月後,我告別待了 10 個月的北京,來到杭州,入職阿里巴巴。

  中國的大型互聯網企業,有不少類似之處。好比說同樣有入職培訓,同樣每一年有年會,同樣的有 Outting,同樣的嘴上說一套、底下作一套。好比公司一直在講誠信,但在出了一些事情以後,從公司發給咱們員工的郵件來看,沒有看到誠信二字。但這很正常,在咱們國家,到我這個年齡,若是還相信公司說的什麼或老闆說的什麼,哪腦殼就真有點問題了。

  阿里的入職培訓和其餘公司同樣,講一講企業文化,再把人拉到戶外作作拓展運動,結束,沒有持續性。和我一塊兒參加入職培訓的有幾十人,半年內有差很少三分一離開公司,一年內大概只剩三分之一留在公司。我和另外兩個入職培訓時認識的朋友合租一套三室兩廳,一年後,他們都走了,只剩我本身獨住一大套房子。你們來阿里的目的很簡單,渡金。個人室友之一,半年後順利跳到了 teradata。另外一個是作客服的,一年後跳到另外一個規模略小的互聯網公司,作了客服經理。固然,我到阿里,最大的目的並非渡金,而是學習。個人目標是成爲 Oracle 大師,阿里孕育了哪麼多 Oracle 大師,到了阿里,我就和目標接近了。

  但多是我在面試時忽悠的有點過了頭,阿里給了我一個很高的級別:高級數據庫專家。這既讓我興奮,又讓我感到無比大的壓力。在我入職時的 09 年,整個集團的技術人員,達到這個級別、和這個級別之上的,不過幾十人而已。在 B2B,高級專家之上的,只有十幾我的。咱們 DBA 團隊中,只有一我的比我級別高,就是 Biti。這讓個人壓力,稍微小了點,有什麼大事,我前面至少還有 Biti 在扛着。可是,一個月後,Biti 就調到支付寶。我成了阿里巴巴 B2B 級別最高的 DBA。一會兒變成了「首席 DBA」,我心裏深刻無比激動,可是,這也讓我無比懼怕。

  來到阿里,我對本身的定位是學習、經歷,個人目標,是成爲技術大師,我從不會改變這個目標。但公司對個人指望,顯然不是這樣的。但這沒有關係,這並不會防礙我學習。

  在阿里的日子過的很快,好像回到了上學時代。天天三點一線,上班、到食堂、下班。DBA 團隊是我見過的最好的團隊,幾位領導對每一個人都很負責,誠心實意的爲每一個人着想,努力爲每一個人提供發展機會。你們之間沒有爭搶,沒有鉤心鬥角,只有努力的作好事情。很高興在這裏渡過了快樂的近三年時光。在此,對領導、對團隊中每一個兄弟表示感謝。阿里的數據庫維護水平,天然是沒得說的,用一句通俗的話來形容,我就像掉到了水中的海綿,如癡似渴的吸取着養份。

  我到公司時,MySQL 剛剛在公司有第一例很是成功的案例。以後的幾年間,公司的 MySQL 團隊從無到有,迅速壯大,MySQL 的應用也是遍地開花。再以後 NoSQL 如同悽美的曇花,匆匆一現,卻也給公司內 Oracle 的應用帶來不小的震動。對於開發,Oracle 有如過街之鼠,幾乎人人喊打。以後,一切又都歸於平靜和理性。NoSQL 出局,MySQL 重點發展,去 Oracle 已成必然。從 11 年開始,我也面臨艱難轉型,根據公司狀況,我決定轉型到 GreePlum 數據倉庫。但轉型是困難的,幾本大部頭的書,一看就困。Oracle 是越學越精神,一看 GreePlum 就瞌睡。數次不眠之夜的深思,我決定放棄轉型。我知道這對我來講意味着什麼,放棄轉型,也意味着要放棄這份工做。 雖然我很喜歡團隊的氛圍,我對團隊依依不捨,但我仍將堅持個人方向。11年夏天,我開始籌備個人下一份工做,並計劃在

  12年春節的時候離開。

  阿里巴巴二三事

  在阿里,我見識到了 Biti 留下來的管理制度與管理水平。咱們的數據庫,不多出莫名其妙的問題。按照托爾斯泰的說法,好的數據庫個個類似,差的數據庫各有各的不一樣。好的數據庫,無外乎性能尚可,有完善的備份恢復和高可用機制、並按期測試,不多奇奇怪怪的問題,絕大多數報錯、性能曲線的波動均可以找到緣由,等等。差的數據庫總有千奇百怪的問題、林林總總的報錯、莫明其妙的當機。

  其實,達到阿里數據庫的管理水平,DBA 只作了一間事,就是更加關心本身負責的庫。

  每次性能曲線的波動,都要找到緣由,甚至定位到 SQL。對於新上線的 SQL 語句,進行嚴格的審查。對於大操做,格外當心。Statspack、AWR 報告,要觀注、觀注、再觀注。基本上也就這些了吧。我把這種管理模式,叫作精細化管理。

  說到這裏,我想起了一件事,姥姥家住在一條古老的小巷裏,在小巷南口,相隔不遠有兩家買鍋葵(一種麪餅)的,但一家門庭冷落,另外一家則客流不斷。不少人寧願多花點時間排隊,也要買另一家店的鍋葵。有一次,我跟一位住在這塊的老表談起這事,爲啥一家店生意清冷,另外一家店生意興隆。我老表很鄭重的告訴我,「這就是用的功夫不同。」我霎時間明白了。

  固然,我見到過不少乙方公司的 DBA,每一個人要管幾十個庫,在這種狀況下,根本無暇顧及什麼性能指標、AWR 報告,只要數據庫不當、只要客戶不主動來找就好了。不出事情,哪有什麼功夫去看 AWR 報告什麼的。至於乙方的這種管理方式,我先稱之爲粗獷化管理。

  這種粗獷化管理試,也是國情所定,咱們沒法改變環境,但咱們能夠改變的,是咱們本身。我有一個朋友,初中同窗。初中時學習很差,技校畢業。畢業後在工程公司作技工,其實幹的活和民工沒有差異。在體驗到現實的殘酷後,他沒有被生活磨平楞角,反而越戰越勇,真正的奮鬥起來。他的目標是考取註冊監理師認證,很天然的,這個目標成了不少人茶餘飯後的笑料。不是說這個目標多不現實,而是,就算你考上了註冊監理師,又能怎樣呢?你怎麼才能找到第一份監理師的工做呢?就算有證書,誰肯要一個民工作監理師呢?

  面對嘲笑,咱們惟一能作的事,就是努力堅持本身的方向,不要去作無謂的爭辨。在幹完一天煩重的工做後,他回去還要挑燈夜讀。幾年的堅持,他終於考上了註冊監理師。就在爲第一份監理師工做發愁時,機會不期然而至,工程公司的一個朋友將他推薦到另外一個公司。雖然乾的活和民工沒區別,但他是技校畢業,算是技工,底層實踐經驗豐富,又有了註冊監理師證書,他成功的跳到另外一個工程公司,成爲監理師。輕鬆完成了從民工到工程師這個華麗的脫變。並且,一切又都是如此的天然而然。兩年後,他又跳到北京一家更大規模的公司。公司將他派到新 Jiang,在工地上,他巧遇之前的同事,他們還在頂着風沙,在工地上辛苦的工做。目前,他正在自學英語,他的計劃是但願跳到外企。我相信他必定能夠成功。

  自助者天必助之,古人的經驗之談,難道都是騙人的嗎。

  相信有些乙方的 DBA 也在痛苦中迷茫,如何在粗獷化管理中,實現本身職業生涯的突圍。我建議呢,能夠選一兩個庫,以提高本身水平爲目標,進行精細化管理。關注這一兩個庫的細節,你會發現,水平能夠更快的增長。

  在阿里,個人第一次事故,讓我記憶深入。那是一次加節點操做,前期操做已經成功,最後一步在執行 rootaddnode.sh 腳本時,中途出錯,致使 OCR 信息被損壞,全部節點全 HANG。進行 OCR 恢復後,才恢復正常。緣由很是奇怪,rootaddnode.sh 要調用 srvctl 向 OCR 中寫入新節點信息,而 srvctl 由於缺乏個包,執行失敗異常退出了,OCR 信息也被寫壞了。

  在進行此次加節點操做前,我在虛擬機中反反覆覆測試,作了大量的準備工做,但沒想到,最終仍是出了大事故。

  從這件過後,我再作其餘操做都更加仔細,特別是 RAC。RAC 下操做總會調用這個哪一個一堆的腳本,我會先把腳本看一下,大概瞭解這些腳本都乾點啥。就像加節點,我會先調用 Srvctl config 命令,顯示一下配置信息。若是能夠顯示成功,再進行加節點操做。

  「不要在週五作重要的事情,這會讓你整個周未都沒有好心情」,這是此次加節點操做給我留下的另外一個忠告。

  在阿里最深入的,仍是職場之道給個人震撼。在此,引用一位 PUBER 的發帖:

  A 同窗,遇到問題,召集會議寫報告搞風險評估,鳳鳳火火,完過後處處彙報心得,各部門都知道了數據部的功勞。

  B 同窗,遇到問題,默默一我的搞定。

  這B同窗確實厲害,不少問題都獨立搞定,A同窗連 oracle 的 pga 是啥都不知道,但他就是跟公司的高手們關係好,會求助,會推進。

  當你有一天聽到領導們背後議論A和B的時候,你會發現,他們一致都比較欣賞A。爲何他們會欣賞A呢?不是B是高手麼?由於領導們已經長期不作技術了,觀察人更喜歡觀察人的溝通協調能力,像B默默搞定問題,誰也不知道是咋回事,還覺得這問題很簡單呢。結果呢?B鬱悶離職。。。職場故事無新鮮事,相似故事天天都在發生。

  之前一直覺得是故事,直到見到一個活生生的、傳奇般的「A同窗」。除了這位 Puber 提到的,我以爲「A同窗」通常還要有一個特長,就是會起名字。一個普普統統的架構,起個好名字,簡值是有化腐朽爲神奇的做用啊。

  看一些中央領導的簡歷,升遷之迅速,每每讓我驚歎。不少人不惑之年,都作到了高級領導,擁有數套房子和無數個情人,成功進級高帥富他爹。我一直很奇怪,人家都是怎麼玩的。自從見過「A同窗」後,我瞭然了。「A同窗們」的成功是很迅速的,他們身輕如燕,稍有青風拂過,便能乘風而起,一飛沖天。

  「A同窗們」也要有必定的能力,這是基礎。可是,和他們的綜合實力相比,他們的能力能夠忽略不記。

  他們能夠把 GDP 搞的很高,但不會把國家搞的很強。

  若是一個集體、一個部門甚至一個國家,愈來愈弱,那必定是「A同窗們」太多了。

  「A同窗」後來跳到另外一巨頭民企擔任很高的職位,依舊是風聲水起、威風八面,因而我就知道,哪家民企的發展是到頭了。若是以釋伽「成、住、壞」三階段發展論來說,我的認爲哪家民企的「成」階段已通過去,進入「住」階段,若是沒有「B同窗」大量加入,數年以後,或許就是「壞」階段了。

  我的認爲,單以職場發展來論,「A同窗」值的效仿。如今的職場,好像春秋戰國,即便你所待的「國家」,已經進入「壞」的階段了,不要緊,換一個國家就是。就像春秋戰國時一位「士」人的言論,是當大王、諸候好呢,仍是作大臣好呢。固然仍是大臣好。一個國亡了,王的結局只有死,但大臣呢,換個地方再作大臣就好了。「A同窗們」,永遠會受到市場追捧的。他們就像漆黑中的螢火蟲,那樣的鮮明,那樣的出衆,那樣的拉轟。

  但我向來沒有「A同窗」的能耐,只能向「B同窗」學習了。

  未來作企麼無所謂,有一點很關鍵,就是要認清本身的方向,這很重要。作管理?作技術?都行,這世界上有靠管理成功的,也有靠技術發家致富的。

  你的目標能夠是成爲管理者、領導,但不能是「成爲好逸無勞又掙錢」的人。不要幻想着天天什麼活都不幹,上班喝喝茶、扯扯蛋,每個月工資高的讓咱們這些矮窮醜聽到都嚇的尿褲子。這樣的境界,是要有上一代打下基礎才行。若是你進了 ITPUB 這個論壇,又看到我這篇文章,這足以證實你上一代沒什麼基礎,就不要再作夢了,趕快起來跟我一塊兒用 DTrace+GDB 研究 Oracle 原理纔是正事。

  要想成爲管理人員,或是領導,無外乎三種途徑:

  一、在公司混久了,跟着上級、甚至公司創業者一塊兒打天下,有資歷。走這條路,要看運氣,跟對了人就行。

  二、潛心研究技術細節,深刻鑽究技術,成爲大牛,轉而成爲領導。這就是學而優則仕了。

  三、有關係,家人在有關部門任職。

  若是你發現本身沒有跟對人,也沒有關係,要想成爲領導,哪就走第二條路吧。我知道不少優秀的領導,都是這樣走過來的。好比咱們團隊的頭,還有 Biti,都是如此。其實,就連我所提到的「A同窗」,如今的某互聯網巨頭企業中高級管理人員,也是如此走過來的。

  大多數離職的人對之前待過的公司都是很有微詞的。也是啊,若是不是由於待着不爽,誰願意走呢。但我對阿里,感受仍是很是好的。由於阿里,我來到了杭州,在錢江之畔,生活了近 3 年時光。在阿里,我終於實現了個人目標—-讓技術更上一層樓。三年時光匆匆而過,正如一部電影所說,年華就是如此,當你再也不擁有,你惟一能夠作的,就是令本身不要忘記。

  尾   聲

  站在遠處,最後看了一眼雨中阿里巴巴園區漂亮的大樓,我生命的這一階段已通過去。這是我生命中目前爲止收穫最多的一個階段,感謝阿里、感謝咱們的團隊。

相關文章
相關標籤/搜索