Oracle 工程師轉(zhuǎn)投 Chrome:MySQL 糟糕透頂,強(qiáng)烈推薦 Postgres
前 Oracle 公司首席軟件工程師、MySQL 優(yōu)化器團(tuán)隊(duì)成員 Steinar H. Gunderson 在自 Oracle 離職前夕發(fā)布了一篇名為《Leaving MySQL》的博客。他在博客中寫(xiě)道,MySQL 是一個(gè)相當(dāng)糟糕的數(shù)據(jù)庫(kù),并強(qiáng)烈建議大家應(yīng)該考慮使用 Postgres。
Gunderson 還補(bǔ)充稱,“不要相信 MariaDB 有多好。Monty 和他的手下離開(kāi)是因?yàn)樗麄儗?duì)新的管理方式不滿意,而不是因?yàn)樗麄冇幸惶焱蝗恍盐蜻^(guò)來(lái),意識(shí)到他們?cè)诖a中造成了多么大的混亂”。MariaDB 是 MySQL 分支,由 MySQL 的創(chuàng)始人 Michael “Monty” Widenius 所創(chuàng)建;被設(shè)計(jì)為 MySQL 的直接替代產(chǎn)品。
Gunderson 在博客中描述了自己加入 MySQL 團(tuán)隊(duì)時(shí)的感受, 表示:
- 來(lái)到 MySQL 就像進(jìn)入了一個(gè)平行宇宙,那里有很多人真正相信 MySQL 是一個(gè)最先進(jìn)的產(chǎn)品。同時(shí),我參加了培訓(xùn)并被告知優(yōu)化器是如何在內(nèi)部工作的;我真的需要一些緩沖時(shí)間來(lái)接受幾乎所有的東西都是多么的原始。這感覺(jué)很奇怪,但我想你很快就會(huì)習(xí)慣了。從某種意義上說(shuō),這并沒(méi)有讓我感到困擾;很多糟糕的代碼意味著有很多改進(jìn)的機(jī)會(huì),而且管理層也非常支持大規(guī)模的重構(gòu)工作。更令人震驚的是那些堅(jiān)持認(rèn)為一切都很好的人(似乎大多數(shù) MySQL 用戶和開(kāi)發(fā)人員并沒(méi)有真正地使用過(guò)其他數(shù)據(jù)庫(kù));甚至像執(zhí)行器這樣明顯瘋狂的東西,在那里所有東西都是一個(gè)大塊、所有東西都與其他東西相互作用,也被稱譽(yù)為'高效'(其實(shí)不然)。
并針對(duì)上述言論舉例稱,譬如因?yàn)闆](méi)有模塊化,分類器必須關(guān)注它的輸入是來(lái)自 table scan 還是 range scan。“任何不屬于這兩種情況的東西(包括連接),都需要很大的調(diào)整。在給定的設(shè)計(jì)中,如果不重寫(xiě)查詢,完全的外層連接根本不可能執(zhí)行(MySQL 仍然不支持它們,但至少現(xiàn)在它沒(méi)有受到舊的 we-can-do-left-deep-plans-only 設(shè)計(jì)的阻礙)。甚至不讓我著手使用'slice'系統(tǒng),這也許是我在任何現(xiàn)實(shí)世界的軟件中見(jiàn)過(guò)的最瘋狂的設(shè)計(jì)。”
不過(guò)他也表示,還是為自己一直在做的工作感到由衷的自豪;MySQL 8.0 是比 5.7 更好的產(chǎn)品,而且它還將繼續(xù)改進(jìn)。但話鋒一轉(zhuǎn),Gunderson 又指出,能做的也只有這么多了。“團(tuán)隊(duì)其他人和我一直都在致力于使 MySQL 優(yōu)化器朝著相當(dāng)標(biāo)準(zhǔn)的 21 世紀(jì)初期設(shè)計(jì)的方向發(fā)展,并有一些不錯(cuò)的調(diào)整,但這也是它的終點(diǎn)。”
Gunderson 稱,無(wú)論 Oracle 公司內(nèi)部說(shuō)的有多天花亂墜,他依舊不認(rèn)為 MySQL 會(huì)成為一個(gè)有競(jìng)爭(zhēng)力的產(chǎn)品;并建議那些正在使用 MySQL 人,是時(shí)候該看看外面的世界了。
在離開(kāi) Oracle 后,Gunderson 已經(jīng)加入了 Google Chrome 團(tuán)隊(duì)。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:Oracle 工程師轉(zhuǎn)投 Chrome:MySQL 糟糕透頂,強(qiáng)烈推薦 Postgres
本文地址:https://www.oschina.net/news/172504/leaving-mysql