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

【主持人】

MySQL 5.7.3的Semi-Synchronous Replication持久化数据到多个Slave上

在MySQL5.7.3上, 我们发布了一个新的semi-synchronous功能。使用这个功能,可以更好的保障数据一致性和持久性。下面,请允许我为大家介绍一下这个功能。

在读这篇文章之前,你需要知道什么是semi-synchronous replication. 如果你以前没有了解过semi-synchronous replication,你可以阅读MySQL手册的 Seim-Synchronous Replication 章节。 MySQL 手册介绍的很详细,这里我就不再赘述了。

持久化数据到多个Slave

这个新功能允许用户设置:在事物成功提交之前,它的数据应该被复制到多少个slave上。换句话说,semisync master的事物需要等待多少个slave给它应答。简化的处理过程如下图所示:

MySQL数据库的字符集和copy_and_convert 字符集不同导致CPU资源额外消耗

关于copy_and_convert
在对MySQL做业务压力测试的时候,我们在perf结果中发现 copy_and_convert 是一个耗费cpu的操作。这个函数的意思,就是在字符集之间做内容转换。
如果源和目标的字符集相同,就可以直接用memcpy,这显然比做字符集转换(按字节或字长拷贝更快,和节省cpu)

当整个系统是CPU瓶颈时,我们希望能够减少这种cpu消耗。

一次查询涉及的拷贝
如果我们执行一个简单的select语句,会涉及到两部分的内容:metadata和data。MySQL的返回包是能够“自解析”的,也就是说不仅有内容,还有描述信息。这些描述信息我们称为metadata。

在将这两部分信息返回给客户端的时候,就涉及到字符串拷贝,如果源字符集和目标字符集不同,就需要作转换。

MySQL数据库从load data引发的死锁说起

一个线上项目报的死锁,简要说明一下产生原因、处理方案和相关的一些点.
1、背景
         这是一个类似数据分析的项目,数据完全通过LOAD DATA语句导入一个InnoDB表中。为方便描述,表结构简化为如下:

Create table tb(id int primary key auto_increment, c int not null) engine=innodb;

导入数据的语句对应为
Load data infile ‘data1.csv’ into table tb;
Load data infile ‘data2.csv’ into table tb;

MySQL数据库中like语句及相关优化器tips

背景

         MySQL中在对某个字段做包含匹配时可以用like

先看这个结构和结果

 

CREATE TABLE `tb` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `user_id` bigint(20) DEFAULT NULL,  `title` varchar(128) NOT NULL,

  `memo` varchar(2000) DEFAULT NULL,

  PRIMARY KEY (`id`),

  KEY `title` (`title`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

 

mysql> explain select * from tb where title like ‘%abcd%’;

+—-+————-+——-+——+—————+——+———+——+——+————-+

| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows | Extra       |

+—-+————-+——-+——+—————+——+———+——+——+————-+

|  1 | SIMPLE      | tb    | ALL  | NULL          | NULL | NULL    | NULL |    1 | Using where |

+—-+————-+——-+——+—————+——+———+——+——+————-+

1 row in set (1.65 sec)

 

MySQL5.5数据库复制搭建报错之Could not initialize master info structure

导读

鉴于MySQL5.5数据库产品的性能提升不明显,软件产品稳定性不佳,且新增加的功能也不足突破,所以生产环境中只有几套应用使用MySQL5.5版本支撑,以培养与掌握MySQL5.5的经验和技术,所以个人对MySQL5.5系列的实战也不多。现有一个项目,因服务器配置的特殊性,以及业务特点、数据容量、数据访问等也非常特殊,不得不考虑采用MySQL5.5,且国内某mysql服务提供商技术人员指定要求的版本号为MySQL5.5.27。综合上述信息导致今天无意碰到一个MySQL数据库复制搭建过程中出现的错误信息,可能其他同行也可能会碰见,特此写一篇技术博文分享给大家。

(一)   环境描述

操作系统:Linux x3755-31 2.6.18-308.el5

硬件配置:2*8Core CPU,6*SAS*15K*600G,RAID1+0,256G MEM

MySQL数据库主从复制加速工具Transfer2.0 发布啦

背景

       Transfer是一个主从多线程同步工具,直接patch在MySQL中。2011年开发完成。于去年的12.12上线,并撑住高峰期主从,保证从库无延迟,使得应用能够直接从从库上读数据。

       对Transfer1.0背景有兴趣的同学可以看我以前的一篇博客

新功能

       Transfer第一版本存在两个可改进的点:单表并发和事务支持。

MySQL数据库的IO操作

导读:
         淘宝丁奇分享的PPT:MySQL数据库的IO操作,详细分享了四块的内容,并且告诉大家如何调整MySQL数据库IO操作相关的参数,给出了详细的选择策略,现替其整理成文章分享与此。
PPT内容提纲:
1.MySQL的文件及简介
2.数据访问流程
3.文件访问模式
4.影响io行为的一些参数和选择策略

1.MySQL的文件及简介