innodb
InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能
在 Oracle 的工程师的 blog 上可以看到不少说明 InnoDB 在多 CPU 环境下的显著进步,不过我是觉得看看就好... 进步是一定有,但实际用起来通常不会有官方说的那么多 :p 可以预期不久后 Percona 应该会丢出对应的版本 (至少之前已经有风声了),到时候就用 Percona 的版本吧。 原因的话就不详细写了,上面有一些无关痛痒的官方说法。在“Oracle who? Fedora & openSUSE will replace MySQL with MariaDB”报导里写的比较直接
MySQL 得益于开放的可插拔设计,允许替换不同的底层存储引擎,InnoDB 就是其中的代表,最初由第三方公司开发后被 Oracle 收购,是 OLTP 场景下核心表的首选存储引擎,自 5.5 以来已经成为 MySQL 的默认存储引擎。 InnoDB 是一个健壮的事务型存储引擎,这种存储引擎已经被很多互联网公司使用,为用户操作非常大的数据存储提供了一个强大的解决方案。MySQL 5.5 之后,InnoDB 就是作为默认的存储引擎
数据量的总大小,一个机器放不下,还有访问量的上升,几乎大部分使用MySql架构的网站在数据库上都出现了性能问题。开始大量使用缓存技术来缓解数据库的压力,优化数据库的结构和索引。刚开始流行的是通过文件缓存来缓解数据库的压力,但是当访问量持续增加的时候,多台Web机器通过文件缓存不能共享,大量的小文件缓存也带来了较高的IO压力
解释一下“插入缓冲”(Insert Buffer):InnoDB为了避免更新数据时更新索引损失太多性能,使用了这种称为Insert Buffer的方法来缓冲索引更新,对于非聚集索引(主键索引)、唯一索引的修改,不是每次都直接插入索引页,而是先判断要更新的这一页在不在内存中,如果不在则存入Insert Buffer,按照Master Thread的调度规则来合并非唯一索引和索引页中的叶子结点,这样经常能减少更新索引的代价。为什么要求是非唯一索引(排除主键索引和唯一索引)呢?因为唯一索引要检查记录是不是存在,所以必须把修改的记录影响的索引页读出来才知道是不是唯一,这样Insert Buffer就没意义了,反正要读出来,所以只对非唯一索引有效。 XtraDB是Percona Team在InnoDB的基础上开发出来的一个更加强大的存储引擎,它百分百的兼容InnoDB,我们可以用XtraDB来替代为MySQL的发展做出历史性贡献的InnoDB,新的XtraDB引擎将具有更加强大的性能优势,以及良好的扩展性和一些新特性
大多数人都已经听说 NoSQL 数据库,其中使用最广泛的工具是 Memcached,你们通过 Memcached 再应用层和数据库之间添加一个缓存层。在此文中,我们将学习怎样在 Linux 中 安装这个插件,怎样做一些基础的配置。 译者注:我的操作系统版本是 RHEL 6.5,而作者的 OS 版本为 CentOS
众所周知,InnoDB使用的索引结构是B+树,但其实它还支持另一种索引:自适应哈希索引。 哈希表是数组+链表的形式。通过哈希函数计算每个节点数据中键所对应的哈希桶位置,如果出现哈希冲突,就使用拉链法来解决
大多数人都已经听说 NoSQL 数据库,其中使用最广泛的工具是 Memcached,你们通过 Memcached 再应用层和数据库之间添加一个缓存层。在此文中,我们将学习怎样在 Linux 中 安装这个插件,怎样做一些基础的配置。 译者注:我的操作系统版本是 RHEL 6.5,而作者的 OS 版本为 CentOS
先讲文章内的结论。 在 ext4 上开启 Journal filesystem 功能后并且关掉 InnoDB 的 Double write buffer 后,资料的安全性不受影响,但效能上升非常多。而与目前常用的 XFS 比较起来也是领先不少
这个就真的全区都生效了,包括一般人不能注册的 AWS GovCloud (US) 与中国区: 对判断式子里面的解读是不一样的。 先讲文章内的结论。 在 ext4 上开启 Journal filesystem 功能后并且关掉 InnoDB 的 Double write buffer 后,资料的安全性不受影响,但效能上升非常多