去哪兒網(wǎng)數(shù)據(jù)庫總監(jiān)周彥偉:一個優(yōu)秀的DBA是如何養(yǎng)成的
周彥偉 | 2016-03-03 10:20
【數(shù)據(jù)猿導讀】 在全民迎接數(shù)據(jù)技術時代的今天,大家對數(shù)據(jù)認可和重視的同時也提升了數(shù)據(jù)庫在整個技術環(huán)境中的重要性,同時也延展了數(shù)據(jù)庫的含義。隨著互聯(lián)網(wǎng)的蓬勃發(fā)展以及業(yè)務類型的不斷拓寬,數(shù)據(jù)存儲的需求多種多樣,在實際的成產(chǎn)環(huán)境中,往往一種傳統(tǒng)的數(shù)據(jù)庫是不能滿足要求的

“大環(huán)境下,如何更好的運用數(shù)據(jù)庫?
在全民迎接數(shù)據(jù)技術(Data Technology)時代的今天,大家對數(shù)據(jù)認可和重視的同時也提升了數(shù)據(jù)庫在整個技術環(huán)境中的重要性,同時也延展了數(shù)據(jù)庫的含義。隨著互聯(lián)網(wǎng)的蓬勃發(fā)展以及業(yè)務類型的不斷拓寬,數(shù)據(jù)存儲的需求多種多樣,在實際的成產(chǎn)環(huán)境中,往往一種傳統(tǒng)的數(shù)據(jù)庫是不能滿足要求的,如何才能更好的運用數(shù)據(jù)庫呢?
“這就需要DBA根據(jù)實際的業(yè)務需求和場景特點,選擇合適的工具以滿足不同層次的需求。談到需求,可以分為數(shù)據(jù)量大小層面的,訪問效率層面的,數(shù)據(jù)結構層面的等等。所以在實際工作中,我們會把目前所用到的MySQL,Redis,HBase以及PostgreSQL等一概稱為數(shù)據(jù)庫系統(tǒng)。用不同的工具和不同的架構解決不同的問題,靈活運用,隨需而變,這才應該是互聯(lián)網(wǎng)環(huán)境下的數(shù)據(jù)庫運用之道。”周彥偉如是表示。大數(shù)據(jù)環(huán)境下,數(shù)據(jù)的種類和規(guī)模都越來越多,對數(shù)據(jù)庫的需求也變得多樣化了,一種數(shù)據(jù)庫形式或者單一架構一般都很難滿足業(yè)務的需求,因此在選型時,他提倡多結合自己業(yè)務的需求和數(shù)據(jù)庫的特性,隨需而變,畢竟適合自己的才是最合適的。
“MySQL為什么如此受歡迎?
對于周彥偉來說,在過去的2015年里最重要的事是MySQL5.7的發(fā)布,MySQL5.7是具有劃時代意義的重要版本更新。在性能和功能上都有了巨大的提升,這使MySQL在開源數(shù)據(jù)庫市場上同其他數(shù)據(jù)庫的競爭處于有利地位,有助于MySQL的進一步發(fā)展,也使得MySQL在實際生產(chǎn)環(huán)境中能適應更多的需求??梢哉f,到目前為止,MySQL應該算的上是最受歡迎的開源數(shù)據(jù)庫,很多人都問為什么?周彥偉從五方面解讀這個問題:
(1) 功能
MySQL典型的插件式存儲引擎的特點,可以讓MySQL使用多種存儲引擎。而InnoDB的引入讓MySQL擁有了幾乎關系數(shù)據(jù)庫應該具備的所有特征,這為MySQL的流行奠定了最堅實的基礎。
MySQL基于Binlog的replication功能,讓用戶可以很方便的擴展實例,并在擴展的基礎上搭建各種高可用和分布式方案,這讓MySQL滿足了大部分用戶的可用性的需求,在早期的數(shù)據(jù)庫方案中,能既方便又廉價的實現(xiàn)這個功能的開源數(shù)據(jù)庫產(chǎn)品是很少的。
MySQL很早就官方提供了各種附帶的維護工具和開發(fā)程序包,不僅可以幫助DBA很方便的管理數(shù)據(jù)庫,而且可以讓開發(fā)人員通過多種程序設計語言來連接和操作數(shù)據(jù)庫。
MySQL是單進程多線程工作,對用戶的連接是用內(nèi)部線程來管理的,這降低了連接的開銷,對于沒有連接池的訪問也能很好的支持。
MySQL支持大部分最常用的標準SQL語法,自定義的SQL也通俗易懂,很容易讓程序員上手。
(2) 官方
MySQL在被Oracle收購之后,到目前為止并沒有看到官方有制約其發(fā)展的動作,與此同時,我們看到在Oracle手里,MySQL5.6,MySQL5.7不管是在功能上,還是在性能上都取得了長足的進步與發(fā)展。同時,官方也提供了MySQL Cluster,MySQL Router,MySQL Fabric,MySQL HTTP Plugin等重量級的外圍工具。Oracle發(fā)揮了其在數(shù)據(jù)庫領域的絕對技術權威的作用,為MySQL的進步做了很大的努力。在這樣一個強有力的官方背景的支持下,我們有理由相信MySQL會越做越好。
(3) 第三方
作為歷史久遠的開源數(shù)據(jù)庫,MySQL還有很多實力雄厚的第三方支持平臺,最典型的莫過大家熟悉的Percona,它不斷緊跟官方版本,并在此基礎上做了很多優(yōu)化和升級,同時還提供功能強大的工具包,讓MySQL更易用,更實用。Percona-Toolkit應該是MySQL DBA最熟悉的第三方工具包了,它幾乎稱得上數(shù)據(jù)庫維護中的瑞士軍刀。
(4) 互聯(lián)網(wǎng)
過去十年是MySQL迅速發(fā)展和普及的十年,同時我們也看到過去十年也是互聯(lián)網(wǎng)發(fā)展的黃金時期。特別是隨著電子商務,社交網(wǎng)站,O2O與互聯(lián)網(wǎng)金融的發(fā)展,互聯(lián)網(wǎng)應用對數(shù)據(jù)庫的依賴和需求越來越強烈,同時數(shù)據(jù)庫成本也是需要考慮的重要因素。綜合多方面因素,MySQL被推到了前臺,不管是Google,facebook還是淘寶,騰訊,百度都選擇MySQL作為自己的主要存儲數(shù)據(jù)庫。這些互聯(lián)網(wǎng)大鱷的大規(guī)模使用,不僅促進了MySQL技術的發(fā)展,也為MySQL社區(qū)培養(yǎng)了大批優(yōu)秀的技術人才,直接促進了MySQL的發(fā)展。
(5) 社區(qū)
MySQL用戶社區(qū)的蓬勃發(fā)展,也為MySQL的流行與受歡迎做出了不可磨滅的貢獻。社區(qū)的壯大,不僅很快解決了很多用戶在工作中面臨的問題,讓大家使用MySQL沒有后顧之憂,也培養(yǎng)了一大批MySQL愛好者和DBA。MySQL人才群體的壯大,反過來也促進了MySQL的發(fā)展和普及,這已經(jīng)形成了良性循環(huán),互相促進,不斷發(fā)展。在國內(nèi),中國MySQL用戶組(ACMUG)在MySQL的推廣和普及上做了非常大的貢獻,非常感謝。
“一個優(yōu)秀的DBA是如何養(yǎng)成的?
我們知道DBA承載著一個重要的角色,有著特殊的職責和使命,一個優(yōu)秀的DBA其實是非常難得的,作為一個DBA來說應該具備怎樣的能力呢?對于DBA的要求,周彥偉精辟的總結為“DBA精神”,而責任心、服務心、溝通心、學習心,進取心和分享心這六大體現(xiàn)正是DBA精神的基石所在。
DBA精神是責任心體現(xiàn)。
維護數(shù)據(jù)庫數(shù)據(jù)的安全和完整是作為管理員的首要責任。在管理數(shù)據(jù)庫的過程中,作為一個DBA,要把數(shù)據(jù)庫看做自己的財產(chǎn),自己的兒女,自己的身體的一部分。此種的職責,需要你像呵護自己眼睛一樣去照顧你所維護的數(shù)據(jù)庫。時刻去想,有沒有做應該有的備份,有沒加應該有的監(jiān)控,有沒有做必須的安全權限限制。一旦出問題,有沒有第一時間去分析和解決問題,這就像你的自己的眼睛,一旦出現(xiàn)紅腫病態(tài),多少人會視而不見?
DBA精神是服務心的體現(xiàn)。
現(xiàn)代互聯(lián)網(wǎng)對DB的需求,是需要支撐業(yè)務持續(xù)穩(wěn)定的運行和源源不斷的變更,這要求DBA有7*24小時服務精神。這是一個服務性職業(yè),需要隨時隨地響應來自各方面的各種需求。其一,包括人的需求,業(yè)務要發(fā)展,DB就會有變更,只有DBA與開發(fā)人員緊密配合,才能順暢高效地完成工作。其二,包括事的需求,DB是個動態(tài)的系統(tǒng),不斷的運轉(zhuǎn)就會不斷的面臨新問題,機器故障,磁盤報警,內(nèi)存不足,CPU過載等等。這是個脆弱的系統(tǒng),它不會對DBA的遲鈍有半點仁慈,一旦有問題,任性的宕機是必然的結果。其三,包括心的需求,DBA應該出自內(nèi)心地主動去對DB做不斷的優(yōu)化,這種優(yōu)化,可以在結構上,可以在架構上,可以在業(yè)務邏輯上,關鍵之處在于,你有沒有心。說得通俗一點:“沒事找事兒”。
DBA精神是溝通心的體現(xiàn)。
DBA的工作,不是封閉的科學研究和孤傲的英雄主義,不管是主動的優(yōu)化,還是被動的接受任務,都是需要與人做不斷的溝通與交流。假如你不懂業(yè)務流程,不知道數(shù)據(jù)的來龍去脈,輕重緩急,那就談不上數(shù)據(jù)庫表的設計和優(yōu)化。而數(shù)據(jù)庫的優(yōu)化,往往最大的進展是來自對業(yè)務邏輯的優(yōu)化。這需要運用良好的溝通心態(tài)和技巧,深入了解業(yè)務流程和架構。與人溝通,是DBA獲取知識和信息的主要途徑,需要做到能與人溝通和會與人溝通。生活工作中,人的個性是千差萬別的,面對形形色色的溝通對象,充分調(diào)動對方的積極性,進行愉快有效的交流也是DBA需要掌握的一門技術。
DBA精神是學習心的體現(xiàn)。
DB在技術體系中是一個承上啟下的中間環(huán)節(jié),它運行在物理硬件和操作系統(tǒng)之上,同時承載著上層各種各樣的業(yè)務邏輯的調(diào)用。對DB的運維和管理,不僅僅需要掌握數(shù)據(jù)庫自身的基礎知識,要保證這個系統(tǒng)的穩(wěn)定和優(yōu)化,就需要知己知彼,去了解它上下游的知識和特性。所以,一個優(yōu)秀的DBA,需要了解你所使用的硬件,這包括磁盤的特性,網(wǎng)絡的布局,內(nèi)存的使用,CPU的處理能力等等;需要了解DB所運行的操作系統(tǒng)的知識,它是怎么調(diào)度IO的,怎么管理內(nèi)存的,怎么優(yōu)化文件的。需要了解上層業(yè)務是怎么調(diào)用數(shù)據(jù)庫的,SQL怎么寫的,看懂了業(yè)務邏輯的程序才能明白有的SQL是不是多余,某些SQL是不是可以優(yōu)化。我們看到在MySQL官方和MariaDB官方,都已經(jīng)針對硬件開始在官方源碼的基礎上做自動優(yōu)化了,同時MySQL官方也提供了自己的集成于業(yè)務端的高可用方案,這都是開源數(shù)據(jù)庫的進步發(fā)展的必然結果。同時,由于開源數(shù)據(jù)庫的盛行,針對數(shù)據(jù)庫自身代碼的學習和研究,也逐漸成為優(yōu)秀DBA的敲門磚了。
DBA精神是進取心的體現(xiàn)。
隨時發(fā)現(xiàn)問題,分析問題,解決問題。通過問題現(xiàn)象,依賴自己的經(jīng)驗和知識,同時探索未知的知識去解決現(xiàn)實的問題,在這個過程中,也是自己積累經(jīng)驗和不斷成長的過程。相對而言,解決問題本身并不重要,重要的在此過程中探求解決問題的方法和所獲取的經(jīng)驗,DBA的職業(yè)優(yōu)勢也在于此,同時,主動花費心思與精力去不斷追求問題的優(yōu)解和技術的極致,這也是DBA應盡的職責。
DBA精神是分享心的體現(xiàn)。
這些年,我們一直在倡導做一件事情,那就是提倡DBA,特別是開源社區(qū)DBA的持續(xù)做技術分享。我們做了CMUG,或者叫ACMUG,全稱是 China MySQL User Group。A你可以認為是All,或者About,或者是Active,它代表了所有關心MySQL及其相關技術的積極參與分享活動的人,在過去的數(shù)年里面,ACMUG可能已經(jīng)組織了上百場技術分享,分享者都是工作在一線的DBA或者數(shù)據(jù)庫技術愛好者,通過參與這個活動,大家都切切實實的得到收益,個人在技術上也取得了巨大的進步。通過分享,大家學到了技術,開拓了視野,展開了思路,當然也交到了朋友。我們希望能通過這樣的活動,把DBA精神永續(xù)下去,讓更多人受益,讓更多技術普及。
周彥偉表示:技術運用已經(jīng)超出了單一的品種門類了,不管是Oracle,還是MySQL,還是PostgreSQL,還是Hbase,所有的能提供優(yōu)秀解決方案去更好的支撐業(yè)務需求的數(shù)據(jù)庫技術都是我們所期待看到的。
來源:數(shù)據(jù)庫技術大會
刷新相關文章
我要評論
活動推薦more >
- 2018 上海國際大數(shù)據(jù)產(chǎn)業(yè)高2018-12-03
- 2018上海國際計算機網(wǎng)絡及信2018-12-03
- 中國國際信息通信展覽會將于2018-09-26
- 第五屆FEA消費金融國際峰會62018-06-21
- 第五屆FEA消費金融國際峰會2018-06-21
- “無界區(qū)塊鏈技術峰會2018”2018-06-14
不容錯過的資訊
-
1#后疫情時代的新思考#疫情之下,關于醫(yī)
-
2眾盟科技獲ADMIC 2020金粲獎“年度汽車
-
3數(shù)據(jù)智能 無限未來—2020世界人工智能大
-
4#2020非凡大賞:數(shù)字化風起云涌時,共尋
-
5#榜樣的力量#天璣數(shù)據(jù)大腦疫情風險感知
-
6#榜樣的力量#內(nèi)蒙古自治區(qū)互聯(lián)網(wǎng)醫(yī)療服
-
7#榜樣的力量#實時新型肺炎疫情數(shù)據(jù)小程
-
8#榜樣的力量#華佗疫情防控平臺丨數(shù)據(jù)猿
-
9#后疫情時代的新思考#構建工業(yè)互聯(lián)網(wǎng)新
-
102020可信云大會丨《云MSP發(fā)展白皮書》重