隨着MySQL地位爆炸式的提高, MySQL DBA的市場缺口日益劇增,優秀的MySQL DBA正在成爲各個互聯網公司搶手的人才。然而,需求來了,問題也來了,如何快人一步提升自身技能,讓本身在日益激烈的技術挑戰中不斷增值、脫穎而出?
今天,咱們將鎖定MySQL數據庫,經過韓鋒、虢國飛、楊奇龍、楊建榮、張青林、李輝、賀春暘、李季鵬等8位MySQL專家的經驗之談,爲想從事MySQL DBA的同窗們答疑解惑,指明一條修煉的路子。
目錄大綱
認真讀完本文,你能夠了解到:
1、選擇篇
1、MySQL的流行緣由及從業前景
2、MySQL DBA的薪資緣何廣泛高於Oracle DBA
3、我的如何完成Oracle向MySQL的轉型?
2、學習篇
1、從初級到高級的MySQL DBA學習路線及學習資料推薦
2、源碼是否爲高級MySQL DBA的必備技能?
3、MySQL不一樣分支的選擇討論
4、MySQL認證考試的含金量
3、趨勢篇
1、隨着功能的不斷完善,MySQL還會是「小而美」的表明嗎?
2、MySQL目前還缺少哪方面的能力,是否足夠成熟?
3、如何看待數據庫中間層與數據庫的關係?
4、傳統運維逐步萎縮下,DBA應選擇什麼方向發展?
4、將來篇
1、數據庫雲化會對傳統DBA帶來什麼樣的衝擊?
2、如何看待分佈式數據庫的將來前景?
3、愈來愈多的DBA正在或將從事DevOps類工做,你的見解是?
選擇篇
Q1:你認爲MySQL流行的主要緣由是什麼?從長遠角度來看,從業前景如何?
1、流行緣由
虢國飛:綜合來看,MySQL的流行是偶然中的必然。緣由主要有如下三點:
免費:傳統數據庫昂貴的license費用是不少企業一塊心病,MySQL社區版已經能知足大部分用戶的需求,並且是免費的,天然在企業內部推廣時不會遇到阻力(老闆們確定支持);
開源:開源的好處是隻要你想,你能夠深刻到代碼級別來了解數據庫的運做原理(甚至能夠改造它),這個遠勝於傳統黑盒數據庫只是簡單輸出一些log或者白皮書來讓人猜想運做狀況,開源能讓DBA能知其然並知其因此然,並且開源社區還有豐富的工具,給DBA在維護上面提供了強大的支持。 DBA能在社區快速找到本身需求的東西,組合成本身的工具箱,因此社區工具的豐富也彌補了產品自己的缺陷;
簡便:這一點使得MySQL部署簡單,新手學習門檻低、上手快(固然要真正掌握好仍是須要大量學習的),不要花費太大的精力就能快速搭建起一套高可用的集羣來,而不像Oracle數據庫那樣,有不少配套東西須要瞭解,沒有幾年的學習很難掌握,對於新手來說都會以爲挺難的,因此MySQL能在DBA羣體(甚至包括開發人員)中快速地普及。
2、就業前景
李輝:目前來看,MySQL DBA的日子仍是很滋潤的,在可預見的3-5年內,MySQL在互聯網行業的地位仍沒法取代,對DBA的需求量仍然很大,特別是中高級DBA。但從長遠角度來看,從業人員也要多涉獵其它關係型數據庫以及NoSQL、Devops、雲計算等技術,現代社會惟一不變的就是變化,不斷學習、擁抱變化才能保證本身不被將來社會淘汰。
Q2:如何看待當前MySQL DBA的薪資廣泛高於Oracle DBA的現象?若是想從事DBA,選哪一個數據庫更好?
1、MySQL DBA高工資的緣由
楊建榮:由於是和Oracle來對比,能夠分爲幾個方面來看:
首先物以稀爲貴,MySQL DBA相對Oracle DBA來講要少一些,隨着如今互聯網行業的發展,這個需求仍是會持續增加;
第二仍是物以稀爲貴,任何工種,高級職位都是稀缺的,若是你可以成爲行業內的20%的人,不管你是從事哪一種數據庫,都會混得還不錯。
第三仍是物以稀爲貴,什麼事物的發展都有一個成熟度曲線,水漲船高以後,留在你手裏的是真技能仍是花拳繡腿,數據庫的功能會愈來愈豐富,你的技能也要升級,不升級的話,用哪一個數據庫你都會很吃力。
楊奇龍:對於薪資高這點,我以爲要從兩方面看:
MySQL DBA和Oracle DBA 的僱主行業不同,MySQL DBA 多屬於互聯網等新興企業,大多數是資本彙集,而Oracle DBA 則從事於傳統或者部分大型企事業單位。兩種企業的薪資平均水平本就有差距。
從技能要求上,MySQL在功能上比Oracle 「弱」或者說不完善,須要DBA具備更高的技術掌控能力作HA、備份、恢復、校驗等。Oracle 則提供了比較完備的功能。
2、從事DBA崗位,選MySQL仍是Oracle?
楊建榮:有句話說,選擇的利劍屬於在於可以揮舞它的人,根據工做須要,本身的喜愛去選擇就能夠,若是隻是本着錢途是不推薦的。若是非要糾結究竟是哪個,其實也能夠換個角度,若是兩個都學,是否是這個問題就不是問題了。
楊奇龍:個人想法比較實際。行行出狀元,無論是MySQL DBA 仍是Oracle DBA都有比較成功的人士,建議是看各自的興趣和愛好,以及本身想進的公司的招聘需求。MySQL 和Oracle 並不矛盾,我認識的至關多的人,兩種數據庫都能維護得很是好,好比大牛樓方鑫,Oracle 工具開發以及MySQL 內核開發都有很是出色的成果。
Q3:我的職業發展如何完成Oracle向MySQL的轉型?
楊建榮:從自身目前從事的工做,分三種狀況來看:
(1)目前從事的工做以商業數據庫Oracle爲主,又想轉型爲MySQL DBA的:
自搭環境學習實踐是一個起步,若是以爲沒有明確的學習目標,考個MySQL OCP也是一種階段性的學習成果驗收,總比漫無目的的學習收穫要大。已經有了Oracle基礎,能夠經過對比的方式來引入到MySQL的學習中。公司若是後期引入MySQL方案,你就是最佳人選了。
(2)目前工做中有MySQL環境的:
在作好本職工做的前提下,能夠自薦,讓別人推薦來作MySQL DBA的工做。對企業和你我的都是共贏,因此開發測試運維同窗相作MySQL DBA也是能夠的。
(3)現有的MySQL工做和自身指望相比差距較大的:
一種方式是自查,咱們在當前的環境還可以作出些什麼,若是可以把當前的環境作到精細化的管理,總會有很是多的事情和收穫,還有一種方式就是跳槽,這個的前提也是你在儲備了不少的技能以後,由於機會是留給有準備的人。
虢國飛:我是從SQLServer轉型到MySQL的,感受這個轉型應該比Oracle轉MySQL更大,由於自己還要克服操做系統的區別(Windows轉型Linux),不過若是你已經有一個數據庫產品的經驗,再來學習其它數據庫產品,難度應該不是很大,由於不少底層的原理是相通的,概念也差很少,無非是各類產品在設計上側重點有不一樣、使用方式上有差別。
因此我以爲要完成這個學習轉型,首先心態上面應該放開(千萬不要帶偏見,認定哪一種好哪一種很差),經過對比的方式來學習和實踐,善於總結差別分析優劣,多和同行溝通交流,相信轉型過程不會太長。
李季鵬:從Oracle到MySQL轉型,不僅僅是一我的的學習過程,也是一個從開發到運維的磨合過程。
首先,戰略上要藐視敵人,熟練掌握Oracle的話,對於任何一種關係型數據庫的學習都是事半功倍的,特別針對MySQL,能夠視爲一個功能和手段作減法並尋找替代手段的過程;
但重要的是,戰術上要重視敵人,限於MySQL的特色,特別是中大型場景,把MySQL當Oracle用只會更加痛苦,必須放棄原有的Oracle視角,堅持MySQL大而化之的特色。
學習篇
Q1:從初級成長到高級,有推薦的MySQL學習路線嗎?
楊奇龍:DBA 是一個「複雜」的工種,要成爲高級/資深MySQL DBA,我總結了如下五點:
官方文檔是最好的學習資料。通讀官方文檔是最紮實的學習方式,目前大多數同行只是把官方文檔當作參考資料。其實把官方文檔理解透徹你已經能成爲高級DBA了。
紙上來得終覺淺,絕此事要躬行。多動手,多作實驗驗證技術功能點。
找一個有業務量的平臺,鍛鍊本身的技術能力。
能幹活,能寫文檔,能講。可以將本身理解的知識教會其餘人才算真的弄懂。
不懂業務的DBA 不是優秀的DBA,可以思考如何存儲數據,也要會和開發溝通討論業務如何訪問數據纔算最合理的。
參考DBA技能樹
http://blog.itpub.net/22664653/viewspace-2097142/
楊建榮:DBA乾的是一個手藝活(鷹眼,獅心,女人手),裏面有不少技巧,可是一個崗位從初級走向高級始終是經驗和實踐的積累,沒有其它捷徑。這裏給你們提供一個自查級別的方法:
Q2:關於MySQL學習資料、書籍或網站,你的推薦是?
楊建榮:簡單來講,官方文檔是最好的學習資料,在這個基礎上去閱讀更多的書籍會起到融會貫通的做用。若是推薦書籍,我有下面的一個讀書清單可供參考。
入門:
《塗抹MySQL:跟着三思一步一步學MySQL》
《MySQL數據庫應用從入門到精通(第2版)》
《MySQL核心技術手冊》
《MySQL技術內幕(第5版)》
運維實踐:
《高性能MySQL》 經典必讀
《MySQL管理之道:性能調優、高可用與監控(第2版) 》賀春暘
《深刻理解MySQL核心技術》帕奇維
《MySQL運維內參》 周彥偉、王竹峯、強昌金
《高可用MySQL》
內核:
《MySQL技術內幕:InnoDB存儲引擎(第2版)》姜承堯
《InnoDB – A journey to the core》Jeremy Cole
楊奇龍:在建榮老師的基礎,我再推薦:系統優化-《性能之巔》、開發-《Python 編程:從入門到實踐》
張青林:《數據庫系統原理》、《InnoDB存儲引擎》。
李季鵬:最爲建議的仍是官方文檔,若是嫌官方文檔英文看着麻煩,能夠關注Github上的MySQL 5.6 手冊翻譯項目(mysql2cn/manual56)。
Q3:你認爲研讀源碼是通向高級MySQL DBA的必備技能嗎?
楊奇龍:從個人理解來看 DBA 能夠分爲產品DBA、運維DBA、內核研發DBA。具備內核研發能力或者閱讀內核源碼的人,在瞭解具體技術原理時具備必定的優點。可是成爲高級DBA和是否研讀源碼不衝突。
須要注意的是,咱們要有打破砂鍋問到底的「要性」。其實大牛和咱們的差距就是對於一個個技術問題刨根問底的及時鑽研。好比你遇到thread running飆高的問題時,是把慢查詢優化了就行了嗎?仍是觸類旁通,反思什麼緣由會致使thread running飆高?要懂得去思考下面四個問題:
業務是否須要緩存或者異步更新?
鏈接池配置是否合理?
是否當時系統磁盤io有問題亦或是raid 卡充放電怎麼避免生產時刻重放電?
thread running 表明什麼意思?如何配置才能達到最好效果?
可否成爲高級DBA,在於咱們是否解決了通常人解決不了的問題的能力。
張青林:首先,我不認爲讀源碼是通向高級MySQL DBA的必備技能,即便不讀源碼,也是能夠成爲高級MySQL DBA的。讀源碼是爲了瞭解其工做原理,分析其瓶頸,而後從內核上作優化,這是內核研發的必備技能;作爲運維人員,只要懂其原理、使用方法,處理線上問題,並配合研發人員對線上進行維護,同樣是很高質量的工做,也是「源碼」落地的最重要的一部分,因此不可厚此薄彼。固然,讀源碼能夠更深層次的理解內核的工做機制,有利於學習。
Q4:針對MySQL的不一樣分支(Oracle官版、Percona、MariaDB),你更看好誰?
韓鋒:我仍是看好Oracle官版。過去幾年,官版MySQL的發展有些滯後,致使不少人選擇了其它版本,Oracle也看到了這一點。最近一兩年,隨着MySQL5.6、5.7乃至8.0的推出,官版已經逐漸追上了其它分支版本。依託於Oracle在數據庫領域的深厚底蘊,將來官版MySQL的發展更加看好。
若是選擇的話,我推薦的順序是:MySQL社區版->Percona->MariaDB->MySQL企業版。
張青林:我更看好 Oracle 官方版本,MySQL 被收構以後,Oracle 在MySQL上的投入不斷的增強,優化器、InnoDB、複製都推出了不少功能,如GR、多源複製、並行複製、優化器的重構、Undo空間的在線縮小、InnoDB的性能優化、加密表空間等,這些都是解決用戶問題的實際行動,Percona的開發也有很大一部分是基於 Oracle MySQL 來作的。
賀春暘:若是你想與官方MySQL版本儘可能保持緊密,而且想得到更好的性能、運維工具和有用的特性,那就選擇Percona。若是你以爲MariaDB對服務層的大量修改更快、更優,或者想要更普遍的存儲引擎,好比Spider分庫分表引擎,那就選擇MariaDB。
Q5:MySQL 的認證考試值得考嗎?含金量有多大?
楊建榮:MySQL的認證目前只有MySQL OCP,目前和Oracle OCP相比,資料和套路都會少一些。考這個認證,你得明白幾件事情:
認證裏的內容和工做的內容仍是有一些差異的,在MySQL裏面尤爲如此,由於開源的方案很是多,不少優秀的工具不只僅是官方的;
考過了認證不必定表明了你是一個數據庫專家,由於實踐出真知,不少技能都是在工做中培養和鍛煉出來的,考試有分數控制,達標即合格,而工做中99%的努力加1%的錯誤那就是失敗;
考取認證不能期望企業給你升職加薪,若是有的話,那麼恭喜你;
學習的過程相比考試結果來講,對本身的啓示意義更大,由於拿到認證是對你學習過程的確定;
最後一點MySQL OCP報名費相比Oracle OCP低很多,價格還算親民。
賀春暘:MySQL DBA職位門檻較高,一般須要工做經驗爲3年以上的,考取認證並非必須的,其含金量不大。
李季鵬:認證只是一個門檻,一個介紹本身時精煉的關鍵詞,實際上並不能等同於技術水平的真正高低。MySQL認證分爲開發與管理,我的建議能夠分別視爲本身在這兩條線路上學習掌握程度的一個檢驗手段,無需過度看重,也沒有必要徹底看輕。
趨勢篇
Q1:隨着MySQL功能的不斷完善,其體積也愈發龐大,你是否擔憂其將來會相似大型商業數據庫,再也不是「小而美」的表明?
張青林:沒有這方面的擔憂呢,無能否認,編譯後的 mysqld 文件愈來愈大,但並不影響 MySQL 的發展, 主要表如今如下幾個方面:
MySQL 提供了更多更好的選擇,也是對用戶的一種負責行爲;
MySQL的代碼質量從5.5、5.6 、5.7的版本迭代中能夠明顯看到代碼質量愈來愈高,易讀性愈來愈好、模塊化愈來愈強;
專業的測試團隊也是質量的保證;
因此,我以爲沒有用戶會由於多了幾十M的空間而嫌棄更好用的版本吧,我以爲關注的重點不該該是小而美,而是軟件質量和易用性。
虢國飛:主要仍是看場景需求,對於互聯網公司來講,強調的是高可用性,出問題能儘快恢復,不大可能把大把的應用或者數據放到一個籃子裏面,不然出問題影響比較大,恢復起來也會比較複雜緩慢;但由於如今不少分佈式部署的DB比較零散,量大了以後維護起來比較麻煩,也可能有部分需求是須要作一些遷移整合的,不過這些只是局部不是總體。
我以爲如今你們更關注的是如何實現自動化運維、集羣自動化和動態的擴縮容等方面,若是能經過技術把運維複雜度下降,管理再大的量其實都不是問題,如今不少開源產品也在往自動維護和動態擴縮容這方面攻關了。
賀春暘:不用擔憂,您能夠切爲MariaDB。只要移除MySQL,而後安裝MariaDB。你的全部工具,鏈接程序均可以正常運行。升級到MariaDB,你也不須要進行一次導出和導入,數據格式MariaDB是兼容的。
Q2:你認爲MySQL是否足以擔負起企業級應用的數據載體?若是不是,還缺少哪方面的能力?
楊建榮:我認爲MySQL技術正在走向成熟,可是MySQL的生態已經成熟。MySQL從早期的發展至今,推出的解決方案很是多,從MySQL 5.7,8.0裏面仍是能夠看到不少它在功能性、高可用、性能等方面都在發力,不少功能和Oracle很類似,都是一個逐步完善的過程,MySQL的使用羣體和社區決定了它如今的高度,並且絕大多數的互聯網公司都在使用MySQL技術,因此做爲企業級應用是徹底能夠的。可是如今的互聯網行業對於MySQL的青睞,不少不在於MySQL單機可以支撐的性能,而是在於靈活擴展的架構,對於MySQL的使用,再也不是集中式、共享式的方式,會作拆分、分佈式等。值得一提的是,不少大廠對於MySQL的技術把控力已經走在了世界前沿,而從技術架構的角度來看,如今是更傾向於把MySQL用得更純粹,更簡單,而不是大量的運算和壓力都放在數據庫側,這是MySQL生態帶來的一大優點,也讓更多企業級應用能夠落地。楊奇龍:顯然MySQL已經足夠成熟來承擔企業級應用的數據載體,這點最近幾年各個電商的購物節,每秒處理的交易筆數和數據量足以回答這個問題。固然咱們的業務需求是多種多樣的,除了常見的OLTP業務,還有其餘OLAP 業務,海量日誌類型的需求。在這方面MySQL 多少顯得不足以適應業務需求。
另外就是由於MySQL不能支持在線的擴容、HA,必須藉助第三方工具來作,不過好在5.7版本推出MGR ,Percona推出的PXC在很大程度上緩解了HA 方面問題。
賀春暘:主要是官方缺乏分庫分表的解決方案。MariaDB官方提供了Spider引擎做爲解決方案,但目前尚未正式GA。因此涉及非事務強一制的業務,如LOG信息等,一般是放入MongoDB裏,經過其自身的自動分片功能實現對數據的擴容。
Q3:你是如何看待數據庫中間層(例如Cobar、Atlas等)與數據庫的關係?
楊奇龍:準確一點的說是數據庫中間件,它們是數據庫服務的一種輔助,藉助數據庫中間件,數據庫能夠具備分佈式、讀寫分離、負載均衡、鏈接池、訪問控制等等功能,數據庫業務系統上具有更強大的功能和支撐能力。
中間件在必定程度上解決了單機數據庫系統容量方面的限制,能夠經過讀寫分離方式或者水平拆分的方式總體提高數據庫的吞吐量。
另外一方面中間件在數據分佈上利用shardingkey將數據獨立開,對於聚合類的需求是一種障礙。還有當前的數據庫中間件對於跨庫分佈式事務很難保證不一樣數據庫分片的數據一致性問題。這些都須要開發在使用中間件的時候注意下規避。
虢國飛:中間件目前在MySQL數據庫橫向擴容方面做用很明顯,固然不止侷限於此,咱們公司的DAL中間件就作了不少的功能,比方鏈接池、分片路由、限流、熔斷、加密保護等,這些功能不只能支持數據庫的橫向擴容,還有效保障了數據庫的安全,因此說中間件和數據庫目前是不少公司的黃金搭檔。
韓鋒:這些中間層產品,是爲了彌補數據庫的功能缺陷或性能、容量不足纔出現的。在必定階段,確實解決了企業的實際需求。當咱們也看到,其對應用開發還沒法作到徹底透明,總體架構的複雜度是提升了。從長期來看,分佈式數據庫勢必會從根本解決上述問題,到時這些中間層產品也就沒有使用意義了。
Q4:你所在的公司是否有成熟的MySQL運維平臺?若是是,DBA在傳統運維類工做逐步萎縮的狀況下,選擇什麼方向來發展?
虢國飛:我以爲一個公司的運維平臺發展基本有幾個階段:
首先是你們使用開源產品,可是發現有不少的不足,想要的功能沒有;
因而進入第二個階段,本身編寫一些腳原本彌補這些不足,可是當規模愈來愈大的時候,發現元數據和數據變動的維護變得愈來愈困難,並且很容易搞錯(一旦弄錯可能出現大問題),這個時候運維平臺就必須得上馬;
進入第三個階段,經過運維平臺整合你們的腳本,閉環元數據和數據狀態的變動,保障數據準確性,同時對複雜的架構進行屏蔽,讓操做的人能儘可能簡單,目前咱們就處於這個階段(固然有些內容還在完善中);
另外,其實不止是DBA,整個運維體系都在作轉變,傳統的玩法效率低、重複工做多,已經不適用互聯網公司高速度、快節奏的發展了,因此說DBA工做內容須要轉變,思想也須要轉變,應該向着如何快速交付、提升數據庫總體穩定性、高效率運維、打造適合更多適合業務須要的數據庫產品方案,甚至給研發輸出數據架構方案等這些方面發展,開始往前走,這樣價值能更大(傳統DBA每每是沉在最後面,領業績的時候沒有人影,只有出問題的時候纔出來背鍋)。
韓鋒:公司目前有數據庫運維平臺,固然尚未覆蓋全部運維需求,但也大幅度減輕了DBA的工做負擔。傳統運維類的工做,確實在不斷萎縮之中。在這種狀況下,DBA的發展可朝如下方向努力:
架構、優化方向從事數據庫架構、結構設計,性能、語句優化等方向工做。
DevOps方向從事和數據庫運維相關的開發類工做。
業務方向結合業務特色,分析如何利用數據庫更好的知足企業發展。
數據管理方向脫離數據庫層面,從更高的角度考慮公司的數據管理、治理類工做。
張青林:騰訊有很成熟的MySQL運維平臺,這簡化了DBA 的運維服務,提升了DBA的幸福生活指數。DBA 的運維工做較以前會少一些,可將多餘的時間投入到MySQL其它的相關工做當中,轉向研發型運維,如:
故障的自動化處理,自動分析錯誤日誌並預警;
MySQL 在線壓力測試與回放;
利用審記來實現秒級監控等;
只要是和數據庫相關的,本身又有想法的,均可以和研發一塊兒討論並嘗試。
將來篇
Q1:你認爲將來雲會成爲數據庫的主要載體嗎?若是是,它會對傳統DBA帶來什麼樣的衝擊?
虢國飛:我的認爲使用雲是一種趨勢,它能在資源交付、穩定性和成本方面爲企業提供很好的支撐,隨着雲產品的不斷完善,目前已經能夠知足大部分中小企業的需求,中小企業徹底能夠省心省力地使用雲(不用關心資源和維護,而專心作業務)。
不過如今公有云產品對一些要求比較高、量大的企業還不是特別合適(將來也許也不是問題);所以DBA也不要再固守傳統的城池,應該放開心態來面對這種變化,更多的把重心往上面所說的方向上轉,作數據架構、存儲方案,這樣價值更大。
韓鋒:將來雲必定會成爲數據庫的主要載體。人們能夠像使用水、電同樣,使用數據庫服務。傳統DBA,從事的基礎運維類工做基本不復存在。DBA,要麼繼續深研數據庫技術,在雲服務商或乙方服務類公司發展;要麼傾向於架構、開發、優化方向發展。
李季鵬:我的理解,公有云爲成爲初創企業和互聯網企業的主要使用者;傳統企業從各個角度考慮只會考慮私有云或者混合雲方案。這樣的場景,與之前小企業不須要DBA,大企業DBA忙不過來的基本狀況其實沒有本質區別。引入雲,DBA須要及時更新知識儲備,以應對各類新技術引入的挑戰。
Q2:你是如何看待分佈式數據庫的將來前景?將來哪些場景會優先考慮此類方案?
虢國飛:自從Google Spanner F1 發佈後,分佈式數據發展很快,跟隨者國外有CockroachDB,國內有TiDB,二者都發展比較火,從原理上來說也確實能解決很多業務場景的痛點,如數據一致性要求高(多副本分佈式協議保障一致)、數據容量很大、動態擴縮容、容災要求高、跨機房、跨地域的部署需求等,這類需求通常是對一些大公司、大數量和數據質量要求很高的公司纔會有,通常中小公司也玩不起來,由於分佈式數據庫部署的成本仍是比較高的(通常最小配置就是好幾臺機器),並且運維難度也比較大(沒懂行的人出問題基本搞不定),目前不少分佈式數據庫產品在性能和穩定性方面還須要進一步通過驗證,一旦技術穩定後,應該仍是比較有市場的。
韓鋒:很是看好其發展前景,特別近兩年來,已經有不少公司作了這方面的嘗試。隨着分佈式思想、算法的成熟及硬件技術的發展,將來分佈式數據庫將逐步成熟、完善,成爲主流的方案。做爲早期嘗試,可在數據安全要求相對較低的OLAP領域嘗試使用。
Q3:在不少公司,DBA正在愈來愈多地從事DevOps類工做,你的見解是?
楊奇龍:
首先,由於生產效率正在逐步提升,DB系統須要自動化,開發須要自助化解決工做生產過程當中的問題,所以具有DevOps能力是一個很是合理的發展趨勢。
其次,雲計算的普及以及大公司、第三方服務公司將專家級別的運維平臺產品化以後給DBA帶來的挑戰就是:純粹只會維護數據庫的DBA生存空間愈來愈小,DBA要麼具有開發能力並且可以將運維經驗落地,要麼具有足夠的數據庫周邊產品設計能力,好比設計出產品解決開發平常遇到的痛點。
最後 ,俗話說藝不壓身。瞭解什麼是服務化、Restful API 、微服務,什麼是MVC及經常使用的Web 框架、併發訪問控制等開發知識,可以更流暢地與開發溝通,站在他們的角度思考問題,從而更好地使用數據庫。