您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關MySQL不再支持Berkeley DB 轉而添加插件的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
在最新的5.1.12版中,MySQL將把Berkeley DB(BDB)存儲引擎移出所支持的數據庫引擎列表。有些觀察人士認為,這一行動與Oracle收購Sleepycat有關,而下一個可能被移出的可能是 InnoDB。然而MySQL架構主管布萊恩?阿克爾(Brian Aker)表示,他們不會放棄InnoDB,此次放棄Berkeley引擎是出于技術原因。布萊恩?阿克爾同時宣布MySQL公司將發布新一款的用于 MySQL的memcache存儲引擎插件。
此事與Oracle收購Sleepycat與Innobase的消息之間的關系是顯而易見的。有人認為Oracle是為了破壞MySQL的業務,以及放棄支持BDB引擎的決定。但阿克爾表示事情不是這樣。
MySQL、Oracle各執一詞
如果不是針對Oracle,為什么要放棄BDB呢?一種可能是,BDB引擎應用不夠廣泛。阿克爾稱,Debian應該是唯一一個帶有BDB支持的 MySQL合作商,而“MySQL的主程序啟用它的方式也很奇怪”。“我相信實際的安裝數量屈指可數。并不是說BDB引擎本身不好,更主要的原因是 InnoDB有一個更活躍的開發團隊在支持。在開源世界中,活躍的代碼是使用廣泛的主要原因。”
Oracle嵌入式系統營銷副總裁雷克?王(Rex Wang)表示,實際上是Berkeley DB開發團隊要求取消支持的。“據我們所知,現在的MySQL已經幾乎不再使用Berkeley DB,所以我們(Oracle)的用戶群并沒有產生沖突。”
雖然BDB使用不算廣泛,但是,阿克爾表示BDB不會從MySQL 5.0及以前的版本中消失。所以安裝了MySQL 4.x或MySQL 5.0.x,并使用BDB的用戶無需為此擔心。阿克爾還強調,“MySQL從來沒有為BDB提供商業支持,所以無需任何更改。”
MySQL在放棄BDB的事情上沒有太過聲張,但卻寫入了5.1.12版本的MySQL更新說明中。5.1版一直被視為測試版,5.1.12也還沒有發布,因此MySQL沒有就此事發布正式聲明也不足為奇。
有一些特別的分析人士抱怨說,這是MySQL缺乏與用戶溝通的表現之一,并認為接下來遭此“橫禍”的大概會是InnoDB。
阿克爾稱,放棄BDB并不意味著接下來將要針對InnoDB發難,也不意味著InnoDB被Oracle收購之后MySQL將要拋棄InnoDB存儲引擎。“我的狗總認為所有松鼠都是賊。上星期我花了幾個小時來整理InnoDB界面的代碼。我發現仍然有Heikki加入的新代碼。幾個月前我還與人談論如何擴展MySQL中的SQL語法來平衡InnoDB中的全文檢索支持。沒有任何跡象表明InnoDB將要從此消失,或者Oracle停止對它進行支持。” 而且MySQL有什么理由拋棄InnoDB?我們的用戶中有許多人還在使用它。我做網站的時候也要用到,所以我個人很希望它順利運行下去。”
Oracle嵌入式系統營銷副總裁雷克?王指出,Oracle會繼續支持用于MySQL的InnoDB存儲引擎。“InnoDB目前是MySQL中使用最多的事務型數據存儲引擎,而Oracle會繼續向MySQL提供InnoDB支持,包括推進更新和全面支持。所以說MySQL和Oracle沒有必要繼續支持第二個事務型存儲引擎Berkeley DB。”他強調BDB是MySQL的第一個事務型引擎,但InnoDB發展迅速,已經成為用戶的首選。“因為InnoDB全力支持唯一的用戶MySQL,而Berkeley DB則要面對一系列用戶和開源社區。MySQL使用的是修改版本的BDB,驅動本身并沒有針對它進行優化,這種情況保持了許多年。而InnoDB一直在進行針對MySQL的優化,目前已經成熟穩定。”
插件:Plugins anyone?
開源的優勢在于任何需要的人都可以進行選擇使用。如果開源社區有興趣繼續支持BDB,阿克爾認為把BDB制作為存儲引擎插件是很容易的事。并舉出以插件形式加入MySQL而沒有集成在內的引擎例子,如PrimeBase XT的MySQL事務型引擎,和Solid Information Technology的MySQL存儲引擎。
阿克爾還提到他所開發的memcache存儲引擎插件,該插件可以為MySQL直接加入Memcached功能,而無需單獨運行Memcached。 Memcached是一些高流量網站(如LiveJournal)通過允許訪問者訪問內存信息,而無需訪問磁盤來提高性能的工具。阿克爾稱,使用 Memcache作為存儲引擎會使開發人員更加輕松。“數據的往返成本會得到控制,因為數據可以直接從數據庫中傳送。你也可以簡單使用SELECT語句來比較memcache與數據庫內容的區別。使用更輕松,整合更容易,往返數據量更少……全部考慮進來是個非常好的主意。”
這一插件還在早期開發中。阿克爾稱它為“前Alpha版本”,所以有些SQL語句可能還無法在memcache中運行。阿克爾說,SELECT、 UPDATE、DELETE和INSERT語句都可以運行,而ORDER BY、REPLACE等一些語句還不能運行。
Memcache會不會成為MySQL的主流組件?阿克爾稱,“這取決于需求和使用。目前將memcache置于MySQL主線之外進行開發更加快捷。我相信有一天可以將它們合并在一起。”
關于“MySQL不再支持Berkeley DB 轉而添加插件的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。