MySQL开发流程介绍

五月 7, 2013 by · 2 Comments 

1. 功能开发(Feature Development)

功能开发过程如下:

  • MySQL的一个功能是指一个worklog.
  • Worklog的开发要经过规格定义,设计,架构评审,代码实现,代码评审和QA评审的过程(但是这几个过程并不是严格的按照先后顺序进行的).
  • MySQL的功能首先在一个功能树(feature tree,是指代码分支树)上实现.
  • 功能树是从MySQL的代码主开发树TRUNK上克隆出来的(一般是开发者自己创建),开发过程中不定期从TRUNK同步.
  • 当功能实现以后,必须要经过代码的评审。
  • 代码评审通过后,开发树被QA接手。
  • QA对功能进行测试,如发现缺陷(bugs),开发人员要进行修复.最终在测试通过后,QA将状态设置为开发过程完成(sign off).
  • 一旦QA验证完毕,功能就会被合并到TRUNK中.

通过这个过程,TRUNK上会不停的累积功能和缺陷修复的代码。额外的回归测试(Regression testing)一刻不停的在TRUNK上执行,以保证TRUNK始终能够保持候选发布版本(Release Candidate)的质量。

Read more

原创文章,转载请注明: 文章地址MySQL开发流程介绍

MySQL数据库实时同步数据到Hadoop分布式文件系统的工具Applier

四月 23, 2013 by · Leave a Comment 

通过Map/Reduce进行批处理递送到Apache Hadoop仍然是中枢环节。,但随着要从“超思维速度“分析方面获取竞争优势的压力递增,因此Hadoop(分布式文件系统)自身经历重大的发展。科技的发展允许实时查询,如Apache Drill, Cloudera ImpalaStinger Initiative正脱颖而出,新一代的资源管理Apache YARN 支持这些。

为了支持这种日渐强调实时性操作,我们正发布一个新MySQL Applier for Hadoop(用于Hadoop的MySQL Applier)组件。它能够把MySQL中变化的事务复制到Hadoop / Hive / HDFS。Applier 组件补充现有基于批处理Apache Sqoop的连接性。

这个组件(MySQL Applier for Hadoop)的复制是通过连接MySQL主服务,一旦二进制日志被提交,就读取二进制日志事务,并且把它们写到HDFS.

mysql-applier-hdfs-hadoop-one Read more

原创文章,转载请注明: 文章地址MySQL数据库实时同步数据到Hadoop分布式文件系统的工具Applier

大众点评网上海市招聘MySQL DBA

三月 30, 2013 by · Leave a Comment 

岗位名称:MySQL DBA
公司名称:大众点评网
工作地点:上海市
职位类型:简历直递DBA部门主管

 

岗位要求:

1、维护数据库系统的稳定、高效运行,参与数据架构规划设计;
2、数据库开发支持,设计评审、以及SQL代码的上线审核; Read more

原创文章,转载请注明: 文章地址大众点评网上海市招聘MySQL DBA

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

三月 26, 2013 by · 4 Comments 

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

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

原创文章,转载请注明: 文章地址MySQL5.6版本InnoDB存储引擎在线DDL变更的官方信息中文翻译版

北京乐蜂网招聘MySQL DBA

三月 22, 2013 by · 2 Comments 

职位名称:MySQL DBA

 

公司名称:乐蜂网
工作地点:北京市

 

职位类型:简历直递副总裁

 

岗位职责:
1、独立设计数据库,数据建模,能够对项目的数据库设计和性能提高提供指导性帮助,编写数据库开发规范,指导开发人员对编写 的 SQL 语句和存储过程进行优化;
2、监控数据库性能,应用程序性能。评估和提供相关解决方案;

Read more

原创文章,转载请注明: 文章地址北京乐蜂网招聘MySQL DBA

MySQL数据库InnoDB存储引擎中Adaptive hash index存在问题、Percona改进及一个bug

三月 19, 2013 by · Leave a Comment 

背景
Adaptive hash index (AHI)是MySQL数据库InnoDB存储引擎中用于加速索引查找的一个结构。InnoDB本身不支持hash索引,所有的索引检索都走B树查询。AHI可以认为是“索引的索引”。当对一个页面的访问次数满足一定条件后,将这个页面的地址存在一个hash表中,下次查询可以直接访问到页面,不需要走B树查询。

问题
天下没有免费的午餐,在加速查询的同时,AHI与其他缓存结构一样,也面临维护的问题。作为一个全局结构,在更新时必然有一个全局锁操作(btr_search_latch),一个查询里面可能会对其作多次加x_lock操作。

Percona的改进
如同Buffer Pool可以用多个instance减少锁冲突,Percona也用类似的策略来处理AHI的锁问题。由于本身就是Hash结构,这个处理既自然又方便。所有的数据节点都必然属于一个索引,AHI就用索引id来作分区的key(block->index->id).计算规则为(index_id % btr_search_index_num), 这个 btr_search_index_num 就是 Percona中引入的只读参数 innodb_adaptive_hash_index_partitions。
全局的btr_search_latch则分为btr_search_index_num 份,AHI中每个block中新增一个成员指向 btr_search_latch_part[i]. Read more

原创文章,转载请注明: 文章地址MySQL数据库InnoDB存储引擎中Adaptive hash index存在问题、Percona改进及一个bug

搜狐公司北京招聘MySQL DBA

三月 15, 2013 by · Leave a Comment 

职位名称:数据库工程师(MySQL DBA)
公司名称:搜狐
所属部门:技术部数据库运维和分析组

工作地点:北京
招聘人数:2到3人
职位性质:内部直招

职位描述:

1.MySQL数据库系统的规划、设计和管理;
2.MySQL数据库的性能优化; Read more

原创文章,转载请注明: 文章地址搜狐公司北京招聘MySQL DBA

[MySQL 版本差异] 丢失frm文件之后drop database的不同结果分析

二月 22, 2013 by · 1 Comment 

背景
今天在讨论frm丢失后drop database失败的问题。简单复现如下。假设test库中有两个表t1, t2,执行如下脚本:

bin/mysql -uroot –socket=run/mysql.sock   -e ”
drop database if exists test2;
create database test2;
use test2;
create table t1 like test.t1;
create table t2 like test.t2;

rm -f data/test2/t1.frm; Read more

原创文章,转载请注明: 文章地址[MySQL 版本差异] 丢失frm文件之后drop database的不同结果分析

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

一月 7, 2013 by · 1 Comment 

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

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

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

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

原创文章,转载请注明: 文章地址MySQL数据库的字符集和copy_and_convert 字符集不同导致CPU资源额外消耗

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

十二月 18, 2012 by · 7 Comments 

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

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

原创文章,转载请注明: 文章地址MySQL5.5数据库my.cnf配置文件模板

Next Page »

知识共享许可协议
作品采用知识共享署名 2.5 中国大陆许可协议进行许可。