一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

淺談在MySQL應(yīng)用上的挑戰(zhàn)

大?。?/span>0.05 MB 人氣: 2017-10-11 需要積分:1
2016年4月22日-23日,由CSDN重磅打造的數(shù)據(jù)庫核心技術(shù)與實(shí)戰(zhàn)應(yīng)用峰會(huì)、互聯(lián)網(wǎng)應(yīng)用架構(gòu)實(shí)戰(zhàn)峰會(huì)將在深圳舉行。
  這是繼3月中旬,SDCC之架構(gòu)&數(shù)據(jù)庫峰會(huì)在上海圓滿收官后的再一次相聚。上海站上,18位技術(shù)講師給超過500名的現(xiàn)場(chǎng)參會(huì)者帶來了精彩分享,火爆程度超出主辦方想象。
  即將到來的SDCC深圳技術(shù)峰會(huì)講師陣容強(qiáng)大,主辦方邀請(qǐng)了來自于百度、阿里、騰訊、滴滴出行、攜程、平安科技、AdMaster、華為、京東、唯品會(huì)、一號(hào)店、中國電信、閱文集團(tuán)等公司的技術(shù)骨干、首席架構(gòu)師來為與會(huì)者分享演講和交流,必定是一場(chǎng)技術(shù)人的饕餮盛宴。【目前限時(shí)6折,點(diǎn)擊這里搶票】
  在即將到來的SDCC深圳技術(shù)峰會(huì)召開之際,由CSDN負(fù)責(zé)數(shù)據(jù)庫技術(shù)領(lǐng)域的小編采訪了一些參會(huì)講師,談?wù)勊麄儗⒃诒敬位顒?dòng)所分享的內(nèi)容。
  
  騰訊高級(jí)軟件工程師 雷海林
  本期采訪的講師是來自騰訊高級(jí)軟件工程師 雷海林,他有著10年以上的Linux后臺(tái)Server開發(fā)經(jīng)驗(yàn),目前主要從事分布式Cache、實(shí)時(shí)大數(shù)據(jù)處理引擎,分布式MySQL(TDSQL)設(shè)計(jì)和開發(fā)工作。
  他將在SDCC 2016 深圳站之?dāng)?shù)據(jù)庫峰會(huì)上分享的主題是《 騰訊金融云數(shù)據(jù)庫備份恢復(fù)原理與實(shí)踐 》,全部數(shù)據(jù)庫技術(shù)峰會(huì)講師情況和議題等可參見:SDCC深圳站數(shù)據(jù)庫/大數(shù)據(jù)專場(chǎng)講師議題全公布。
  以下是專訪內(nèi)容:
  CSDN:首先請(qǐng)簡(jiǎn)單介紹下您和您所在的公司,以及目前所負(fù)責(zé)的領(lǐng)域。
  雷海林:我叫雷海林,現(xiàn)任職于騰訊公司TEG計(jì)費(fèi)平臺(tái)部,目前是騰訊金融級(jí)高一致性分布式數(shù)據(jù)庫TDSQL的技術(shù)負(fù)責(zé)人。
  CSDN:騰訊作為業(yè)內(nèi)知名企業(yè),您在騰訊擔(dān)任高級(jí)軟件工程師以來,有沒有給您留下印象深刻的人或事呢?
  雷海林:加入騰訊公司以來,從最初的很簡(jiǎn)單的后臺(tái)Server開發(fā)開始,中途經(jīng)歷了各種跨IDC,跨城容災(zāi)技術(shù)方案的挑戰(zhàn),然后再到高一致性分布式Cache,實(shí)時(shí)大數(shù)據(jù)引擎的開發(fā),最后又因?yàn)镾SD技術(shù)的大量普及和團(tuán)隊(duì)對(duì)分布式數(shù)據(jù)庫的要求,很幸運(yùn)與小伙伴們一起實(shí)現(xiàn)了TDSQL,感覺技術(shù)是需要持續(xù)積累和堅(jiān)持,要時(shí)刻擁抱變化,這樣機(jī)會(huì)來的時(shí)候才能及時(shí)抓住。
  CSDN:在開發(fā)過程中,您和您的團(tuán)隊(duì)遇到哪些技術(shù)難點(diǎn),并且每個(gè)階段又是如何克服的呢?
  雷海林:我目前印象比較深的有如下幾個(gè)方面:
  我們團(tuán)隊(duì)雖然使用MySQL有上10年的歷史了,但是真正在做TDSQL的時(shí)候發(fā)現(xiàn)大家在MySQL源碼的積累上還是不多的,所以在做的過程是充滿了不確定性和忐忑,比如需要某個(gè)功能,那么不確定業(yè)界是否已經(jīng)有相關(guān)的討論或者補(bǔ)丁,自己做修改是否能融入MySQL等等,出現(xiàn)這些問題都是源于我們對(duì)MySQL缺乏足夠的了解,同時(shí)MySQL又已經(jīng)非常龐大了,因此我們需要補(bǔ)足這塊的知識(shí)。最終我們是采用7*12的工作制連續(xù)封閉了3個(gè)多月,仔細(xì)閱讀MySQL手冊(cè),閱讀各種關(guān)于MySQL內(nèi)核,高可用技術(shù),MySQL運(yùn)營優(yōu)化相關(guān)的書籍和博客,分模塊熟悉MySQL代碼等等,再逐漸引入對(duì)MySQL,Pg,Oracle等數(shù)據(jù)庫熟悉和感興趣的同事,最后才感覺入門了,可以動(dòng)MySQL了,當(dāng)然現(xiàn)在還需要不斷地學(xué)習(xí)。
  高一致性的改造:其實(shí)在做TDSQL之前,為了避免數(shù)據(jù)丟失,業(yè)界大部分采用的方案是半同步和Galera集群技術(shù),但是我們?cè)诮?jīng)歷大量測(cè)試過程中,發(fā)現(xiàn)在數(shù)據(jù)一致性,跨IDC性能方面還是存在不少問題,而我們團(tuán)隊(duì)以前積累的高一致性切換技術(shù)又沒法直接套用,同時(shí)發(fā)現(xiàn)MySQL在金融領(lǐng)域也沒有太多的成功案例可以參考,所以是很糾結(jié)和苦惱的,但是大家都意識(shí)到NoSQL是很有局限性的,基于MySQL的高一致性改造方案是必須搞的,最終我們靜下心來,仔細(xì)研究CAP理論并結(jié)合我們多年的后臺(tái)開發(fā)經(jīng)驗(yàn),最終找到的解決方案是在MySQL開啟線程池的情況下,通過異步化改造是可以實(shí)現(xiàn)性能的提升,同時(shí)結(jié)合我們以前在高一致性的技術(shù)積累引入容災(zāi)調(diào)度,選舉,閃回等技術(shù)最終實(shí)現(xiàn)了目前的強(qiáng)同步架構(gòu),一方面保證了跨IDC的高性能,同時(shí)保證了單IDC故障能自動(dòng)切換,并且能保證事務(wù)零丟失。
  分布式方案:MySQL采用的share nothing架構(gòu),在互聯(lián)網(wǎng)大數(shù)據(jù)量的場(chǎng)景下主要靠業(yè)務(wù)層來做水平和垂直拆分,犧牲了很多關(guān)系數(shù)據(jù)庫的精髓。為了讓業(yè)務(wù)層能得到解放,必須將這個(gè)工作放到數(shù)據(jù)庫層來實(shí)現(xiàn),目前解決方案都是通過引入中間件來解決這個(gè)問題,當(dāng)然TDSQL也是采用這個(gè)思路;在做TDSQL之前我們已經(jīng)有不少在NoSQL下自動(dòng)Shard的方案,所以我們當(dāng)時(shí)也是直接采用這個(gè)思路,讓TDSQL的分表完全不需要業(yè)務(wù)干預(yù),集群根據(jù)表的大小,CPU/IO利用率等情況來做自動(dòng)Shard,讓開發(fā)人員完全放棄事務(wù)和Join,發(fā)現(xiàn)推廣起來非常不順利,同時(shí)DBA運(yùn)營起來發(fā)現(xiàn)數(shù)據(jù)分布特別靈活,在做備份恢復(fù)等操作都很不方便,總體而言這個(gè)方案過于理想化,實(shí)踐中是失敗的。既然意識(shí)到問題所在,我們立即調(diào)整思路,多聽下客戶(如Webank,部門的業(yè)務(wù)團(tuán)隊(duì))的意見,再仔細(xì)分析分布式與數(shù)據(jù)庫傳統(tǒng)特性如事務(wù),Join等結(jié)合的難點(diǎn),所以我們得出結(jié)論這塊是需要找一個(gè)平衡點(diǎn)的,最終提出的解決方案是放棄靈活的自動(dòng)shard方案,支持將具有同樣shard key的庫表做成一個(gè)group,在數(shù)據(jù)擴(kuò)容,縮容的過程當(dāng)成一個(gè)整體來搬遷,在一個(gè)group內(nèi)盡量完整支持?jǐn)?shù)據(jù)庫的事務(wù)和Join等特性,對(duì)于這套方案,客戶都很容易理解和使用,目前推廣起來就順利多了。
  CSDN:能否結(jié)合您多年的實(shí)戰(zhàn)經(jīng)驗(yàn),談?wù)剬?duì)MySQL未來發(fā)展的前景,分享下您對(duì)未來數(shù)據(jù)庫相關(guān)領(lǐng)域的一些看法?
  雷海林:目前MySQL的使用量非常龐大,國內(nèi)外BAT,網(wǎng)易,Google,F(xiàn)acebook等大型互聯(lián)網(wǎng)公司都有基于MySQL進(jìn)行定制化改造,并且將改造的原理和代碼基本上都反饋到了社區(qū)或者以博客,技術(shù)大會(huì)等形式進(jìn)行了介紹,所以在這個(gè)領(lǐng)域大家都能提升的非???。而Oracle的官方MySQL,Percona,Mariadb作為主流的MySQL分支在商業(yè)利益的競(jìng)爭(zhēng)驅(qū)動(dòng)下也會(huì)竭盡全力地開發(fā)新功能和做性能優(yōu)化,適配新的硬件等等,所以我對(duì)MySQL的發(fā)展非常看好,相信每年都會(huì)有亮點(diǎn)出現(xiàn)。接下來重點(diǎn)應(yīng)該會(huì)在SQL執(zhí)行計(jì)劃的優(yōu)化,引擎層的性能優(yōu)化,在線DDL,可運(yùn)營型和分布式中間件方面持續(xù)發(fā)力。
  CSDN:作為前輩,您覺得如何才能更好的掌握數(shù)據(jù)庫這門技術(shù)?
  雷海林:數(shù)據(jù)庫作為與操作系統(tǒng),編譯器并列的系統(tǒng)軟件,涉及到的理論知識(shí),代碼實(shí)現(xiàn)和運(yùn)營管理都是需要大量時(shí)間的學(xué)習(xí)才能掌握的好的,我想初期應(yīng)該是重點(diǎn)研究數(shù)據(jù)庫的用戶手冊(cè)和Innodb引擎的手冊(cè),重點(diǎn)要先對(duì)基本功能有個(gè)清晰的了解和驗(yàn)證,對(duì)各個(gè)參數(shù)和狀態(tài)字段盡量了解含義,然后再根據(jù)興趣可以找一些數(shù)據(jù)庫內(nèi)核分析的書籍和文章來學(xué)習(xí)并驗(yàn)證,同時(shí)因?yàn)镸ySQL是個(gè)開源軟件,所以根據(jù)興趣也可以找代碼來分析了,當(dāng)然前期通過3.x版本的代碼入手可能更好一點(diǎn);總而言之,數(shù)據(jù)庫技術(shù)是一門實(shí)踐性很強(qiáng)的技術(shù),需要能靜下心來投入大量時(shí)間來琢磨,只要努力,隨時(shí)都能讓你提高。
  CSDN:除了這些以外,您最近還會(huì)關(guān)注哪些技術(shù)?
  雷海林:我最近比較關(guān)注高性能的后臺(tái)開發(fā),分布式技術(shù)的理論和分布式消息隊(duì)列,也對(duì)go語言非常感興趣。
  CSDN:在本次SDCC 2016(深圳站)數(shù)據(jù)庫峰會(huì)上,您分享的話題是?
  雷海林:我是一個(gè)開發(fā)人員,對(duì)于常用的東西都喜歡搞懂它的原理,所以我這次的分享主要是關(guān)于各種備份技術(shù)的底層原理和優(yōu)缺點(diǎn)介紹,最后再介紹下TDSQL目前采用的方案和后期可能的優(yōu)化方向,也希望借此機(jī)會(huì),跟業(yè)內(nèi)其他數(shù)據(jù)庫團(tuán)隊(duì)交流交流。
  CSDN:您最期待在SDCC 2016(深圳站)峰會(huì)上看到哪些內(nèi)容?
  雷海林:希望不要提太高大上的東西,所有話題能站在聽眾的角度分享的內(nèi)容是可以容易被復(fù)制和學(xué)習(xí)的。
?

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?