2014中华架构师大会蓄势待发

会议官网

【大会介绍】
中华架构师大会又将与大家见面了!

2014年11月15日-16日,上海长城假日酒店,我们诚挚地欢迎您的参加!

自2010年11月首次举办以来,大会云集了国内水平最高的IT架构师、技术总监、项目经理、运维总监/经理、DBA经理、研发工程师等IT技术大牛,由最初的百人规模扩展到现今超千人的技术饕餮盛宴。大会一直受到业界广泛关注与赞誉,是目前华东与华南地区最受欢迎、人气最高的架构师技术交流盛会。本次大会将继续秉承分享IT最佳应用实践的宗旨,以“发现架构之美,实战为王”为主题,邀请国内知名互联网企业的资深架构师和工程师,探讨实下最热门的行业趋势与技术热点,分享架构在企业中的最佳实践。大会关键词:分布式文件系统、大数据、GO语言、自动化、分布式数据库、云计算架构设计等。

欢迎大家踊跃报名参会,大会期间将与各行精英面对面的交流,绝对让您不虚此行。

本届会议官方报名网站:http://meeting.zhdba.com

【大会详情】
会议名称: 2014中华架构师大会
会议时间: 2014年11月15日-16日
会议举办具体地址:上海恒丰路585号 上海广场长城假日酒店
票价: 免费
会议主办方:中华数据库行业协会
联系人:朱颖丹
电话:136 5197 9898
邮箱:zhuyingdan@zhdba.com

【主持人】

MySQL5.6 OnlineDDL对二级索引变更的影响

导读:本文是测试online DDL对表的二级索引的增删的影响。测试目的有以下几点:
(1):online DDL和旧机制的DDL 在二级索引变更方面的效率如何
(2):onlineDDL是否支持DML,查询并发

mysql> show create table small_table G
*************************** 1. row ***************************
Table: small_table
Create Table: CREATE TABLE `small_table` (
`TABLE_CATALOG` varchar(512) NOT NULL DEFAULT ”,
`TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT ”,
`TABLE_NAME` varchar(64) NOT NULL DEFAULT ”,
`COLUMN_NAME` varchar(64) NOT NULL DEFAULT ”,
`ORDINAL_POSITION` bigint(21) unsigned NOT NULL DEFAULT ’0′,
`COLUMN_DEFAULT` longtext,
`IS_NULLABLE` varchar(3) NOT NULL DEFAULT ”,
`DATA_TYPE` varchar(64) NOT NULL DEFAULT ”,
`CHARACTER_MAXIMUM_LENGTH` bigint(21) unsigned DEFAULT NULL,
`CHARACTER_OCTET_LENGTH` bigint(21) unsigned DEFAULT NULL,
`NUMERIC_PRECISION` bigint(21) unsigned DEFAULT NULL,
`NUMERIC_SCALE` bigint(21) unsigned DEFAULT NULL,
`DATETIME_PRECISION` bigint(21) unsigned DEFAULT NULL,
`CHARACTER_SET_NAME` varchar(32) DEFAULT NULL,
`COLLATION_NAME` varchar(32) DEFAULT NULL,
`COLUMN_TYPE` longtext NOT NULL,
`COLUMN_KEY` varchar(3) NOT NULL DEFAULT ”,
`EXTRA` varchar(30) NOT NULL DEFAULT ‘www’,
`PRIVILEGES` varchar(80) NOT NULL DEFAULT ”,
`COLUMN_COMMENT` varchar(1024) NOT NULL DEFAULT ”,
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1710 DEFAULT CHARSET=utf8
1 row in set (0.04 sec)

MySQL5.6 Online DDL对全文索引变更

导读:


本文是onlineDDL 对Innodb全文索引的变更测试的。MySQL5.6手册中有这样的解释: (除非用户提供FTS_DOC_ID列,否则创建第一个全文索引的过程包含表的复制。

后续在该表可以就地(inplace)创建全文索引)。

下面对此进行相应的测试,测试目的有以下几点:

(1):FTS_DOC_ID对全文索引创建的影响
(2):onlineDDL 对全文索引的变更是否并发DML

MySQL5.6 OnLine DDL 对外键变更测试

导读:
本文是MySQL5.6 OnLine DDL 对外键变更操作的测试,测试目的: foreign_key_checks系统变量开启对增删外键约束的影响。

mysql> show variables like ‘%foreign_key_check%’;
+——————–+——-+
| Variable_name      | Value |
+——————–+——-+
| foreign_key_checks | ON    |
+——————–+——-+
1 row in set (0.00 sec)

测试1

MySQL5.6 对列的变更Online DDL测试

导读:MySQL5.6 OnLine DDL 对列变更操作的测试,测试目的:对于列不同操作,Online DDL是否需要拷贝表以及允许DML,SELECT 并发。
下面测试使用测试案例 test_column,big_table,表定义是一致,结果集大小不同。

mysql> show create table test_column G
*************************** 1. row ***************************
Table: test_column
Create Table: CREATE TABLE `test_column` (
`TABLE_CATALOG` varchar(512) NOT NULL DEFAULT ”,
`TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT ”,
`COLUMN_NAME` varchar(64) NOT NULL DEFAULT ”,
`ORDINAL_POSITION` bigint(21) unsigned NOT NULL DEFAULT ’0′,
`COLUMN_DEFAULT` longtext,
`DATA_TYPE` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

MySQL5.6主键的在线DDL变更测试

导读:本文主要详细测试online DDL中的删除,添加主键操作。关于MySQL5.6在线DDL的全文信息,请参照:MySQL5.6版本InnoDB存储引擎在线DDL变更的官方信息中文翻译版,
文章地址:http://www.mysqlops.com/2013/03/26/mysql56-innodb-ddl.html

测试目的主要有以下几点:
(1):以alter table的方式新增主键,MySQL需要做什么
(2):ALGORITHM=inplace与ALGORITHM=copy 增删主键的不同之处,和适用于怎么的环境
(3):inplace与copy对于重建主键的效率,考虑哪些元素
(4):online DDL是如何控制DML,查询的并发

1:测试online DDL新增主键操
mysql> show variables like ‘%sql_mode%’;
+—————+————————+
| Variable_name | Value |
+—————+————————+
| sql_mode | NO_ENGINE_SUBSTITUTION |
+—————+————————+
1 row in set (0.00 sec)

MySQL5.6版本InnoDB存储引擎在线DDL变更的官方信息中文翻译版

5.5 InnoDB存储引擎表在线DDL

5.5.1.在线DDL概述

以前,InnoDB存储引擎表的许多DDL操作代价是非常昂贵的。许多ALTER TABLE操作的原理是通过创建新的空表,定义被要求的表选项和索引,然后逐行拷贝已存在记录到新表,在插入行时更新索引。在旧表所有行被拷贝完,旧表被删除和那新表被重命名为旧的表名。    MySQL5.5,和MySQL5.1 有了InnoDB Plugin,优化了CREATE INDEX和DROP INDEX 避免表的拷贝行为。这个特性被称为Fast index Creation。MySQL 5.6 加强ALTER TABLE操作许多方式来避免拷贝表。另外加强的允许SELECT查询和INSERT, UPDATE,和DELETE(DML)语句被处理当该表正被修改时。这些功能的组合现在被称为online DDL

这种新的机制还意味着你可以普通加快创建和加载表和在创建表时,没有任何二级索引,然后在数据被加载后再添加二级索引的整个过程的速度。

MySQL数据库逻辑备份工具mysqldump的输出方式和进度报告功能增加与改进

mysqldump在导出数据的过程中是“沉默”的,为了显示导出进度,给它加一个小patch显示进度。感谢 @宁青_ 的需求。

一、mysqldump输出方式

这个patch比较简单,先说一下相关的一个背景:mysqldump的输出方式。
1、  默认方式 stdout
2、  指定文件
-r target_file 可以指定导出的内容写入文件target_file中
3、–tab=path
在path目录下,对每个表生成两个文件,如表a生成a.sql和a.txt,分别存储表的定义和表的内容。

注意在指定—tab参数时,使用的是select into outfile …因此对指定的用户权限要求更高。

二、进度报告patch

增加参数 –progress-report 后,执行效果如下:

MySQL5.5数据库my.cnf配置文件模板

赶在传说中的2012之前,给大家献上一点福利。

5.5的配置文件,在很早以前就有了一个初稿,当初可是相当的简陋。后来决定把这个东西分享给大家,于是下了大决心仔细修改,期望达成:即使是刚接触MySQL不久,也能用这个模板配置出可以一用的配置文件。期间来来回回各种调整,花了相当长的时间才完成。直接导致5.5参数的翻译,和bug测试都停滞不前,不过这个配置文件模板完成度很高,一切的付出都是值得的。

MySQL5.6.7-rc index condition pushdown代码解读

对index condition pushdown很感兴趣,并且跟踪代码让自己受益良多,因此就来跟一下相关代码。

看的是mysql5.6.7-rc官方社区版。

 

先说说我对研究MySQL源码的看法:

每个使用MySQL数据库的人都应该看代码吗?不是的,那意味着MySQL数据库的使用门槛太高,几乎不可用;但另一方面,如果看MySQL代码的人多了,意味着有更多的人对MySQL数据库的了解更加深入。能够进一步推动MySQL数据库广泛而恰当地使用,为使用者、相关从业者创造更多的赢利机会和就业机会。