幕后故事:SQL Server 2012研發(fā)的那些人與事
SQL Server 2012功能設(shè)計的來源主要有三類,即面向全球范圍內(nèi)的最終用戶與分析師的調(diào)研、全球技術(shù)支持服務(wù)部門的反饋,以及開發(fā)團(tuán)隊(duì)的前瞻性思考。
在切入正題之前,就讓浸泡在數(shù)據(jù)海洋里的我們,看幾個并不陌生的場景吧。
場景一:痛苦的升級
三十六歲的吳桐坡是一個電商網(wǎng)站的首席技術(shù)官,最近有點(diǎn)頭疼:業(yè)務(wù)旺季就在眼前,現(xiàn)在的內(nèi)存、盤陣、操作系統(tǒng)和應(yīng)用平臺已經(jīng)有點(diǎn)扛不住。老板卻已發(fā)話,今年要基于用戶消費(fèi)行為的統(tǒng)計與分析,上線更多的新品類。唉,又要和部門里的兄弟們熬夜了。好在之前做了不少準(zhǔn)備工作,對這次升級的成本和問題心里大概有底。“但過去幾年,哪次硬件變更和軟件升級沒出過岔子?我怎么敢跟老板拍胸脯,說升級后的系統(tǒng)馬上能順利支持5000-6000次/秒的在線交易請求,而不影響任何業(yè)務(wù)?“
場景二:郁悶的IT
修養(yǎng)很好的俞年發(fā)火了,讓這位年屆不惑、掌控某跨國餐飲連鎖品牌的職業(yè)經(jīng)理人失控的原因很簡單,當(dāng)他早上10點(diǎn)走進(jìn)辦公室,沒有看到昨天的運(yùn)營報表——這讓他想起昨晚從一位消息靈通的分析師朋友處得知,競爭品牌最近兩個月的營業(yè)額大幅超過自家,這是什么原因?現(xiàn)在居然連頭一天的運(yùn)營報表都沒正常出現(xiàn),IT部門干什么去了?被俞年召來猛K一頓的IT經(jīng)理任愿也很郁悶。“不知道為什么,頭天晚上從各個營業(yè)點(diǎn)上傳來的原始數(shù)據(jù),未按正常流程進(jìn)行匹配和清洗,最終沒導(dǎo)入數(shù)據(jù)倉庫,導(dǎo)致今天早晨沒法生成報表,但老板也不至于這樣生氣吧?”檢查數(shù)據(jù)集成進(jìn)程時發(fā)現(xiàn)原先僅需半小時的一個步驟用了近兩小時,還是通不過,也找不出原因,郁悶…
場景三:抓狂的網(wǎng)購
二十九歲的白領(lǐng)史博妍與姐妹們一樣,緊張的工作節(jié)奏讓她無暇逛街,幸好還有網(wǎng)購。作為每月在網(wǎng)購過千元的重度用戶,怎能錯過各大網(wǎng)店的春夏促銷?周末晚上,當(dāng)她打開瀏覽器,卻發(fā)現(xiàn)最鐘愛的網(wǎng)店卻無法訪問,頁面總是顯示“響應(yīng)超時”,而且怎么刷新也沒用。難道下周要穿著去年的衣服去拜訪客戶和“周末大轟趴”?這個假設(shè)讓她很抓狂,抓起了電話向網(wǎng)店客服投訴。數(shù)分鐘后,網(wǎng)店的數(shù)據(jù)庫管理員李易凌接到客服部門的排障需求,他能否在很短的時間里,從海量的Query記錄中,找出那條引發(fā)故障的Query?
那些年,他們一起追尋的創(chuàng)新
您一定能猜到上面的三個典型場景,就藏著SQL Server 2012研發(fā)團(tuán)隊(duì)所要解決的三個典型問題,而解決這三個問題的主要團(tuán)隊(duì)成員,就是微軟亞太研發(fā)集團(tuán)服務(wù)器與開發(fā)工具事業(yè)部的一群年輕工程師們——而解決上述三個問題的功能分別是Distributed Replay、SQL Server集成服務(wù)(SSIS)和擴(kuò)展事件(xEvent)。
正如微軟其他應(yīng)用于關(guān)鍵業(yè)務(wù)的產(chǎn)品,SQL Server 2012功能設(shè)計的來源主要有三類,即面向全球范圍內(nèi)的最終用戶與分析師的調(diào)研、全球技術(shù)支持服務(wù)部門的反饋,以及開發(fā)團(tuán)隊(duì)的前瞻性思考。
故事一:跨越七年的靈感
Distributed Replay、集成服務(wù)和擴(kuò)展事件也不例外,而其中從需求發(fā)掘、設(shè)計產(chǎn)生到功能實(shí)現(xiàn)時間跨度最大的,是Distributed Replay。而這一特性的靈感在2005年左右,幾乎同時出現(xiàn)在姚鋼和王清越的腦海里。
高級開發(fā)主管姚鋼現(xiàn)在已申請下Distributed Replay的專利,觸動他的是做SQL Server技術(shù)支持的六年經(jīng)歷,“客戶經(jīng)常在升級硬件和軟件過程中碰到各種問題,尤其是新硬件和操作系統(tǒng)環(huán)境中,數(shù)據(jù)引擎性能的下降讓他們很是撓頭。是不是能有一個功能,讓客戶提前知道升級后,可能遇到的各種狀況?“
而當(dāng)時還在微軟總部從事SQL Server引擎性能優(yōu)化的王清越也在想,“如果能開發(fā)一個工具,讓客戶在多線程、高并發(fā)度的環(huán)境下,模擬實(shí)際應(yīng)用場景,從而實(shí)現(xiàn)在變更軟、硬件時預(yù)知這些變化對數(shù)據(jù)引擎性能的影響,不就能讓他們不再憂心升級后的變數(shù)么?“于是,當(dāng)他們2008年加入SQL Server中國研發(fā)團(tuán)隊(duì)后,這個想法很自然地被提到了SQL Server 2012產(chǎn)品規(guī)劃中。
讓姚鋼和王清越印象尤為深刻的是,2010年10月功能基本開發(fā)完成后,一位遠(yuǎn)道而來的歐洲電子商務(wù)客戶提出,用他們的真實(shí)數(shù)據(jù)讓Distributed Replay模擬5000-6000次/秒在線交易請求的生產(chǎn)環(huán)境?開了幾個夜車后,兩周內(nèi)姚鋼和同事們順利實(shí)現(xiàn)了客戶需求——這讓項(xiàng)目組也很是欣慰,因?yàn)殡m然設(shè)計目標(biāo)就是實(shí)現(xiàn)每秒5000-6000次的負(fù)載模擬,但此前還未在實(shí)驗(yàn)室環(huán)境下得到過驗(yàn)證。
隨著SQL Server 2012的上市,國內(nèi)類似吳桐坡這樣需求的CTO們,將不用再為軟、硬件變更可能帶來的性能變化而煩惱了。
故事二:為了一致與可靠
SQL Server集成服務(wù)要解決的則是IT經(jīng)理們不得不面對的問題 —— 如何在有限時間和資源前提下,保證“數(shù)據(jù)的一致性和可靠性“,不至于當(dāng)老板要看報告時,卻交不出來。在集成服務(wù)的項(xiàng)目經(jīng)理卓偉雄看來,幫助兩個重量級本地客戶解決類似問題的經(jīng)歷是在產(chǎn)品開發(fā)中最值得回味的,”這兩個客戶,一個來自保險業(yè),一個來自連鎖餐飲業(yè)。他們處理數(shù)據(jù)的共同特征是,來自各個分支機(jī)構(gòu)的數(shù)據(jù)都在晚上運(yùn)行,而實(shí)際上每天晚上運(yùn)行SSIS包的時間窗口其實(shí)很短。在決策層第二天到辦公室之前,數(shù)據(jù)平臺要完成的事情有很多——首先是把數(shù)據(jù)從不同的來源取出,然后導(dǎo)入到數(shù)據(jù)倉庫。從數(shù)據(jù)倉庫到用戶能使用的報表,多維數(shù)據(jù)集等等時間的掌控很重要。而在SQL Server 2012之前,當(dāng)SSIS包在抓取、導(dǎo)入過程中出了問題,管理員往往需要花費(fèi)數(shù)十分鐘乃至幾個小時,逐一找出并解決SSIS包抓取失敗或延遲等問題。如果問題一多,第二天沒法交付報告就成了很自然的事。而現(xiàn)在,管理人只需要通過預(yù)先建立的故障排除和性能調(diào)優(yōu)功能,在SSIS包運(yùn)行過程中,便能自動拿到最可能引發(fā)問題的事件記錄,而用戶可以馬上把這些事件交給相關(guān)的技術(shù)部門去解決。”
讓測試開發(fā)工程師吳曉晨記憶猶新的則是在最后測試階段,一個特殊的場景下運(yùn)行新功能時,往往比平時慢2、3秒,但一位同事硬是堅(jiān)持三、四周解決了這個問題,因?yàn)樗麄冇X得“如果每個客戶都節(jié)約幾秒鐘,那么全球來看就是一個了不得的大數(shù)字。”
故事三:DBA的黎明
擴(kuò)展事件的誕生,是為了幫助李易凌這樣的數(shù)據(jù)庫管理員們。當(dāng)碰到這樣的問題,他可以首先將當(dāng)天的SQL Query(像場景三中的網(wǎng)店會有幾千種SQL Query)的響應(yīng)時間分組求平均值,然后按組排序以迅速找到花費(fèi)時間最長的那一組Query,接著打開這一組Query排序,便能找到花費(fèi)時間最長、甚至是無法響應(yīng)的Query,從而迅速找到問題根源并進(jìn)行排除。更為重要的是,輕量化的擴(kuò)展事件只需很小的服務(wù)器資源開銷,就能抓取50GB的Trace包。
SQL Server 2012的發(fā)布,對負(fù)責(zé)擴(kuò)展事件的開發(fā)主管徐進(jìn)、測試主管陳玉祥來說同樣意義非凡——因?yàn)楸M管從SQL 7.0時代就有了SQL Profiler工具,但直到SQL Server 2012有了擴(kuò)展事件才高度滿足了數(shù)據(jù)庫管理員的大量真實(shí)需求。
微軟全球研發(fā)文化的中國實(shí)現(xiàn)
實(shí)際上,SQL Server中國研發(fā)團(tuán)隊(duì)在過去四年多的成長歷程,只是微軟亞太研發(fā)集團(tuán)服務(wù)器與開發(fā)工具事業(yè)部的一個縮影。如果從頭梳理服務(wù)器與開發(fā)工具事業(yè)部中國團(tuán)隊(duì)的起源,需要回到2004年,事業(yè)部高層認(rèn)識到兩個顯著變化,首先是一流軟件人才從集中在美國的少數(shù)城市,變成分散在世界各地,尤其是中國、印度等國家;其次,微軟合作伙伴和客戶的地域分布也日趨全球化。不管一個開發(fā)團(tuán)隊(duì)多么聰明,當(dāng)他們總呆在同一個的地方時,就很難理解全球性合作伙伴和當(dāng)?shù)乜蛻舻男枨蠛驮竿?。正是在這樣的背景下,事業(yè)部的高層決定在印度、中國和以色列建立并大力發(fā)展三個全球分布式研發(fā)中心。
作為SQL Server中國研發(fā)團(tuán)隊(duì)的創(chuàng)始人,現(xiàn)任服務(wù)器與開發(fā)工具事業(yè)部中國團(tuán)隊(duì)總經(jīng)理的孫博凱2007年來到中國后,曾在博文中曾寫到:“就長期影響而言,要區(qū)分成功組織和平均或低于平均水平的組織,'文化’元素是一個更可靠和更重要的衡量因素,其可靠性和重要性遠(yuǎn)遠(yuǎn)超過商業(yè)策略、一項(xiàng)具體的技術(shù)或流程優(yōu)勢,甚至超過特定的領(lǐng)導(dǎo)力優(yōu)勢,不論這種領(lǐng)導(dǎo)力是如何有魅力或富有遠(yuǎn)見的。恕我直言,這就是為什么讓一個團(tuán)隊(duì)伴隨著’正確的’文化起步是如此重要,不論每個組織如何定義’正確的’文化。”正是出于這樣的洞察,孫博凱認(rèn)為如何將美國總部的系統(tǒng)文化、個人貢獻(xiàn)者文化、創(chuàng)新文化和聚焦客戶文化,根植到每個工程師的腦海中,是當(dāng)時團(tuán)隊(duì)初創(chuàng)期的首要任務(wù)。
從“童子軍”到成熟工程師
或許正是出于對團(tuán)隊(duì)文化的認(rèn)同,吳曉晨2008年從復(fù)旦計算機(jī)系畢業(yè)后,正式加入到SQL Server的研發(fā)團(tuán)隊(duì),成為一名集成服務(wù)的軟件測試開發(fā)工程師,其中有一段時間,小組里測試主管職位空缺,而另三位測試工程師更享受做個人貢獻(xiàn)者的快樂,他最終“半推半就“地承擔(dān)了“兼職測試主管”的一部分職責(zé)——說是“半推”,因?yàn)榻M織結(jié)構(gòu)上的確需要一個測試主管、項(xiàng)目管理主管和開發(fā)主管進(jìn)行日常溝通, 而當(dāng)時實(shí)在招不到合適的人;說是“半就”,因?yàn)樗宄卣J(rèn)識到,在微軟這個高手如云的地方,自己的技術(shù)水平可謂中上,但還稱不得頂尖,故從個人的職業(yè)發(fā)展來看,這是個不錯的機(jī)會。
做出決定之后就是咬咬牙干,但他先得學(xué)會“怎么說話”。對他來說,最大的挑戰(zhàn)就是在項(xiàng)目溝通會上(時不時還得面對雷德蒙總部的牛人們)陳述觀點(diǎn)。一開始,他緊張到“連開口說話”都不會。幸好,通過“馬克•波羅”計劃來上海的Siva Harinath(另一項(xiàng)目組的測試經(jīng)理),給了他許多意見,而他也領(lǐng)悟到了不必迷信權(quán)威,而是“取其精華,去其糟粕”;同時,部門經(jīng)理趙曉燕更給了許多鼓勵與安慰,讓他有勇氣和信心去發(fā)言——了解微軟的都知道,在研發(fā)部門的內(nèi)部會議上,一旦你的思路稍有停頓,立馬就會被其他人打斷,甚至直接無視。就是這樣,吳曉晨逐漸從“最開始連問題都可能聽不懂”的新人,歷練為敢于在牛人們面前侃侃而談的成熟工程師。當(dāng)然,他還沒有完全擺脫緊張,在最后一次項(xiàng)目評審電話會議上,當(dāng)他“一口氣講十幾分鐘”總結(jié)了測試小組的工作后,產(chǎn)品線總經(jīng)理夸獎道“Great Job”,而他則緊張地沒聽清楚,回了句“Sorry?”,頓時,電話兩端爆發(fā)出哄堂大笑……
從優(yōu)秀到卓越
在將最優(yōu)秀的“原始人才“培養(yǎng)成專業(yè)工程師之外,孫博凱還花了大量時間招募業(yè)內(nèi)頂尖高手,2008年SAP趙曉燕和Oracle韓露明的加盟無疑讓SQL Server中國團(tuán)隊(duì)進(jìn)入了穩(wěn)健成長期。
在趙曉燕看來,加入微軟的原因一部分是出于好奇,對于一直在開源世界里鉆研技術(shù)和產(chǎn)品的她來說,能到微軟內(nèi)部弄明白這個龐然大物究竟怎么運(yùn)作無疑具有相當(dāng)?shù)奈?,更重要的是能從零開始建立一支世界級的工程團(tuán)隊(duì),解決世界級的數(shù)據(jù)平臺問題,比如她一直從事的商務(wù)智能,和令人興奮的集成服務(wù)新領(lǐng)域?;仡欉^去四年,她感嘆在外部看來大而遲緩的微軟,其實(shí)在每個具體的領(lǐng)域是以小搏大,反應(yīng)更加迅捷。以商業(yè)智能為例,微軟全球一共就200來人,雖然整體質(zhì)量很高(僅中國團(tuán)隊(duì)17個人里就有5位博士),但畢竟和專業(yè)做商業(yè)智能的獨(dú)立軟件公司動輒上千人的開發(fā)團(tuán)隊(duì)相比,并不具備人數(shù)優(yōu)勢,重要的是認(rèn)清自身優(yōu)勢,從簡單的業(yè)務(wù)開始,最終擁有端到端產(chǎn)品的發(fā)言權(quán)。
韓露明則坦言,團(tuán)隊(duì)剛建立時,年輕工程師們學(xué)習(xí)、掌握新技術(shù)和新事物的速度非??欤坏?dāng)時各方面的確都還稚嫩,而這三、四年的磨練和砥礪已為承擔(dān)更關(guān)鍵任務(wù)打下堅(jiān)實(shí)基礎(chǔ)。“當(dāng)然,從技術(shù)積累的角度看,是沒有止境的。未來,擁有更多‘主人翁’精神的我們,會走得更遠(yuǎn)。”
不過,這一切在服務(wù)器與開發(fā)工具事業(yè)部中國研發(fā)團(tuán)隊(duì)的管理層看來,還有許多方面需要加倍努力,并已開始著手新的發(fā)展規(guī)劃。孫博凱認(rèn)為,“云計算正在重塑經(jīng)濟(jì)發(fā)展和商業(yè)競爭的格局,作為微軟在中國推進(jìn)云戰(zhàn)略、云實(shí)踐、云創(chuàng)新的核心部門,無論是全球產(chǎn)品、服務(wù)的研發(fā),還是協(xié)助本地客戶、合作伙伴利用云計算成功轉(zhuǎn)型,我們中國研發(fā)團(tuán)隊(duì)都將扮演更重要的角色,任重而道遠(yuǎn)。”
責(zé)任編輯:馬沛
來源:
51CTO.com