科技公司創(chuàng)始人談MySQL的未來
隨著MySQL 5.7穩(wěn)定版接近正式發(fā)布,加入各個(gè)MySQL分支繼續(xù)爭奪市場(chǎng)份額,我們采訪了Percona共同創(chuàng)始人及CEO、享譽(yù)全球的MySQL性能領(lǐng)袖Peter Zaitsev,了解他對(duì)于最受歡迎的開源DBMS的現(xiàn)狀與未來的看法。
雖然Peter一直忙于準(zhǔn)備今年的Percona Live大會(huì)(并且同樣期待Percona對(duì)Tokutek的收購!),但他仍談介紹了MySQL的重大趨勢(shì),Percona最近一直在處理的痛點(diǎn),以及DevOps和云對(duì)于開發(fā)者和DBA關(guān)系的重要影響。
MySQL與OpenStack的密切關(guān)系
首先是一則小道消息:今年P(guān)ercona發(fā)起了OpenStack Live,這是與Percona Live同步舉行的新活動(dòng)。最直接的原因是:去年P(guān)ercona舉行了一個(gè)為期一天的OpenStack開放日活動(dòng),其響應(yīng)非常熱烈,因此他們決定升級(jí)并創(chuàng)辦一個(gè)全新的大會(huì)。
這件事情本身很有意思——MySQL用戶應(yīng)該對(duì)基礎(chǔ)架構(gòu)即服務(wù)(IaaS)充滿熱情。當(dāng)我向Peter詢問關(guān)于Percona和OpenStack之間的更深入聯(lián)系時(shí),他指出了兩個(gè)清晰的協(xié)同關(guān)系:(1) MySQL是云中最流行的數(shù)據(jù)存儲(chǔ)方式,所以有許多OpenStack用戶也在使用MySQL;(2) 有多個(gè)OpenStack組件在使用MySQL。(如果你還沒有使用過OpenStack,那么可能還要等多一小段時(shí)間:我們準(zhǔn)備過幾天發(fā)布一個(gè)運(yùn)行在 OpenStack之上的新Refcard!)
開源主數(shù)據(jù)存儲(chǔ)的重要性
但是,Peter對(duì)于OpenStack的熱情已經(jīng)超出了與MySQL所使用高可用性所重疊的部分。我們的交談出現(xiàn)了另外兩個(gè)交集部分。
首先,Percona的XtraDB Cluster已經(jīng)能夠很好地支持OpenStack。其次,OpenStack Foundation堅(jiān)定地支持開源;實(shí)現(xiàn)全棧IaaS——而且,正如Peter所指出的,Percona的使命是在一個(gè)開源解決方案中實(shí)現(xiàn)各種MySQL版本特性(可插拔身份驗(yàn)證、審核、超大規(guī)模連接等)。
關(guān)于開源DBMS,Peter提出了一個(gè)重要觀點(diǎn):你的主數(shù)據(jù)存儲(chǔ)嚴(yán)重受制于供應(yīng)商——我感覺似乎我應(yīng)該能理解這一點(diǎn),但是我卻從未擔(dān)心過這個(gè)問題,因?yàn)槲覐奈从眠^一個(gè)比MySQL社區(qū)版更強(qiáng)大的開源數(shù)據(jù)庫。理論上是這樣的,但是可能MySQL分支數(shù)量的不斷增長可能就是一個(gè)證據(jù),證明用戶越來越多地體會(huì)到這個(gè)問題。
精益創(chuàng)業(yè)和言過其實(shí)的云計(jì)算
MySQL和云服務(wù)還有另一個(gè)相同的重要角色:它們都非常方便精準(zhǔn)創(chuàng)業(yè)。很可能所有創(chuàng)業(yè)公司以前都使用過MySQL,所以他們的經(jīng)驗(yàn)很容易延續(xù)下去。 MySQL非常成熟,以致有時(shí)候讓人覺得DBA是不必要的角色(至少一開始是這樣的)。云數(shù)據(jù)提供了一個(gè)相似的精簡承諾:“不需要DBA!不需要運(yùn)維!”但是,Peter發(fā)現(xiàn),“不需要DBA”的公司無法支持?jǐn)U展。(從前我完全認(rèn)同在需要時(shí)才聘請(qǐng)DBA。)最終,即使是云技術(shù)運(yùn)用最徹底的創(chuàng)業(yè)公司也需要一名DBA。可能不一定是全職DBA,或者一段時(shí)間不是全職的,可能DBA本身也屬于“按需要服務(wù)”角色,像Percona這樣的公司就是。(當(dāng)然,我對(duì)于“DBA即服務(wù)”感到有些失落。但是,另一方面,我絕對(duì)認(rèn)同的是,一名真實(shí)、專業(yè)和經(jīng)驗(yàn)豐富的DBA一定好過于一些兼職二流人員……)
誰在驅(qū)動(dòng)DBMS的發(fā)展:先是開發(fā)人員,后是DBA
現(xiàn)在我們都很清楚,將所有域映射到同一種存儲(chǔ)模型是非常愚蠢的做法。但是,我希望了解一家主流DBMS供應(yīng)商關(guān)于DBMS實(shí)際增長方式的觀點(diǎn);或者說,是什么讓它們以一些特定的方式增長的?Peter的回復(fù)非常直接:在 DBMS生命周期的早期,由開發(fā)者驅(qū)動(dòng)特性(當(dāng)前的MongoDB就是這樣)。但是,隨著DBMS逐漸成熟,特性將由運(yùn)營人員驅(qū)動(dòng)。
在很長時(shí)間里,MySQL也是這樣的——例如,Percona Server最先發(fā)布了一系列針對(duì)MySQL 5.1的性能增強(qiáng)補(bǔ)丁,但是最終NoSQL DBMS也有一樣的趨勢(shì),因?yàn)樗鼈兌荚诖笠?guī)模、高可用解決方案是遇到問題。
關(guān)于這一點(diǎn),我向Peter提了一個(gè)問題:Percona用于替代InnoDB的XtraDB是如何改進(jìn)InnoDB性能的?我想說的是,有大學(xué)文憑的計(jì)算機(jī)科學(xué)人員都知道b樹和日志結(jié)構(gòu)合并樹的概念,我肯定也能知道Peter說的存儲(chǔ)引擎的實(shí)際工作方式。但是,在聽到他講了三個(gè)完全不懂的句子之后,我不得不承認(rèn),作為一名用戶,我還是無法理解InnoDB優(yōu)化所涉及的技術(shù)概念——至少在下一個(gè)話題開始前我理解不了。
原文鏈接:http://www.searchdatabase.com.cn/showcontent_89028.htm