专访Mycat核心开发成员王金剑 :借助Mycat轻松抵御海量并发
專訪Mycat核心開發(fā)成員王金劍 :借助Mycat輕松抵御海量并發(fā)
發(fā)表于2015-12-25 14:51| 1401次閱讀| 來源CSDN| 5 條評(píng)論| 作者夏夢(mèng)竹
專訪王金劍開發(fā)人員數(shù)據(jù)分析數(shù)據(jù)庫(kù) width="22" height="16" src="http://hits.sinajs.cn/A1/weiboshare.html?url=http%3A%2F%2Fwww.csdn.net%2Farticle%2F2015-12-23%2F2826546&type=3&count=&appkey=&title=%E6%97%A5%E5%89%8D%EF%BC%8C%E7%AC%94%E8%80%85%E9%87%87%E8%AE%BF%E4%BA%86Mycat%E6%A0%B8%E5%BF%83%E5%BC%80%E5%8F%91%E6%88%90%E5%91%98%E7%8E%8B%E9%87%91%E5%89%91%EF%BC%8C%E8%AF%B7%E4%BB%96%E8%A7%A3%E8%AF%BBMycat%E7%9A%84%E6%8A%80%E6%9C%AF%E7%89%B9%E6%80%A7%EF%BC%8CMycat%E7%9A%84%E5%9B%A2%E9%98%9F%E8%B6%A3%E9%97%BB%E5%8F%8A%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB%E3%80%82%E4%BD%9C%E4%B8%BA%E5%BC%80%E5%8F%91%E8%80%85%E5%BF%85%E9%A1%BB%E7%B4%A7%E8%B7%9F%E6%8A%80%E6%9C%AF%E5%8F%91%E5%B1%95%EF%BC%8C%E8%BF%9B%E4%B8%80%E6%AD%A5%E6%8F%90%E9%AB%98%E4%BC%A0%E7%BB%9F%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%A4%E8%AF%86%E7%9A%84%E5%90%8C%E6%97%B6%EF%BC%8C%E8%BF%98%E8%A6%81%E6%8E%8C%E6%8F%A1%E6%9B%B4%E5%A4%9A%E7%9A%84%E6%96%B0%E5%9E%8B%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8A%80%E6%9C%AF%E5%8F%8A%E4%BA%91%E6%9C%8D%E5%8A%A1%E6%8A%80%E6%9C%AF%E3%80%82&pic=&ralateUid=&language=zh_cn&rnd=1451132374778" frameborder="0" scrolling="no" allowtransparency="true">摘要:日前,筆者采訪了Mycat核心開發(fā)成員王金劍,請(qǐng)他解讀Mycat的技術(shù)特性,Mycat的團(tuán)隊(duì)趣聞及經(jīng)驗(yàn)分享。作為開發(fā)者必須緊跟技術(shù)發(fā)展,進(jìn)一步提高傳統(tǒng)數(shù)據(jù)庫(kù)認(rèn)識(shí)的同時(shí),還要掌握更多的新型數(shù)據(jù)庫(kù)技術(shù)及云服務(wù)技術(shù)。Mycat是一個(gè)開源的分布式數(shù)據(jù)庫(kù)系統(tǒng),其核心功能是分表分庫(kù),即將一個(gè)大表水平分割為多個(gè)小表,存儲(chǔ)在后端MySQL或者其他數(shù)據(jù)庫(kù)里。取名Mycat原因一是簡(jiǎn)單好記,另一個(gè)則是希望未來能夠入駐 Apache,Apache的開源產(chǎn)品Tomcat也是一只貓。日前,筆者采訪了Mycat核心開發(fā)成員王金劍,請(qǐng)他解讀Mycat的技術(shù)特性,Mycat的團(tuán)隊(duì)趣聞,以及他的經(jīng)驗(yàn)分享。在他看來,作為傳統(tǒng)數(shù)據(jù)庫(kù)開發(fā)人員,必須緊跟技術(shù)發(fā)展,在進(jìn)一步提高傳統(tǒng)數(shù)據(jù)庫(kù)認(rèn)識(shí)的同時(shí),還要掌握更多的新型數(shù)據(jù)庫(kù)技術(shù),以及云服務(wù)技術(shù)。
王金劍
CSDN:請(qǐng)先自我介紹下,目前所在公司以及所負(fù)責(zé)的領(lǐng)域。
王金劍:大家好,我叫王金劍,今年33歲,從事軟件工作十年,目前在天獅集團(tuán)擔(dān)任高級(jí)DBA工程師,負(fù)責(zé)公司電商網(wǎng)站數(shù)據(jù)庫(kù)設(shè)計(jì)與優(yōu)化、數(shù)據(jù)庫(kù)架構(gòu)規(guī)劃及部署規(guī)范制定,以及核心應(yīng)用的軟件設(shè)計(jì)與開發(fā)等工作。
CSDN:你是從什么時(shí)候加入Mycat開發(fā)團(tuán)隊(duì)的?團(tuán)隊(duì)核心成員有多少人?
王金劍:我是2014年加入Mycat開源團(tuán)隊(duì),目前核心成員已經(jīng)有17人。
CSDN:加入Mycat給你最大的感受是什么?有令你印象特別深刻的人或事嗎?
王金劍:加入Mycat給我最大的感受是開源團(tuán)隊(duì)的工作效率和參與熱情是非常高的,這讓我深信中國(guó)開源產(chǎn)品的發(fā)展前景不可限量。核心成員里有兩個(gè)人給我的印象特別深刻:一個(gè)是吳京潤(rùn)(網(wǎng)名坨神),他是來自Wifiin的高級(jí)工程師,還有一個(gè)是鄧立仁(網(wǎng)名聆聽),他是來自小米的高級(jí)工程師。經(jīng)過他們對(duì)Mycat進(jìn)一步改造,現(xiàn)在Mycat已經(jīng)在他們各自的公司里運(yùn)行的非常穩(wěn)定,解決了最讓互聯(lián)網(wǎng)公司頭疼的海量并發(fā)問題。這些來自互聯(lián)網(wǎng)一線企業(yè)的真實(shí)案例,加強(qiáng)了廣大網(wǎng)友對(duì)Mycat產(chǎn)品的信任。
CSDN:Mycat的名字由來有何典故嗎?它的核心開發(fā)技術(shù)是什么?在構(gòu)建過程中有沒有遇到哪些困難?又是如何克服的?
王金劍:取名Mycat一個(gè)原因是簡(jiǎn)單好記,另外一個(gè)原因,是希望未來能夠入駐Apache,Apache的開源產(chǎn)品Tomcat也是一只貓。Mycat最早的版本完成于2013年年底,它是一個(gè)開源的分布式數(shù)據(jù)庫(kù)系統(tǒng),其核心功能是分表分庫(kù),即將一個(gè)大表水平分割為多個(gè)小表,存儲(chǔ)在后端MySQL或者其他數(shù)據(jù)庫(kù)里。
Mycat發(fā)展到目前的版本,已經(jīng)不是一個(gè)單純的MySQL代理了,它的后端可以支持MySQL、SQL Server、Oracle、PostgreSQL等主流數(shù)據(jù)庫(kù),也支持MongoDB這種新型NoSQL方式的存儲(chǔ),未來還會(huì)支持更多類型的存儲(chǔ)。而無論使用哪種存儲(chǔ)方式,在Mycat里都是一個(gè)傳統(tǒng)的數(shù)據(jù)庫(kù)表,支持標(biāo)準(zhǔn)的SQL語句進(jìn)行數(shù)據(jù)的操作,這樣一來,對(duì)前端業(yè)務(wù)系統(tǒng)來說,可以大幅降低開發(fā)難度,提升開發(fā)速度。而未來,還能通過Mycat自動(dòng)將一些計(jì)算分析后的數(shù)據(jù)灌入到Hadoop中,并能用Mycat+Storm/Spark Stream引擎做大規(guī)模數(shù)據(jù)分析。
CSDN:Mycat有哪些技術(shù)亮點(diǎn)?旨在解決哪些問題?
王金劍:Mycat發(fā)展到現(xiàn)在,適用的場(chǎng)景已經(jīng)很豐富,而且不斷有新用戶給出新的創(chuàng)新性的方案,以下是幾個(gè)典型的應(yīng)用場(chǎng)景:支持讀寫分離,主從切換,配置非常簡(jiǎn)單;分表分庫(kù),比如根據(jù)系統(tǒng)不同業(yè)務(wù)進(jìn)行垂直分庫(kù),或者對(duì)于超過1000萬條數(shù)據(jù)的大表進(jìn)行水平分片;多租戶應(yīng)用,每個(gè)應(yīng)用一個(gè)庫(kù),但應(yīng)用程序只連接Mycat,從而不改造程序本身實(shí)現(xiàn)多租戶化;報(bào)表系統(tǒng),借助于Mycat的分表能力,處理大規(guī)模報(bào)表的統(tǒng)計(jì)。
CSDN:使用Mycat的公司多嗎?有哪些重量級(jí)客戶?請(qǐng)列舉一二。
王金劍:Mycat初步統(tǒng)計(jì)大概400家公司使用,主要應(yīng)用在電信領(lǐng)域、互聯(lián)網(wǎng)項(xiàng)目,大部分是交易和管理系統(tǒng),少量是信息系統(tǒng)。重量級(jí)的客戶比如SAP、小米、天獅、蘇寧、順豐等等。
CSDN:數(shù)據(jù)庫(kù)的安全性和穩(wěn)定性方面一直都是大家關(guān)注的重點(diǎn),你們?cè)谶@方面做了哪些部署?
王金劍:保證數(shù)據(jù)庫(kù)的安全性和穩(wěn)定性是比較復(fù)雜的工作,Mycat也一直在努力完善這方面特性,除了更好地支持?jǐn)?shù)據(jù)庫(kù)主從自動(dòng)切換功能外,我們還在進(jìn)行更深入的功能研發(fā),而這一版更具有商用價(jià)值的產(chǎn)品分支,我們?yōu)樗鹆艘粋€(gè)新的名字“SunlightDB”。SunlightDB是Mycat 在安全性和穩(wěn)定性方面的加強(qiáng)版本。
CSDN: 在打造Mycat的過程中,有哪些重要節(jié)點(diǎn)嗎?
王金劍:Mycat1.3的誕生,是Mycat歷史上最重大的一個(gè)里程碑。在這個(gè)版本里,需求、測(cè)試和功能開發(fā)各項(xiàng)工作,首次從個(gè)人為主變?yōu)殚_源團(tuán)隊(duì)為主的模式,更多的人參與到需求、開發(fā)、測(cè)試以及Bug修復(fù)活動(dòng)中,基本上確定的Bug都在24小時(shí)內(nèi)修復(fù)并有志愿者或用戶確認(rèn)修復(fù)。
CSDN: Mycat的下一步規(guī)劃是什么?
王金劍:一是,強(qiáng)化分布式數(shù)據(jù)庫(kù)方面的功能,使之具備豐富的插件、強(qiáng)大的數(shù)據(jù)庫(kù)智能優(yōu)化功能、全面的系統(tǒng)監(jiān)控能力、以及方便的數(shù)據(jù)運(yùn)維工具,實(shí)現(xiàn)在線數(shù)據(jù)擴(kuò)容、遷移等高級(jí)功能;二是,進(jìn)一步挺進(jìn)大數(shù)據(jù)計(jì)算領(lǐng)域,深度結(jié)合Spark Stream和Storm等分布式實(shí)時(shí)流引擎,能夠完成快速的巨表關(guān)聯(lián)、排序、分組聚合等 OLAP方向的能力,并集成一些熱門常用的實(shí)時(shí)分析算法,讓工程師以及DBA們更容易用Mycat實(shí)現(xiàn)一些高級(jí)數(shù)據(jù)分析處理功能。
CSDN:在日常工作中你會(huì)通過哪些渠道來提升個(gè)人能力?
王金劍:提升個(gè)人能力的方式,我主要還是通過大量閱讀,對(duì)于閱讀提升能力,我個(gè)人建議并不是列一個(gè)學(xué)習(xí)計(jì)劃,而是把讀書變成樂趣,每天讀幾頁(yè),原本看起來很厚的一本書,不知不覺也就讀完了,而且因?yàn)槭菐е鴺啡е浅S淇斓男那樽x書,所以書中的知識(shí)也能消化吸收的很好。
CSDN:給從事數(shù)據(jù)庫(kù)領(lǐng)域的開發(fā)者分享些經(jīng)驗(yàn)吧。
王金劍:數(shù)據(jù)庫(kù)技術(shù)發(fā)展到今天,從關(guān)系型數(shù)據(jù)庫(kù)到現(xiàn)在的各種云計(jì)算,NoSQL產(chǎn)品。作為傳統(tǒng)數(shù)據(jù)庫(kù)開發(fā)人員,必須緊跟技術(shù)發(fā)展,在進(jìn)一步提高傳統(tǒng)數(shù)據(jù)庫(kù)認(rèn)識(shí)的同時(shí),還要掌握更多的新型數(shù)據(jù)庫(kù)技術(shù),以及云服務(wù)技術(shù)。除了提高技術(shù)的深度,也要重視提高知識(shí)面的寬度。
總結(jié)
以上是生活随笔為你收集整理的专访Mycat核心开发成员王金剑 :借助Mycat轻松抵御海量并发的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 年终盘点:2015年人工智能的五大关键词
- 下一篇: 部委调研互联网金融企业 内部风控指引或出