溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL不再支持Berkeley DB 轉而添加插件的示例分析

發(fā)布時間:2021-12-17 09:11:10 來源:億速云 閱讀:164 作者:小新 欄目:MySQL數據庫

這篇文章將為大家詳細講解有關MySQL不再支持Berkeley DB 轉而添加插件的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。


 在最新的5.1.12版中,MySQL將把Berkeley DB(BDB)存儲引擎移出所支持的數據庫引擎列表。有些觀察人士認為,這一行動與Oracle收購Sleepycat有關,而下一個可能被移出的可能是 InnoDB。然而MySQL架構主管布萊恩?阿克爾(Brian Aker)表示,他們不會放棄InnoDB,此次放棄Berkeley引擎是出于技術原因。布萊恩?阿克爾同時宣布MySQL公司將發(fā)布新一款的用于 MySQL的memcache存儲引擎插件。

  此事與Oracle收購Sleepycat與Innobase的消息之間的關系是顯而易見的。有人認為Oracle是為了破壞MySQL的業(yè)務,以及放棄支持BDB引擎的決定。但阿克爾表示事情不是這樣。

  MySQL、Oracle各執(zhí)一詞

  如果不是針對Oracle,為什么要放棄BDB呢?一種可能是,BDB引擎應用不夠廣泛。阿克爾稱,Debian應該是唯一一個帶有BDB支持的 MySQL合作商,而“MySQL的主程序啟用它的方式也很奇怪”?!拔蚁嘈艑嶋H的安裝數量屈指可數。并不是說BDB引擎本身不好,更主要的原因是 InnoDB有一個更活躍的開發(fā)團隊在支持。在開源世界中,活躍的代碼是使用廣泛的主要原因?!?br/>
  Oracle嵌入式系統(tǒng)營銷副總裁雷克?王(Rex Wang)表示,實際上是Berkeley DB開發(fā)團隊要求取消支持的?!皳覀兯?,現在的MySQL已經幾乎不再使用Berkeley DB,所以我們(Oracle)的用戶群并沒有產生沖突?!?br/>
  雖然BDB使用不算廣泛,但是,阿克爾表示BDB不會從MySQL 5.0及以前的版本中消失。所以安裝了MySQL 4.x或MySQL 5.0.x,并使用BDB的用戶無需為此擔心。阿克爾還強調,“MySQL從來沒有為BDB提供商業(yè)支持,所以無需任何更改。”

  MySQL在放棄BDB的事情上沒有太過聲張,但卻寫入了5.1.12版本的MySQL更新說明中。5.1版一直被視為測試版,5.1.12也還沒有發(fā)布,因此MySQL沒有就此事發(fā)布正式聲明也不足為奇。

  有一些特別的分析人士抱怨說,這是MySQL缺乏與用戶溝通的表現之一,并認為接下來遭此“橫禍”的大概會是InnoDB。

  阿克爾稱,放棄BDB并不意味著接下來將要針對InnoDB發(fā)難,也不意味著InnoDB被Oracle收購之后MySQL將要拋棄InnoDB存儲引擎。“我的狗總認為所有松鼠都是賊。上星期我花了幾個小時來整理InnoDB界面的代碼。我發(fā)現仍然有Heikki加入的新代碼。幾個月前我還與人談論如何擴展MySQL中的SQL語法來平衡InnoDB中的全文檢索支持。沒有任何跡象表明InnoDB將要從此消失,或者Oracle停止對它進行支持。” 而且MySQL有什么理由拋棄InnoDB?我們的用戶中有許多人還在使用它。我做網站的時候也要用到,所以我個人很希望它順利運行下去?!?br/>
  Oracle嵌入式系統(tǒng)營銷副總裁雷克?王指出,Oracle會繼續(xù)支持用于MySQL的InnoDB存儲引擎?!癐nnoDB目前是MySQL中使用最多的事務型數據存儲引擎,而Oracle會繼續(xù)向MySQL提供InnoDB支持,包括推進更新和全面支持。所以說MySQL和Oracle沒有必要繼續(xù)支持第二個事務型存儲引擎Berkeley DB。”他強調BDB是MySQL的第一個事務型引擎,但InnoDB發(fā)展迅速,已經成為用戶的首選。“因為InnoDB全力支持唯一的用戶MySQL,而Berkeley DB則要面對一系列用戶和開源社區(qū)。MySQL使用的是修改版本的BDB,驅動本身并沒有針對它進行優(yōu)化,這種情況保持了許多年。而InnoDB一直在進行針對MySQL的優(yōu)化,目前已經成熟穩(wěn)定。”

  插件:Plugins anyone?

  開源的優(yōu)勢在于任何需要的人都可以進行選擇使用。如果開源社區(qū)有興趣繼續(xù)支持BDB,阿克爾認為把BDB制作為存儲引擎插件是很容易的事。并舉出以插件形式加入MySQL而沒有集成在內的引擎例子,如PrimeBase XT的MySQL事務型引擎,和Solid Information Technology的MySQL存儲引擎。

  阿克爾還提到他所開發(fā)的memcache存儲引擎插件,該插件可以為MySQL直接加入Memcached功能,而無需單獨運行Memcached。 Memcached是一些高流量網站(如LiveJournal)通過允許訪問者訪問內存信息,而無需訪問磁盤來提高性能的工具。阿克爾稱,使用 Memcache作為存儲引擎會使開發(fā)人員更加輕松?!皵祿耐党杀緯玫娇刂疲驗閿祿梢灾苯訌臄祿熘袀魉?。你也可以簡單使用SELECT語句來比較memcache與數據庫內容的區(qū)別。使用更輕松,整合更容易,往返數據量更少……全部考慮進來是個非常好的主意?!?br/>
  這一插件還在早期開發(fā)中。阿克爾稱它為“前Alpha版本”,所以有些SQL語句可能還無法在memcache中運行。阿克爾說,SELECT、 UPDATE、DELETE和INSERT語句都可以運行,而ORDER BY、REPLACE等一些語句還不能運行。

  Memcache會不會成為MySQL的主流組件?阿克爾稱,“這取決于需求和使用。目前將memcache置于MySQL主線之外進行開發(fā)更加快捷。我相信有一天可以將它們合并在一起。”

關于“MySQL不再支持Berkeley DB 轉而添加插件的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI