4月24日,開(kāi)源數(shù)據(jù)庫(kù)領(lǐng)域全球最具影響力峰會(huì)Percona Live 2017將在舊金山硅谷舉行。包括谷歌、Facebook、領(lǐng)英、Twitter、Booking和阿里云在內(nèi)的全球數(shù)據(jù)庫(kù)精英將齊聚一堂,共話數(shù)據(jù)庫(kù)領(lǐng)域的現(xiàn)狀與發(fā)展。
峰會(huì)前夕,Percona Live 2017組委會(huì)特別專訪了阿里云數(shù)據(jù)庫(kù)團(tuán)隊(duì)高級(jí)技術(shù)專家張廣舟(PostgreSQL專家)和彭立勛(Replication專家),技術(shù)專家翟衛(wèi)祥(InnoDB專家)和劉鑫(MongoDB專家)一行四人。
彭立勛的主題演講內(nèi)容《Flashback:MySQL/MariaDB數(shù)據(jù)閃回》也在采訪中獨(dú)家曝光。
以下是記者采訪全文:
Percona:你們?cè)趺催M(jìn)入數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域的?為什么我你們喜歡做數(shù)據(jù)庫(kù)技術(shù)?
張廣舟:數(shù)據(jù)庫(kù)技術(shù)是所有IT系統(tǒng)的基礎(chǔ),它是提供持久化、并發(fā)性和可用性的基本。更吸引人和令人興奮的是近些年云計(jì)算的發(fā)展讓"舊"的數(shù)據(jù)庫(kù)技術(shù)發(fā)現(xiàn)了新的方向和革新。讓開(kāi)源數(shù)據(jù)庫(kù)適應(yīng)云計(jì)算環(huán)境有非常多的工作可以做,甚至在公有云上創(chuàng)新出新的"云端原生"的數(shù)據(jù)庫(kù)架構(gòu)。
彭立勛:我在大學(xué)的時(shí)候就對(duì)數(shù)據(jù)庫(kù)理論比較感興趣,打算在畢業(yè)后當(dāng)一個(gè)DBA.因此我看了不少Oracle數(shù)據(jù)庫(kù)的書,但是有意思的是陰差陽(yáng)錯(cuò)畢業(yè)后我從事了MySQL DBA的工作,然后我就一直專注在MySQL相關(guān)的工作。MySQL是一個(gè)偉大的數(shù)據(jù)庫(kù),但它并不完美。我們一直有性能優(yōu)化和功能改造的需求,一步步的去完善它來(lái)符合我們的業(yè)務(wù)要求。這個(gè)過(guò)程我覺(jué)得很有意思,也樂(lè)在其中,今后也會(huì)繼續(xù)做這些工作,F(xiàn)在很多阿里云的客戶在使用我的代碼,這種感覺(jué)非常好。
Percona:你的主題叫Flashback:回滾MySQL/MariaDB數(shù)據(jù)庫(kù)到一個(gè)快照。為什么有人需要回滾數(shù)據(jù)庫(kù)實(shí)例?
彭立勛:任何人都可能犯錯(cuò),DBA也不例外。當(dāng)用戶誤操作了他的數(shù)據(jù),我們需要盡快讓數(shù)據(jù)恢復(fù)正常。因此我們需要一個(gè)辦法將數(shù)據(jù)庫(kù)回滾到正確的快照,并且可能的情況下,能在線操作并且盡可能快。這就是為什么我實(shí)現(xiàn)了Flashback功能,它提供了這種可能來(lái)解決這個(gè)問(wèn)題。
Percona:你們?cè)诨貪L數(shù)據(jù)庫(kù)時(shí)遇到了什么問(wèn)題?Flashback提供了什么幫助?
彭立勛:我們當(dāng)然可以從最近的一個(gè)完整版?zhèn)浞葜谢謴?fù)出數(shù)據(jù),加上增量的binlog 來(lái)回滾數(shù)據(jù)庫(kù)。但是用戶的數(shù)據(jù)庫(kù)如果很大,這會(huì)耗時(shí)很長(zhǎng)。并且通常誤操作只錯(cuò)誤操作了一小部分?jǐn)?shù)據(jù),但我們?nèi)匀恍枰謴?fù)整個(gè)數(shù)據(jù)庫(kù)。
Flashback允許你從binlog中只回滾掉誤操作的數(shù)據(jù)。通常這是個(gè)很小的操作,因此速度比整庫(kù)恢復(fù)快得多,并且我們不需要停止實(shí)例來(lái)做,這對(duì)云上的用戶非常重要。
Percona:你希望聽(tīng)眾從你的主題中得到什么?為什么他們要來(lái)聽(tīng)你的主題?
彭立勛:我希望聽(tīng)眾可以了解到Flashback的運(yùn)行機(jī)制以及為什么可以這么做,最佳的使用方法和什么情況下適合使用Flashback.并且Flashback目前還有一些限制需要注意,我計(jì)劃在未來(lái)的版本中解決一部分。
我已經(jīng)把Flashback功能同時(shí)貢獻(xiàn)給了MySQL和MariaDB,并且MariaDB 10.2中已經(jīng)發(fā)布了。我們依然在繼續(xù)開(kāi)發(fā)這個(gè)功能,我希望聽(tīng)眾知道我們后面的路線圖。
Percona:你們對(duì)Percona Live 2017最大的期望是什么?
劉鑫:我對(duì)Percona Live有兩個(gè)期望。首先是參加技術(shù)討論,圍繞著我的主題或者其他開(kāi)源數(shù)據(jù)庫(kù)。然后我也對(duì)其他NoSQL數(shù)據(jù)庫(kù)主題感興趣,例如HBase,Redis,Cassandra等。我也想學(xué)習(xí)更多關(guān)于它們內(nèi)核存儲(chǔ)引擎的內(nèi)容,分別是WiredTiger 和MongoRocks (MongoDB的存儲(chǔ)引擎),希望收集更多可以給我們帶來(lái)提升的細(xì)節(jié)、設(shè)計(jì)或者點(diǎn)子。
彭立勛:我最感興趣的是跟全球最好的MySQL們?cè)跁?huì)議上會(huì)面。很少有機(jī)會(huì)可以讓全球這么多的MySQL專家齊聚一堂,討論最新的技術(shù),分享大家過(guò)去一年的經(jīng)驗(yàn)和技術(shù)進(jìn)步。
Percona:聊一聊你們團(tuán)隊(duì)其他的主題?
翟衛(wèi)祥的主題是《通過(guò)共享InnoDB數(shù)據(jù)文件來(lái)擴(kuò)展讀能力》,他會(huì)介紹我們?cè)趺锤脑霫nnoDB來(lái)讓MySQL可以部署在共享存儲(chǔ)上,并且我們可以提供橫向擴(kuò)展的只讀能力。
張廣舟的主題是《阿里云公有云上的PostgreSQL和MySQL服務(wù)》,他會(huì)介紹我們解決了哪些PostgreSQL的問(wèn)題讓它適合公有云服務(wù),包括很多數(shù)據(jù)庫(kù)引擎的提升點(diǎn)來(lái)解決磁盤IO、內(nèi)存隔離問(wèn)題等。這個(gè)主題也包含了PostgreSQL和MySQL在我們的平臺(tái)上有哪些不同。
劉鑫的主題是《多數(shù)據(jù)中心的MongoDB單元化解決方案》,講解了MongoDB的集群間雙向數(shù)據(jù)同步解決方案,實(shí)現(xiàn)在多個(gè)數(shù)據(jù)中心部署且同時(shí)提供獨(dú)立讀寫能力,滿足了業(yè)務(wù)對(duì)容災(zāi)、擴(kuò)容、單元化等需求。同時(shí),也會(huì)帶來(lái)在阿里的真實(shí)業(yè)務(wù)案例。