MySQL DBA如何從刪庫跑路到carry全場
小王,中學成績普普通通,畢業之後在一所名不轉經傳的本科學校讀了計算機專業,併成為了一名MySQL DBA。DBA這份工作卻不簡單,進階路上出現了不少攔路虎。
攔路虎NO1: 小王滿心歡喜的進入到現在的公司,以為肯定能在技術總監的照拂下快速成長。哪想到,領導技術雖牛,但是卻很難纏,每次完成工作都免不了被三番兩次的“找茬兒”,而且領導還總喜歡用“我們是家大公司”來懟自己,這讓小王感覺DBA這份工作真是不好做!
攔路虎NO2: 不久前,小王所在的公司迎來躍進式發展,站在風口上飛起來了。小王還沒來得及為公司高興,就發現資料量正以火箭般的速度增長,很快單機資料庫就存不下了。
向下要解決資料暴漲的資料庫問題,向上要面對不斷“找茬兒”的技術總監,小王鬱鬱寡歡。本來每天的工作就已經夠苦逼了,這下還得把業務層的程式碼全都改個遍,動中介軟體,分庫分表,小王頂著濃濃的黑眼圈感嘆“這是要搞死我啊。”
為了消滅這些攔路虎,小王絞盡腦汁,抓狂之餘甚至想刪庫跑路。小王急得如熱鍋上的螞蟻,不得不去網上遍搜寶典,沒成想還真讓他給找到了。江湖上流傳著一種結合了MySQL和分散式演算法的秘籍——RadonDB,原來基於單機版MySQL開發的應用程式幾乎不用做任何修改就可以遷移其上!
遷移之後,讓小王頭疼不已的分庫分表問題就迎刃而解了,RadonDB支援自動分庫分表,預設可支援單表最大4PB的容量。在小王的解決方案中整張表有4096個slots,他把整張表劃分成32個小表,其中每個小表是128slots。在擴容時,RadonDB優先以小表為單位進行全量遷移,記錄下當時遷移的位點,增量追加。遷移過程中小王驚喜的發現,因為都是MySQL表,所以操作很簡單,而且除了擴容還可以縮容。
搞定這一切之後,小王高興的去向技術總監交差,技術總監看過遷移效果後,驚訝之餘繼而發問:“嗯,這個分庫分表是解決了,但我們們是一家大公司呀,少不了要進行高併發查詢和跨物理節點的查詢,如何解決查詢時的效能問題呢?”
“呃…效能問題其實也好解決呀,”小王抹了抹額頭上滲出的汗,心裡慶幸的想,還好之前做足了功課,“RadonDB的設計中有個很大的亮點——計算節點,當SQL節點對SQL請求解析之後確定出複雜SQL,會將請求路由至計算節點。而計算節點儲存的是全量資料,並透過binlog對資料進行增量更新,所以,所有複雜的SQL都會在這裡進行計算然後將結果返回給客戶端,這就解決了複雜查詢時的效能問題。而且這個計算節點是外掛式的,我們甚至可以用強大的AP資料庫來充當。”
“好好好,這個我瞭解了,但小王你要知道我們是家大公司呀,一分鐘幾千萬資料浮動的那種,你這個方法在分庫分表和擴容方面確實簡單,但是在高可用方面可靠嗎?你要知道當機一秒鐘,你我就只有跑路的份兒,你呀還是太年輕。”
“哎呀,領導,你說高可用這麼重要的事兒我能忘嗎?放心,我早就搞定了!”小王心想技術總監還真是不能糊弄的,“想要做到高可用,無非就要做到以下三個方面:一是選主策略,二是與原Master資料同步,三是新的主節點快速應用資料,對外提供服務。如何實現高可用呢?RadonDB爆出了一個極品裝備——xenon。”
“說到這個xenon,它有兩大神器,分別是Raft選主協議和MySQL GTID。Raft 選主協議,顧名思義就是用來選主的,當主副本出現故障不可用時,從副本會自動發起選主請求,這時與主副本資料完全一致的從副本就可以成功上位成為主副本。”
“那麼問題就來了,怎麼樣才能做到和主副本資料一致呢?這就是要講到MySQL GTID了,強Semi-Sync-Replication技術可以確保至少有一個從副本與主副本的資料是完全同步的。這種高可用的方式,領導你覺得這麼樣啊?”
聽小王得意洋洋的講完,技術總監心中一驚,嘿,沒看出來這小子準備還挺充分,結巴道:“你看,我們是一家大公司……考慮問題就是要這麼全面!”小王心中一喜,哎呀,可算是過關了。
寫在最後
雖然這是一個虛擬的小故事,但是RadonDB這款產品確是真實存在的,故事中解決的業務場景也是真實存在的。相比於以往的資料庫產品,RadonDB不僅在容量控制方面有獨到的方法,自動分片,動態擴容,而且還創新性的引入了計算節點,使得複雜SQL可以透明計算,是資料庫發展歷程上跨越式的里程碑。
此外,RadonDB充分發掘了新一代英特爾至強可擴充套件處理器的能力,特別是其整合的全新英特爾AVX-512帶來的更為強悍的運算能力,進一步最佳化了自身的資料庫效能。RadonDB也將採用3D XPoint技術的英特爾傲騰固態盤作為分散式資料庫快取,進一步提升吞吐量和更低的訪問延遲,給使用者帶來最佳體驗。
2018年5月10日,RadonDB在第九屆中國資料庫技術大會上正式宣佈開源(GitHub地址:)。知數堂創始人吳炳錫在筆者採訪中曾表示,RadonDB的開源向我們展示了更多的技術創新性,而這種創新將給DBA的技術生涯帶來更多的機會和創新思路的借鑑。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31137683/viewspace-2200084/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 從刪庫到跑路,DBA 如何防止被淘汰?
- 《MySQL——從刪庫到跑路》阿里架構師分享刪庫跑路救命策略MySql阿里架構
- Redis勒索事件爆發,如何避免從刪庫到跑路?Redis事件
- 如何刪庫以後不跑路
- Linux刪庫跑路Linux
- 刪庫不跑路-詳解MySQL資料恢復MySql資料恢復
- Linux Shell 從入門到刪除根目錄跑路指南Linux
- Linux Shell從入門到刪除根目錄跑路指南Linux
- babel從入門到跑路Babel
- 我刪庫跑路失敗了
- The Data Way Vol.3|做到最後只能刪庫跑路?DBA 能做的還有很多
- 程式設計師刪庫跑路了?程式設計師
- Kotlin從入門到跑路(一)Kotlin
- Docker實戰-從入門到跑路Docker
- MongoDB從入門到刪庫MongoDB
- 【轉載】Redis最新漏洞,刪庫勒索+跑路!!!Redis
- 看完這篇不在擔心刪庫跑路
- 刪庫跑路?你應該看看雲資料庫資料庫
- MySQL DBA 面試全揭祕MySql面試
- 刪庫後,除了跑路還能怎麼辦?
- “刪庫跑路”重現江湖,技術和制度如何保障資料安全?
- 寫了Bug,誤執行 rm -fr /*,我刪刪刪刪庫了,要跑路嗎?
- 又一程式設計師刪庫跑路了程式設計師
- 坑坑坑,刪庫跑路的多種隱含命令
- 從金融街往事到全場景智慧金融未來
- 《Golang 從入門到跑路》之開發環境搭建Golang開發環境
- 刪庫跑路又發生了,企業應該如何杜絕此類事件發生?事件
- 從前端到全棧前端全棧
- 從Excel到匯入MYSQL資料庫ExcelMySql資料庫
- 王者榮耀智慧機器人開箱評測:旋轉的呂布帶你Carry全場!機器人
- 京東到家程式設計師離職當天刪庫跑路程式設計師
- 無需跑路,GitLab 刪庫事件的借鑑意義Gitlab事件
- 刪庫了不用跑路!binlog恢復資料實操
- Shader從入門到跑路:自定義紋理輸入
- Shader從入門到跑路:實作螢幕扭曲效果
- Shader從入門到跑路:螢幕後處理效果
- 從DBA到Oracle Applications DBA的轉變過程 (轉)OracleAPP
- 同事刪庫跑路後,我連表名都不能修改了?