龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > MySQL 技术 >

MySQL:昨天的"玩具"到今天的竞争者(1)(4)

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
MySQL 5.2 到目前为止,有关MySQL 5.2的文档更多是描述其不足之处,并没有介绍将来会如何发展。下面列出了不少可能会遭到批评或被取消的语句或结构(其中

MySQL 5.2

到目前为止,有关MySQL 5.2的文档更多是描述其不足之处,并没有介绍将来会如何发展。下面列出了不少可能会遭到批评或被取消的语句或结构(其中一些已经遭到批评),它们包括:

table_type变量、TYPE定义和SHOW TABLE TYPES语句,它们曾经称为表类型现在已改称存储引擎。

log_bin_trust_routine_creators在TIMESTAMP(n)中定义(n)的能力。TIMESTAMP字段更愿意总是存储和返回完整的DATETIME。

BACKUP TABLE和RESTORE TABLE语句。在行之间读取,这并不表示MySQL在硬驱动面前显得无能为力。相反地,它更接近于一个正确的联机备份设备,尽管具体计划还未完备。目前,这些语句只针对MyISAM表而工作,并且每次锁定一个表。获得多个表的干净的备份需要使用LOCK语句,该语句对大型或正在操作的表具有很大影响。现在推荐mysqlhotcopy脚本作为该语句的代替。

SHOW LOGS和SHOW BDB LOGS语句。优先选择更加特定的同义词SHOW ENGINE BDB LOGS。

LOAD TABLE FROM MASTER语句。该语句不是非常有用(一般更多的是使用LOAD DATA FROM MASTER),事实上,该语句通常用于调试LOAD DATA,如果用于现有的从属语句,很可能导致灾难。

SHOW INNODB和SHOW MUTEX语句。现在优先选择的是更清晰的SHOW ENGINE INNODB STATUS和SHOW ENGINE INNODB MUTEX语句。

对于外键,从MySQL 3.23开始,InnoDB存储引擎一直支持外键,其它存储引擎曾经暂时支持过该语法,因此很多开发人员没有注意到外键的缺失。但是,从版本5.2开始所有的存储引擎,包括MyISAM引擎将完全支持外键。MyISAM最初设计是一个轻量级的快速存储引擎。该引擎一开始性能很简单,随着新功能的日渐加入,人们开始对它的性能表现出了兴趣。

MySQL目前打算在版本5.2中对所有存储引擎提供外键支持,同时考虑平稳地拿掉适当的联机备份功能。不过,还有一个增加的部分是视图功能的添加,这个一直要求的功能本来打算只添加到MySQL 6中的。

MySQL某些领域的进展令人失望。笔者认为MaxDB和MySQL之间的互操作性应该有所改进,以便用户使用标准MySQL工具,如与MaxDB交互的mysql和mysqldump,但过去了整整两年,这一点并未实现。这是自从与Oracle断绝关系以来,MySQL最令人失望的一点。

尽管MySQL集群在取得跳跃式进步,并使其成为MySQL DBA全套功能的重要组成部分。它现在还良好地集成了一般复制。

MySQL新开发特性

除去在每次的版本升级中增加新的功能之外,My还具有不针对某一具体版本的新开发特性,例如MySQL集群、MaxDB、MySQL Administrator。

MySQL集群

集群是一个很有意义的特性。MySQL的复制功能从未提供过失败保护,使用它来提高可用性和冗余存在一些问题。集群解决方案通过并行地运行多台机器,很好地解决了这个问题,任何一台机器发生故障,其他的机器就能立刻分担它。

2003年10月,MySQL AB收购了Alzato,这是一家由爱立信出资创建的公司。Alzato为电信市场开发了一款集群产品,MySQL将在第三季度发布以该产品为基础的MySQL Cluster。

MySQL集群的基本特性是:

高度可用性。如果一台服务器发生故障,其他服务器会分担负载。不存在单点故障。

高度可伸缩性。只是根据需要添加更多的服务器。

高性能。MySQL声称在四双CPU节点标准设置下,解决方案每秒可以复制100 000个事务。


精彩图集

赞助商链接