DBA在大資料雲端計算時代如何自保?未來資料庫的發展趨勢是怎樣的?
由雲和恩墨主辦的「DTC之資料庫技術實戰線上峰會」每週四都會邀請業內外技術大咖進行一小時的線上主題分享。5月30日,我們邀請到了21CN DBA主管、技術專家、資料庫架構師成思敏老師,帶來題為《雲資料庫反脆弱性運維體系》的分享。 詳情:講師專訪丨21CN成思敏:優秀DBA必備的技能和素養和雲資料庫運維
走向成功的道路從來都不是一帆風順的,但成功者往往具有某些相似的特徵。在演講開始之前,我們DTC線上峰會組織者採訪了成老師,請她分享了15年的DBA成長之路,以及是如何迎接新技術的挑戰、日復一日的學習策略,進而完成職業生涯的進階,成長為技術專家、資料庫架構師、公司DBA主管。
21CN DBA主管、技術專家、資料庫架構師 成思敏
以下為採訪正文:
使命、責任感驅使我不斷學習
DTC:請先和大講堂的使用者介紹一下您,以及您感興趣的技術是?
A:大家好,我是21CN成思敏,對資料庫技術持久產生熱情的老牌DBA,很高興與大家分享資料庫知識與經驗,我是從ORACLE技術成長起來的,因為不斷有專案的需要,開始去ORACLE,及對新型資料庫的管理,解決各種資料庫與中介軟體相關問題。因為公司DBA團隊不斷壯大,就培訓與培養新人。作為非常重量級DBA盛會的DTCC講師,我很榮幸。今天能在恩墨大講堂與大家分享經驗,我也非常榮幸,非常開心。與資料庫相關的話題我都比較感興趣。
DTC:有句耳熟能詳的的話是“做資料,就是場修行,其樂趣就在於它永無止鏡”,為何選擇資料庫這個領域?您認為是什麼使您深深地投入這個領域的?
A:“做資料,就是場修行,其樂趣就在於它永無止鏡”,對DBA來說很貼切。資料庫是一門藝術,解決不了問題,效能最佳化不了,那是相當痛苦的,但是一但解決問題,那種成就感與藝術家沒區別。很多年前,因為專案需要,我負責的專案中有資料庫,為了做好專案,去初步瞭解並做了資料庫的測試實驗,查詢相關的資料,發現真是一個深似海的天地,於是才決心投入到資料庫這行業中來了。
DTC:各種新技術層出不窮,怎麼掌握技術的趨勢?以及您個人是如何學習新技術的?
A:其實每個人精力是有限的,對於新技術趨勢的話,DB-Engines()上面的資訊面比較多,我經常分析與參考上面的資訊;技術資訊網如CSDN、51CTO、開源中國、GitHub、ITPUB等;另外,經常看些論文、專利文章(國外比較少,有機會我還想多閱讀下國外的巨頭公司及高校論文),還有行業大會也非常重要。
新技術越來越多,首先是需要看公司的需要,挑些公司可能需要的資料庫技術,首先搜尋這種技術的實踐情況(公司落地、網友技術分享),另外就是快速閱讀官方文件,進一步真實瞭解該技術到底可以做什麼有什麼缺陷等,然後就是實踐。
DTC:您如今,每天負責公司的DBA團隊,也需要不斷的學習新技術,以及大量的人才培養等,事情比較多,在時間安排上您什麼心得和體會可分享?
A:其實之前上班時間根本沒有學習時間。因為使命、責任感,必須讓自己提高已成為一種習慣。每天有幾個時間點我抓得比較緊:
早晨6點左右,起來之後速度看書40分鐘
提前半小時以上到公司(看書及資料)
利用中午一小時(一個半小時午休,半小時吃飯)學習,
週末也利用一部份時間
思考常常是在深夜,每天都會積累很多的問題,並在深夜常常獲得靈感,得到答案。
開始是強迫自己的,幾年後發現不學不自在(自我認為不學習自己就變俗氣了)。資料庫雖然是門藝術,但責任感讓人想問題更多些,成長就非常快了。
DTC:能否回顧一下自己的職業之路,談一談畢業後這些年在工作中的收穫和體驗,以及職業路上的故事?
A:我所得的榮譽是來自於DBA,所得益的也是因為從事DBA,以DBA為榮,雖然經歷的都是挫折、坎坷與挑戰:
2010年公司有一個Oracle核心系統效能不穩定,我曾經連續奮戰三天兩夜,中間也只休息了半小時
2012年,為了資料庫的穩定性,出差27天(日夜都在分析與解決問題)
2013年冬天為了異構,不論天寒地凍、不分晝夜,連續三四個月與研發討論、交涉、博弈、分析
2016年春節,有春節紅包活動,我有事請假不能在現場,但即使在路上,一小時一停車去與研發及團隊溝通問題,並提供思路等
……
優秀DBA需要掌握的技能與素養
DTC:DBA,DBA是英文Database Administrator的簡稱,也就是資料庫管理員,是負責維護和管理資料庫伺服器的專業技術人員,您有著15年資料庫工作經驗,現在作為DBA主管、資料庫架構師,您對DBA的理解是?以及您認為DBA需要什麼樣的技能和素養?
A:資料庫管理員,是需要關注資料,也需要關注庫,即需要關注資料與服務,要關心如何運算元據庫(程式),從而來保障好資料庫。DBA是一個系統架構專案產品的核心保衛戰士,有很高的話語權。但這就要求DBA不要只做好資料及庫的事,更重要的是需要理解產品,需要知道系統特徵,從而才能更容易把問題分析透徹,根本上解決系統的表面問題。
個人認為DBA需要掌握的技能與素養有這幾個方面:
1. DBA應該是一個系統的運維工程師,瞭解資料庫所掌握的作業系統(操作與調優)
2. 所負責的資料庫專案相關所有的特徵,瞭解效能峰值及業務增長
3. 資料庫本身,維護相關的如部署,調優,備份,恢復,遷移,升級,巡檢等基本能力
4. 理解監控,對監控的每項語義明瞭並不斷最佳化監控
5. DBA需要事中應急的技能,應急就是保障業務的連續性(如自動切換的能力),故障的快速診斷,快速修復資料,快速恢復資料
6. DBA需要有危機意識,把自己所負責的資料庫相關的問題,能想多少就想多少,不斷平時發現問題,從而不斷提高技能的同時,更多的是為保障提供業務技術與服務
7. 一個好的DBA,是不斷的實驗,實驗再實驗的,既是對系統的演練,更是對自己技能的演練,這樣才能速度提高自己的水平。(我記得,初始為DBA時,我一天可能實驗有超過每天五六小時)
作為職場中人,我們都需要生存。我們很多人,都是被人管理,也有管理人的,從管理角度上(我自學了很多年MBA等管理相關專業等),我們需要了解公司需要做什麼,我們如何去做符合專案的事(這個課題請大家以不同的方式思考),如何才能做一個超過DBA本身的事,做符合公司價值觀的工作,而不是悶著頭一直做。只有符合公司價值觀的工作,才能真正使我們成長。即使我們做對了一件資料庫恢復的事,也是體現公司價值的一部份,我們也是了不起的。但其實要想自己職場中發展,更多的是做好本職工作同時,更需要創新的思路,這對公司與自己都很重要。
DTC:運維DBA和開發DBA相通和區別的地方是?
A:DBA無論是運維DBA還是研發DBA從本質上都是來解決保障資料庫問題,從而支撐專案可落地,可健康運營的目的。運維DBA比較靠表面一些,運維DBA是施工、調優、監控、更新、備份恢復等從系統的層面來保障業務的,研發型DBA主要從研發及功能與效能設計的角度上,對資料庫表、欄位、資料、SQL等設計的方向去讓產品匹配系統的,是基於資料庫與專案的點不同但都是解決同一專案。
DTC:大資料/雲端計算時代,給DBA帶來了哪些新的挑戰?
A:大資料/雲端計算時代已來臨好多年了,市場逐漸成熟,DBA做精資料庫已很難做到了。現在大家都不是一直看著Serverless方向發展了嗎?DBA需要懂得更多。無疑,關係型資料庫還是主流,但業務逐漸有不少方案選擇NoSQL等型別;NoSQL型別,往往是無維護模式的(即有叢集,表模型很簡單),調優常常是研發的事,在這種調優,除了引數調優之外,傳統DBA往往無很多事可做,但故障來了,卻又很難解決(解決往往也需要研發來解決),主要是因為對NoSQL的不熟練,及很多NoSQL型別資料庫其實並沒有傳統資料庫成熟,資料也不夠多等,DBA經歷不夠,而比較被動;
雲端計算上資料庫例項和業務過多,而DBA如何和之前一樣最佳化好、監控好、保障好,這個挑戰很大的,產品使用者體驗已成為企業競爭力的一個核心要素,而業務大、質量要求更高,對DBA保障業務更是一個挑戰。
DTC:DBA通常會遇到技術、職場等多角度的瓶頸,於您而言是否有那麼歷經困苦突破之後的事情?
A: 可能平時我想問題比較多吧,不想一直悶著做事,因為我知道,一直做下去,就跟個工人沒兩樣。所以,我需要去不斷突破自己。僅做部署、備份、恢復等是不夠的,因此,在實驗之餘,考證照是我第一個想到的。選擇了OCM的考試,第一,主要是想知道整個Oracle有什麼,我如何掌握技術核心;第二是掌握後,我可以能夠擔負公司更重要的專案及任務,順便對自己知識最佳化等。
另一個是雲端計算與大資料來了之後,要去IOE,我辛苦花好多年學來的東西要去掉,雖然不是從0開始,但又得重新從0開始,不斷適配公司要求的技能是我們必須每天要做的事吧,無論是不是DBA,市場、公司需要什麼,我們都得做吧。所以,就開始轉型做分散式、NoSQL類的資料庫研究與測試等工作,速度轉型。
我現在還在轉型與學習中,有更多的難題(在平時思考中獲得的,及公司所遇到的),需要突破自我(調整技術結構,瞭解技術能力,識別技術可行性,技術價值落地等),需要更強大,幫公司成就專案,找合適的主題與命題給團隊讓團隊更加健壯的成長,當個很好的螺絲釘。這個是我每天在做與想的問題。
雲資料庫的運維新挑戰
DTC:新的框架層出不窮,例如資料儲存領域的發展,從檔案、關係型資料庫、NoSQL 資料庫、分散式資料庫等,五花八門的新技術,有些是曇花一現而有些則變成主流選擇。何時引入新工具和引入哪種新工具提高生產力,就變成了一個考驗眼光的技術活兒。有時候存在一種是為了引入而引入麼的情況,小公司沒有歷史包袱,新技術對他們誘惑力很大,對此您有什麼經驗可分享?
A:對於新技術的選擇,我們壓力比較大,因為有質量及故障考核,這是一個矛盾;技術創新與質量要求的考核,有時候也是一種制約。但作為公司來講,是鼓勵創新的,公司更要求穩定中求發展。一般樹立命題,是題目評審-技術調研測試-部門內分享結果,這特別要讓研發知道。需要推廣新技術落地時,需要評審技術落地的理由,然後作為儲備技術,當有專案場景需要時拿出來再用。
DTC:雲資料庫悄無聲息地已到來,可否分享下資料庫的發展歷程,以及具體介紹下雲資料庫?其和傳統資料庫有著怎樣的區別?
A:雲資料庫離不開雲端計算,雲資料庫是建立在虛擬機器上為基礎的,帶有云計算的特徵、共享、彈性、智慧。傳統的資料庫拿Oracle來講,本身是比較重的,安裝部署都是個重型的工程。雲資料庫輕巧,有更多解決方案,能組建更多的架構(自動切換、讀寫分離、分散式、資料中心多活);傳統的資料庫可選的不多。雲資料庫更是利用了雲端計算強大的全棧技術能力,更是有了共享資料的能力,同時可以隨意實施主機熱遷移的能力(快速遷移)。
類別 | 雲資料庫 | 傳統資料庫 |
主要資料庫 | 以RDS(MySQL)為主 | 以Oracle為主 |
安全性 | 雲端計算已安全保障了大部分安全 | 安全性比較嚴重 |
效能 | 單例項效能不高 | 單例項高效能 |
資料量 | 單例項不能資料量過大 | 可以支撐大資料量 |
遷移 | 不影響服務,秒級切換(叢集或從庫) | 遷移是個大工程,切換教久 |
併發性 | 分散式構建容易,解決儲存IO | 儲存瓶頸較難解決 |
連續性 | 高可用、聯絡性好 | 切換較慢,關注資料一致性 |
服務 | 分散式構建,區域性失敗,多種連續性解決方案 | 過於集中化 |
對DBA要求 | 需要綜合使用工具的能力 | 需要專業的調優能力 |
雲資料庫與傳統資料庫比較
DTC:雲資料庫服務運維體系需要注意哪些問題?
A:雲資料庫服務,是服務就會出問題,必須轉換的思路(資料庫單服務實體不能影響整個系統,堅持故障無害思路,不要相信單節點的能力)。
在基於整體架構的基礎上,把每個問題點列出來,持久頻繁演練,制定出自己適配運維方式,才能有問題不會慌亂;另外,雲資料庫一式三分(主、備、異地備,不要去相信任何一個單節點的服務與資料),同時,在每份備份上,有邏輯備份,這樣才能長治久安。雲服務自動化運維能力非常重要,讓系統管理資料庫,而不是讓人去管理資料庫,這樣的思路理念。人的操作代價是極高的,操作有限,水平有限,運算元量有限,因此,一定需要按照系統解決系統的思路來走。
問題項 | 問題描述 |
“問題”SQL增多 | 非高併發的INSERT都可能成為慢查詢 |
SQL不穩定執行 | 執行計劃會變化 |
監控不準 | 虛擬機器本身沒問題的情況下,效能有問題 |
雲資料庫服務劇增 | 例項過多,DBA不能只關注個別例項 |
中介軟體增多 | 需要研發例項來支撐中間,頻繁更新 |
中介軟體問題多 | 理論上的分散式資料庫,中介軟體是瓶頸“咽喉”,仍然是中心化類的資料庫 |
架構過高,中間損耗大 | 中介軟體與MySQL單個效能都不是很高,基於資源有些浪費 |
雲端計算資源池過於集中 | 過多的服務互相影響,儲存級別的問題排查困難 |
跨機房系統增多 | 專線與公網影響整套系統的穩定性與RTT的返回速度 |
排查問題難 | 基於不可控的問題多,排查問題相對困難,“無頭案”增多 |
雲資料庫服務運維體系存在問題特徵
DTC:可否介紹下21CN的雲資料庫服務情況?
A:雲資料庫已是21CN做專案的標準,不再提供傳統資料庫服務,之前未遷移上雲的專案繼續完成(個別專案);而有個轉變是,之前雲資料庫經常用的SATA、SAS磁碟,現在逐漸使用SSD等高效能的硬體儲存做為雲專案的標準。還有,我們的業務也越來越多了,挑戰每天都有,不過,我們蠻有信心與信念做好的。
DTC:本期您分享的雲資料庫服務脆弱性是什麼?為什麼關注這個事情?
A:脆弱性往往在系統上講指安全性,不堪一擊,這裡的脆弱性指與資料庫服務相關的所有質量屬性問題:故障、服務失敗、同步失效、資料恢復、同步不一致、資料有效性、成本可控性,凡是命中在資料庫上所有的問題都屬於脆弱性。因為往往表面發生在了資料庫上面,但往往是別的原因,因為雲資料庫屬於PaaS,並且可選擇的資料庫型別雖然多,但問題也會多起來。
DTC:某一項新技術/趨勢的誕生,往往技術圖書很快出來,可否推薦一些雲資料運維的優質圖書給大家?
A:這個需要結合雲端計算及運維及資料庫相關的資料結合起來才可以:《分散式資料庫系統原理(第3版)》、《SRE:Google運維解密》、《AWS雲端計算實戰》等很多,一般我是看幾家公司比較多些:Google、AWS、微軟等這些工程師寫的,我經常也直接把噹噹也當知識庫了,需要什麼型別的資料,搜相關的書,看大綱內容,理解思路等。
關係型資料庫依舊主流,未來也是主流
DTC:對從事DBA行業的人的人,您有什麼對他們說的話?
A:DBA是門職業,也是一種榮譽,DBA站在自己的角度,守護自己的系統同時,時刻傳遞資料庫服務價值(不要悶著頭去工作),讓公司走得更好,也才能自己走得更遠。
DTC:以您多年豐富的工作經驗,您如何看未來資料庫技術的發展和趨勢?
A:應用資料應用越廣泛,資料庫就會被用得越來越多,資料庫越來越智慧與靈活。關係型資料庫依舊主流,未來也是主流。多模資料庫型別發展迅猛,原生資料庫的思路是一個亮點,(SQL與NoSQL較完美的結合,前端SQL後端NoSQL);另外,資料庫叢集元件越來越好,如RAFT、PAXOS協議的相關應用。
DTC:能否談一下您和雲和恩墨大講堂的淵源?以及對大講堂有什麼建議?
A:雲和恩墨公司當初我就知道的,當初我也是看蓋老師的技術部落格()成長起來的,重量級的DBA都在這裡雲集,令人看到資料庫持續有人往下走的希望與力量。
希望大講堂能夠像網易公開課一樣,話題多、專業性強、趣味,有時候可能講下資料庫發展歷史的牛人奇人奇事等,讓更多的人參與等。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556440/viewspace-2645968/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 雲端計算和大資料未來發展趨勢分析大資料
- IPIDEA研究,大資料時代未來的發展趨勢是什麼?Idea大資料
- 雲端計算和大資料那個專業好?雲端計算行業未來發展怎麼樣?大資料行業
- 2019年資料時代,你瞭解大資料未來的發展趨勢嗎?大資料
- 從資料庫發展史看資料庫未來技術趨勢資料庫
- 大資料的發展趨勢大資料
- 大資料時代必須把握的未來七大趨勢大資料
- 亞馬遜CTO:未來雲端計算髮展八大趨勢亞馬遜
- 曹老道聊大資料雲端計算時代的DBA破繭大資料
- 大資料技術 未來發展前景及趨勢分析大資料
- 大資料時代下的雲端計算大資料
- 學習雲端計算怎麼樣?未來10年雲端計算發展前景如何?
- Python未來的發展趨勢怎麼樣?Python
- 虛擬化和雲端計算未來發展趨勢薦
- 雲端計算的6個未來趨勢
- 通證、區塊鏈、大資料結合將是未來發展趨勢區塊鏈大資料
- 多智時代,大資料發展趨勢預測大資料
- 未來10年雲端計算發展前景如何?雲端計算的優勢在哪裡?
- 元宇宙是資料空間?大資料時代的新趨勢來了元宇宙大資料
- 雲端計算是什麼?雲端計算的發展趨勢是什麼?
- 雲端計算成為未來趨勢
- 大資料未來發展大資料
- 雲端計算技術發展的六大趨勢
- 八大趨勢看透大資料分析的未來大資料
- 大資料發展趨勢在哪裡?大資料
- 大資料發展趨勢預測大資料
- 大資料是什麼?大資料的趨勢?大資料
- 【網路資料與科學】大資料時代:領航未來 大資料四大趨勢凸顯大資料
- 雲端計算時代企業要如何迎接大資料?大資料
- 計算時代的計算機技術發展趨勢計算機
- 大資料前景:大資料未來的7個發展方向大資料
- 學習雲端計算怎麼樣?大資料比雲端計算更好嗎?大資料
- 雲端計算時代資料安全的三大竅門
- 雲端計算:大資料時代的系統工程(三)大資料
- 雲端計算:大資料時代的系統工程(二)大資料
- 淺談雲端計算時代的資料庫執行資料庫
- 資料管理治理的發展趨勢
- UI設計師未來的發展趨勢UI