设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 7404|回复: 2
打印 上一主题 下一主题

MySQL不再支持Berkeley DB 转而添加插件

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-29 01:29:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在最新的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主线之外进行开发更加快捷。我相信有一天可以将它们合并在一起。”
2#
发表于 2009-12-31 12:05:02 | 只看该作者
大致看明白了,楼主的思维太过发散、太过跳跃了。楼主,加强集中精力叙述一件事情的能力。不要再发散了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 07:49 , Processed in 0.070402 second(s), 12 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表