MySQL:昨天的"玩具"到今天的竞争者(1)(4)
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个事务。
- 上一篇:送给新手---MySQL使用的前奏
- 下一篇:轻松接触MySQL数据库支持的3个引擎