51CTO專訪人人網黃晶:WEB開發需要隨需應變(1)

    在2010年4月24日召開的Qcon 2010技術大會上,51CTO有幸專訪人人網產品技術高級總監黃晶先生,請他來談一談WEB開發過程中會遇到的問題及數據庫技術對人人網發展的影響。
    【51CTO專訪】互聯網中的開發工作一般都是當今最先進技術的試驗場,程序員該如何擺正自己的態度,成爲一個合格的WEB開發人員?而一個網站想做大做強,就需要擁有自己的一套體系框架來支持日益變化的市場需求。
    在專訪的最開始,51CTO記者與黃晶先生討論的是WEB網站開發過程中需求是千差萬別的,在網站架構設計階段應該採取什麼樣的措施實現隨需應變的重構?人人網在發展過程中有哪些經驗可以介紹?
    人人網黃晶
    人人網產品技術高級總監-黃晶(51CTO攝)
    在談到人人網早期的開發時,黃晶先生提到當時主要是採用一些成熟的開發技術,比如StrutsHibernete等。但是到後面發現類似Hibernate這樣的技術,在性能優化方面還是不太理想,還是需要開發出一套屬於自己的框架來適應業務的發展。在這裏51CTO記者也聯想到51CTO網站本身也曾經歷過這樣一個發展過程,用戶量在迅速上升,內容建設也日趨完善,但此時早期網站構建過程中的問題就暴露出來了。比如用戶發現頁面打開速度變慢,編輯登陸後臺速度變慢,服務器已經無法存儲海量的內容數據。這些網站飛速發展的陣痛也同樣困擾着51CTO,不過及時改進系統,推出新的內容平臺,也極大的改變着這些困難,最終我們有了質的飛躍。可以說WEB開發的經驗是逐步積累的,中國的開發人員還是要有一定的耐心,相信困難都是可以克服的。
    延伸閱讀
    Struts最早是作爲Apache Jakarta項目的組成部分,項目的創立者希望通過對該項目的研究,改進和提高JavaServer Pages 、Servlet、標籤庫以及面嚮對象的技術水準。
    Hibernate是一個開放源代碼的對象關係映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。
    WEB程序員要有持之以恆的學習能力
    在談到對WEB開發人員的建議時,黃晶先生建議剛涉足WEB開發的程序員還是把基礎打牢。比如對於HTTP協議,對於MVC等基礎知識都要爛熟於心,一開始不用好高騖遠的就開始鑽研架構。在一定程度上來說,網站沒有達到一定級別就研究架構沒有多少實際意義。羅馬並非一日建成,好的網站也不做不到一勞永逸。就算業內知名的Twitter,其工程師也在爲應付頻繁宕機而苦惱,處理好每一個細節是程序員首先應該做的。
    國內程序開發的另一大障礙就在於架構,很多團隊沒有自己的架構,也苦於沒有好的架構可以借鑑。這可能與目前國內的市場環境有關,也與很多大網站爲了保持自己的競爭優勢而樹立的技術壁壘。黃晶先生表示人人網目前構建的開放平臺不光爲國內開發團隊分配收益,還會把一些好的控制方法和框架方法與大家分享,從而與大家共同發展。如果真的可以成爲現實,那麼首先就能爲大家提供一些成熟的架構,便於大家更快的實現網站的功能,這也意味着能早一天從網站應用中賺取第一桶金。
    NoSQL讓網站信息處理更高效
    NoSQL的火熱讓人們似乎看到關係型數據庫即將崩潰一樣,不過在數據庫領域有着Oracle和IBM這樣的“房地產開發商”,他們是不希望關係型數據庫如同現在的中國房價一樣出現“拐點”的。在WEB領域,NoSQL已經開始在Digg和Reddit這樣的大網站投入實戰。黃晶先生特別提示,NoSQL很適合處理目前互聯網中這種瑣碎而數量龐大的信息。比如人人網用戶發佈的小消息,一天的數據條數很龐大,如果按照傳統的關係型數據庫處理就會嚴重影響效率。而在工業領域和金融領域,黃晶先生承認目前NoSQL還無法完全承擔,需要繼續發展。51CTO向您推薦《詳解NoSQL數據庫使用實例》以便於您更進一步瞭解NoSQL的配置使用。
    一個好的數據庫管理員可以用20%的精力解決80%的性能問題,這樣的素質很難培養。對於培養的問題,黃晶先生還是建議要有紮實的基礎,對於數據存儲的過程,查詢的過程,數據庫運作原理都有很清晰的瞭解。在數據庫優化方面,人人網目前的SQL語句都會要求DBA去分析,講清楚SQL語句的實現原理。同時他還警示,並不是所有的優化手段都是有效的,有時候DBA需要有決斷能力。比如要重點解決那些使用頻繁的SQL,因爲他們會影響整個網站的反應速度。而對於使用不怎麼多的SQL,如果無法優化,可以繞行。人人網在開發過程中就遇到過這樣的問題,怎麼優化都不行,最後他們單獨用了一個後臺和一個系統來運行這個應用,從時間效益上取得了最大的平衡。
    51CTO專訪黃晶視頻請見下一頁
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章