存档

文章标签 ‘InnoDB’

NoSQL到MySQL+Memcache(d)重树MySQL王者地位

2011年4月13日 谭俊青 3 条评论

作者:谭俊青@MySQL实验室(转载请保留该行及作者信息和原文链接,谢谢!)

NoSQL最近很火,因为它在K/V存储的优异性能表现,催生出很多产品,比如:Memcached、MongoDB、Redis、TT等等. 然而他们或多或少都有自己的某些缺陷,比如存在单点、数据安全持久化等等。然而这些随着新的技术和思路的在MySQL上面产品化,这些东西会被慢慢取代,MySQL重回她的王者地位。在这之前我说过Memcached会被MySQL+handler socket取代,现在情况有所变化,为了兼容现有大量的Memcache客户端,将handler socket用memcached替换掉,就出现了如下构架:

MySQL+InnoDB with Memcached

MySQL+InnoDB with Memcached 具有大量的优势: … 【阅读全文·MySQL实验室】

MySQL5.6发布及其新特性

2011年4月12日 谭俊青 4 条评论

在去年MySQL用户大会的时候,Sun发布了MySQL5.5。今天Oracle MySQL在MySQL User Conference 2011(MySQL用户大会)又扔出了个重磅炸弹,MySQL5.6发布

列举下MySQL5.6部分新特性:

  • InnoDB现在可以限制大量表打开的时候内存占用过多的问题(比如这里提到的)(第三方已有补丁)
  • InnoDB性能加强。如分拆kernel mutex;flush操作从主线程分离;多个perge线程;大内存优化等
  • InnoDB死锁信息可以记录到 error 日志,方便分析
  • MySQL5.6支持延时复制,可以让slave跟master之间控制一个时间间隔,方便特殊情况下的数据恢复。
  • 表分区功能增强
  • MySQL行级复制功能加强,可以降低磁盘、内存、网络等资源开销(只记录能确定行记录的字段即可)
  • Binlog实现 crash-safe
  • 复制事件采用crc32校验,增强master/slave 复制数据一致性
  • 新增 log_bin_basename (以前variables里面没有binlog位置信息,对数据库的监管很不方便)

更多信息见:http://dev.mysql.com/doc/refman/5.6/en/mysql-nutshell.html

MySQL锁机制/管理(并发锁,行锁,表锁,预加锁,全局锁等等)

2010年9月1日 谭俊青 1 条评论

MySQL实验室

1. MySQL中并发和隔离控制机制

  • Meta-data元数据锁:在table cache缓存里实现的,为DDL(Data Definition Language)提供隔离操作。一种特别的meta-data元数据类型,叫Name Lock。(SQL层)
  • 表级table-level数据锁(SQL层)
  • 存储引擎特有机制 — row locks行锁,page locks页锁,table locks表级,版本控制(在引擎中实现)
  • 全局读锁 — FLUSH TABLES WITH READ LOCK(SQL层)

【阅读全文·MySQL实验室】

分类: MySQL 标签: , , ,

使用SSD跑InnoDB注意事项及解决方案

2010年6月22日 谭俊青 11 条评论

相信有不少同仁已经做过过SSD作为存储对IO瓶颈的数据库性能测试,在得到可喜的成绩之余,在用于生产环境之前需要解决一些问题。

InnoDB共享表空间包含:
Data dictonary
Double write buffer
Insert buffer
Rollback segments
UNDO space … 【阅读全文·MySQL实验室】