RSS订阅


    抓虾    pageflakes
    Rojo    google reader
    netvibes    my yahoo
    newsgator    blogdtnes
    鲜果    哪吒
    有道

业界观察:分析07年开源数据库技术发展趋势

来源: LUPA开源社区
发布时间: 2007-08-28 08:50 作者: webmaster 来源: 赛迪网 版权申明

字体: | 上一篇 下一篇 | 打印


文章来源于http://www.lupaworld.com
  纵然开源数据库被一些人形容为数据库领域的“小生境”,纵然面临着来自主流商业数据库厂商的竞争性收购,但开源数据库各自的“头衔”却都很有气势。 MySQL号称“世界上最流行的开源数据库”,PostgreSQL号称“世界上最先进的开源数据库”,EnterpriseDB号称“真正的企业级开源数据库,并足以与Oracle相竞争”(EnterpriseDB Advanced Server 8.1已经发布可用),如此等等。

  即使把开源数据库看作整个领域的小生境,其内部的“生态变化”也足以丰富,各开源数据库厂商或者被商业厂商收购(InnoDB和 BerkeleyDB已经被Oracle收购),或者在问世不久被合作伙伴收购(MaxDB),或者自己的部分核心技术被竞争对手收购(MySQL)…… 无论是开源数据库领域的业界动态还是技术变革,都丝毫不比数据库的大生境所逊色。

  完善自我的MySQL

  在2006年遭遇最为“惨重”的当属MySQL。

  MySQL开源数据库采用的是双重授权策略,对于不愿公开自己源代码的使用者,需要付费使用MySQL, 而对于开放源代码的使用者,可以基于GNU的公共许可协议GPL来使用。

  MySQL数据库并没有属于自己的用于负责数据的物理存储和索引的存储引擎,它普遍使用别的开源数据库引擎做为自己的关键性存储引擎。 MySQL曾经把InnoDB做为自己的事物型数据存储引擎,把BerkeleyDB做为自己的嵌入式事物型存储引擎。这两种开源数据库被Oracle收购之后(InnoDB在2005年10月份被收购,BerkeleyDB在2006年2月份被收购),MySQL在做了一些应急措施及得到一些“帮助”之后(2006年2月,MySQL雇佣了嵌入式开源数据库Firebird项目的关键人物Jim Starkey;2006年9月份,宣布去除掉对BerkeleyDB存储引擎的支持;2006年7月25日,专门为MySQL量身定做的Beta版 SolidDB Storage Engin正式对外发布)正在加紧研发自己的存储引擎。

  MySQL起初也没有自己的存储过程 (Stored Procedure)语言,在当时这是对习惯于企业级数据库的程序员的最大限制。多语句SQL命令必须通过客户方代码来协调,这种情形是借助于相当健全的查询语言和赋予客户端锁定和解锁表的能力,这样才允许的多语句运行。 但在MySQL 5.0发布之后,MySQL宣称已经完全支持存储过程。

  但是MySQL目前没有自己的存储引擎。MySQL的存储是以可插取的存储引擎存在的,它采用不同的存储引擎技术把数据存储在文件或者内存中。 MySQL有多种存储引擎:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、 FEDERATED、ARCHIVE、CSV、BLACKHOLE。可以采用内存存储引擎存储临时数据,采用事物存储引擎来完成事物处理,等等。相比之下,其它的一些数据库系统(包括大多数商业选择)仅支持一种类型的数据存储。对于用户而言,这种选择不同的存储引擎来存储和检索数据的灵活性,是比较受欢迎的。然而,Oracle也正是看中了这一点,才对MySQL发难。

  研发自己的存储引擎是MySQL在2007年亟需解决的任务。2006年年底,MySQL AB公司和NitroSecurity公司达成协议,双方联合研发一款基于NitroEDBTM高速关系数据库技术的MySQL数据库引擎。 NitroSecurity技术使用独特的索引技术、数据管理方法和查询处理算法,该技术可以轻松处理大容量的数据库操作,而未来的MySQL数据库服务器版中将嵌入NitroSecurity的NirtroEDB数据库存储引擎,并且这种解决方案可以与旧版本的MySQL数据库的应用程序互相兼容。而在 2007年的开始,已经有消息传出针对批量Web服务器环境而设计的内部测试版新MySQL存储引擎已经发布,以用于细化MySQL的存储引擎的功能和性能。

  2007年新的一年中,MySQL不仅要在存储引擎上做出努力,还要在磁盘存储、内存损耗、集群技术以及其他的企业级性能和功能上有自己的突破。另外,面对时下的开源环境,MySQL也应该仔细考虑自己的发行费用方式的转变、培训、关键性部署等非技术性问题。
文章来源于http://www.lupaworld.com

声明:LUPA开源社区刊登此文只为传递信息,并不表示赞同或者反对。
32/3<123>

查看全部评论(1) 最新评论

  • 删除 Guest (2007-8-30 19:46:48, 评 0 分) 支持 反对

    没搞错吧,这是什么时候的文章?postgresql8早就原生支持windows了,在windows下作为一个服务运行,要求win2000版本以上。
    LUPA招的都是些什么编辑啊?文章发布之前起码要校对吧?!


查看全部评论(1)我来说两句 直接向LUPA提出您的宝贵建议

-5 -3 -1 - +1 +3 +5