`
maozilee
  • 浏览: 247144 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

准备升级到:MySQL 5.5!

 
阅读更多

MySQL进入Oracle产品体系,获得了更多研发投入,新一代MySQL产品---MySQL5.5即将面世,较之之前的5.1版本,将获得诸多特性方面的提升,简单总结如下:

  1. 默认存储引擎更改为InnoDB

  InnoDB作为成熟、高效的事务引擎,目前已经广泛使用,但MySQL5.1之前的版本默认引擎均为MyISAM,此次MySQL5.5终于做到与时俱进,将默认数据库存储引擎改为InnoDB,并且引进了Innodb plugin 1.0.7。此次更新对数据库的好处是显而易见的:InnoDB的数据恢复时间从过去的一个甚至几个小时,缩短到几分钟(InnoDB plugin 1.0.7,InnoDB plugin 1.1, 恢复时采用红-黑树)。InnoDB Plugin 支持数据压缩存储,节约存储,提高内存命中率,并且支持adaptive flush checkpoint, 可以在某些场合避免数据库出现突发性能瓶颈。

  Multi Rollback Segments: 原来InnoDB只有一个Segment,同时只支持1023的并发。现已扩充到128个Segments,从而解决了高并发的限制。

  2. 多核性能提升

  Metadata Locking (MDL) Framework替换LOCK_open mutex (lock),使得MySQL5.1及过去版本在多核心处理器上的性能瓶颈得到解决,官方表示将继续增强对MySQL多处理器支持,直至MySQL性能“不受处理器数量的限制”


  3. 复制功能(Replication)加强

  MySQL复制特性是互联网公司应用非常广泛的特性,作为MySQL最实用最简单的扩展方式,过去的异步复制方式已经有些不上形势,对某些用户来说“异步复制”意味着极端情况下的数据风险,MySQL5.5将首次支持半同步(semi-sync replication)在MySQL的高可用方案中将产生更多更加可靠的方案。另外Slave fsync tunning;Relay log corruption recovery和Replication Heartbeat也将实现。

  4. 增强表分区功能

  MySQL 5.5的分区对用户绝对是个好消息,更易于使用的增强功能,以及TRUNCATE PARTITION命令都可以为DBA节省大量的时间,有时对最终用户亦如此:

  1) 非整数列分区:任何使用过MySQL分区的人应该都遇到过不少问题,特别是面对非整数列分区时,MySQL 5.1只能处理整数列分区,如果你想在日期或字符串列上进行分区,你不得不使用函数对其进行转换。很麻烦,而MySQL 5.5中新增了两类分区方法,RANG和LIST分区法,同时在新的函数中增加了一个COLUMNS关键词。在MySQL 5.1中使用分区另一个让人头痛的问题是date类型(即日期列),你不能直接使用它们,必须使用YEAR或TO_DAYS转换这些列,但在MySQL 5.5中情况发生了很大的变化,现在在日期列上可以直接分区,并且方法也很简单;

  2) 多列分区:COLUMNS关键字现在允许字符串和日期列作为分区定义列,同时还允许使用多个列定义一个分区;

  3) 可用性增强:truncate分区。分区最吸引人的一个功能是瞬间移除大量记录的能力,DBA都喜欢将历史记录存储到按日期分区的分区表中,这样可以定期删除过时的历史数据。 但当你需要移除分区中的部分数据时,事情就不是那么简单了,删除分区没有问题,但如果是清空分区,就很头痛了,要移除分区中的所有数据,但需要保留 分区本身,你可以:使用DELETE语句,但我们知道DELETE语句的性能都很差。使用DROP PARTITION语句,紧跟着一个EORGANIZE PARTITIONS语句重新创建分区,但这样做比前一个方法的成本要高出许多。MySQL 5.5引入了TRUNCATE PARTITION,它和DROP PARTITION语句有些类似,但它保留了分区本身,也就是说分区还可以重复利用。TRUNCATE PARTITION应该是DBA工具箱中的必备工具;

  4) 更多微调功能:TO_SECONDS:分区增强包有一个新的函数处理DATE和DATETIME列,使用TO_SECONDS函数,你可以将日期/时间列转换成自0年以来的秒数,如果你想使用小于1天的间隔进行分区,那么这个函数就可以帮到你。

  5. Insert Buffering 如果在buffer pool中没找到数据,那么直接buffer起来,避免额外的IO;Delete & Purge Buffering 跟插入一样,如果buffer pool中没有命中,先buffer起来,避免额外的IO。

  6. Support for Native AIO on Linux

以上的特性在MySQL 5.5的社区版当中都将包括,在MySQL企业版当中,除以上更新之外,Oracle还加强了更多实用的企业级功能,包括:

  1. 实现在线物理热备
  MySQL 企业版将包含Innodb Hotbackup(这也许是MySQL和InnDB多年之后重新聚首的新亮点),从而一举解决过去MySQL无法进行可靠的在线实时物理备份的问题, InnoDB Hot Backup 不需要你关闭你的服务器也不需要加任何锁或影响其它普通的数据操作,这对MySQL DBA来说应该是一个不错的消息。
  2. MySQL Enterprise Monitor 2.2 & Oracle Enterprise Monitor
  是的,你没有看错,MySQL将可以被Oracle Enterprise Monitor监控,这是一个实现起来并不复杂,但在过去绝无可能的变化。并且MySQL企业版监控器(MySQL Enterprise Monitor)得到了更大的加强,版本更新至2.2,对MySQL服务器资源占用降低到可以忽略的地步,集成了监控,报警,SQL语句分析和给出优化建议,MySQL的一些开源监控方案相比之下显得过于简陋,对企业客户来说,MySQL变得更加可靠。

  3. MySQL Workbench
  过去MySQL的图形界面工具做的实在是令人难以恭维,当然这也给众多MySQL管理工具提供了市场空间,现在Oracle打算将MySQL做得比SQL-Server更加简单易用,MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具,可以用来设计和创建新的数据库图示,建立数据库文档,以及进行复杂的MySQL 迁移等操作,因此内置workbench将使MySQL使用起来更简便高效。

  4. 关于未来的重要提醒:Oracle的管理工具,MySQL也将能够使用,Oracle比MySQL社区想象要聪明,不是吗?当然MySQL 5.5我们还没看到这个变化,但变化已经在时间表上,MySQL社区版也能够被Oracle管理工具管理,前提你得是Oracle数据库的用户。

 

     除了常规的Bug修复和一般性的调整以外,这个软件新发布的MySQL 5.5版本还提供了很多有意义的特性和功能。在这些特性和功能中,最重要的是更好的可扩展性和经过改进的复制(replication)功能。

  在性能方面,这个软件在处理大量的并发连接的时候不再像它过去的版本那样慢到极点了。对于可以一次可以承受1000个连接的Web服务器来说,这是一个令人欢欣鼓舞的改进。当增加大量的服务器核心(超过4个)的时候,这个软件可以获得附加的性能提升,过去的版本是无法做到这一点的。

  常规的性能也得到了提高。Oracle表示,按照内部的标准,在Linux上,MySQL 5.5的读写速度比5.1版本提升了360%。在Windows Server机器上,这方面性能的提升超过了1500%。Ulin说:“MySQL 5.5版本的吞吐量更高。”

  在复制(replication)方面,这个软件现在支持半同步(semi-synchronous)的复制(replication)了。过去的版本只支持异步的复制,这意味着有新的数据录入原始数据库的时候,数据库的备份拷贝不能马上得到更新。

分享到:
评论

相关推荐

    Debian 6.02 (squeeze)下编译安装 MySQL 5.5的方法

    : Debian 6.02 (squeeze) x64 软件:MySQL 5.5.14 步骤: 1、升级系统 #apt-get update #apt-get upgrade #apt-get install chkconfig libpcre3-dev build-essential libssl-dev libncurses5-dev bison 2、准备软件 ...

    Windows(x86,64bit)升级MySQL 5.7.17免安装版的详细教程

    MySQL需要升级到5.5.3以上版本才支持Laravel 5.4默认的utf8mb64字符编码。因此就把MySQL升级了一下,期间还是遇到些小问题,记录一下以供参考。 升级准备 备份之前MySql目录下的data目录(数据库目录)。 MySql...

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    21-MySQL5.5编译方式安装实战.avi 第二部 MySQL多实例安装与企业应用场景(10节) 22-MySQL数据库多实例介绍.avi 23-MySQL数据库多实例的优势和问题介绍.avi 24-MySQL数据库多实例的门户企业应用场景.avi 25-...

    PHP佳蓝人工智能开源框架 v2.0

    MySQL 不低于5.5.x 为了保证最佳效果,所有后台请不要使用IE8以下浏览器访问 佳蓝人工智能开源框架安装步骤 1、准备一组空的MySQL数据库账号(须正确且数据库已创建) 2、解压并上传upload/内的所有文件到您的...

    佳蓝人工智能开源框架 v2.0.zip

    MySQL 不低于5.5.x 为了保证最佳效果,所有后台请不要使用IE8以下浏览器访问 佳蓝人工智能开源框架安装步骤 1、准备一组空的MySQL数据库账号(须正确且数据库已创建) 2、解压并上传upload/内的所有文件到您的...

    Linux环境数据库管理员指南

    1.4.4 移植到 Linux工作站 7 1.5 Linux分发包 8 1.6 升级或移植前的考虑 10 1.6.1 硬件兼容性 11 1.6.2 升级 11 1.6.3 从其他操作系统进行移植 12 1.6.4 选择分发包 12 1.7 怎样着手工作 12 1.8 小结 13 1.9 常见...

    php网络开发完全手册

    5.5 类的引用、扩展与继承 75 5.5.1 类的引用 75 5.5.2 类的扩展与继承 76 5.6 操作与调用 77 5.6.1 静态类的调用 77 5.6.2 实例类型的判断方法instanceof 78 5.6.3 对象的克隆 78 5.7 一些设计观念 80 5.7.1 策略...

    Ubuntu权威指南(2/2)

    1.4.1 安装前的准备 10 1.4.2 安装Ubuntu Linux系统 11 1.4.3 安装后的软件维护与更新 16 第2章 GNOME桌面环境 18 2.1 GNOME桌面环境概述 19 2.1.1 GNOME注册界面 19 2.1.2 GNOME桌面环境 20 2.2 GNOME桌面环境浏览 ...

    Ubuntu权威指南(1/2)

    1.4.1 安装前的准备 10 1.4.2 安装Ubuntu Linux系统 11 1.4.3 安装后的软件维护与更新 16 第2章 GNOME桌面环境 18 2.1 GNOME桌面环境概述 19 2.1.1 GNOME注册界面 19 2.1.2 GNOME桌面环境 20 2.2 GNOME桌面环境浏览 ...

Global site tag (gtag.js) - Google Analytics