表示 进入内容 11013
下一步 3 较早的记录 »
Displaying posts with tag: 数据库内核分享 (reset)
My sql 5.6新特性深入剖析——innodb引擎

简介

2012-09-29,MySQL 5.6第一个RC版本发布(MySQL 5.6.7),2013-02-05,MySQL 5.6第一个GA版本发布(MySQL 5.6.10)。总的来说,MySQL 5.6算是一个值得期待的版本,包含了大量的新特性,了解这些新特性,不仅对数据库内核研发有帮助,对于更好的使用MySQL数据库也有着极大的意义。

 

因此,本人从2012年初开始,就一直关注MySQL 5.6版本的各个新特性,阅读每一个5.6版本相关的相关博文,下载其最新的版本进行测试验证,积累下了一定的心得与收获,形成了这个介绍MySQL 5.6新特性深入剖析的PPT。本PPT一共分为两期:分别是InnoDB引擎以及MySQL Server。

 

本次为第一期,分享 MySQL 5.6 InnoDB引擎中的性能优化与功能增强。性能优化包括:Read-Only Transaction,Buffer Pool Flushing,Page …

[获取更多]
InnoDB Memcached Plugin源码实现调研

背景

 

MySQL 5.6版本,新增了一个NoSQL的接口,通过将memcached嵌入到MySQL系统之中,用户可以直接使用memcached接口直接操作MySQL中的InnoDB表,绕过MySQL Server层面的SQL解析,优化,甚至绕过InnoDB Handler层,直接操作InnoDB内部的方法,从而达到更优的响应时间与效率。关于此功能的官方介绍,请见:InnoDB Integration with memcached 。嵌入memcached之后,整个MySQL的架构如下图所示:

 

 

本文接下来的部分,将从源码的角度,详细分析InnoDB Integration with memcached的实现细节问题。

 

导读

 

  • InnoDB引擎为了支持Memcached API,在Handler层面进行的改动,请见(一)

[获取更多]
二分查找(Binary Search)需要注意的问题,以及在数据库内核中的实现

问题背景

 

今年的实习生招聘考试,我出了一道二分查找(Binary Search)的题目。题目大意如下:

 

给定一个升序排列的自然数数组,数组中包含重复数字,例如:[1,2,2,3,4,4,4,5,6,7,7]。问题:给定任意自然数,对数组进行二分查找,返回数组正确的位置,给出函数实现。注:连续相同的数字,返回第一个匹配位置还是最后一个匹配位置,由函数传入参数决定。

 

我为什么会出这道题目?

 

  • 二分查找在数据库内核实现中非常重要

[获取更多]
SQL中的where条件,在数据库中提取与应用浅析

1        问题描述 一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣。当然,要完整描述一条SQL在数据库中的生命周期,这是一个非常巨大的问题,涵盖了SQL的词法解析、语法解析、权限检查、查询优化、SQL执行等一系列的步骤,简短的篇幅是绝对无能为力的。因此,本文挑选了其中的部分内容,也是我一直都想写的一个内容,做重点介绍:   给定一条SQL,如何提取其中的where条件?where条件中的每个子条件,在SQL执行的过程中有分别起着什么样的作用?   通过本文的介绍,希望读者能够更好地理解查询条件对于SQL语句的影响;撰写出更为优质的SQL语句;更好地理解一些术语,例如:MySQL 5.6中一个重要的优化——Index Condition Pushdown,究竟push down了什么?   …

[获取更多]
从MySQL Bug#67718浅谈B+树索引的分裂优化

问题背景 今天,看到Twitter的DBA团队发布了其最新的MySQL分支:Changes in Twitter MySQL 5.5.28.t9,此分支最重要的一个改进,就是修复了MySQL 的Bug #67718:InnoDB drastically under-fills pages in certain conditions。关于此Bug的详细描述,以及如何重现此问题,可以阅读以上的Bug链接,以下简单描述下此Bug对应的问题:   InnoDB的索引分裂策略,在特定的情况下,索引页面的分裂存在问题,导致每个分裂出来的页面,仅仅存储一条记录,页面的空间利用率极低。   此Bug引起了我的兴趣,因此准备跟大家简单聊聊B+树索引的结构、B+树的分裂、B+树分裂操作的优化、Bug #67718的成因,以及个人对如何修复此Bug的一些建议等。   B+树索引结构 …

[获取更多]
数据库内核分享(第二期)—— InnoDB 日志 回滚段 & 崩溃恢复 实现详解

  本期PPT分享内容:   InnoDB 日志/回滚段/崩溃恢复的实现详解。第一期分享的内容,是InnoDB与Oracle的Buffer Pool实现对比。而本期,让我们暂时告别Oracle,将心思完全放在InnoDB引擎上。本期的分享,将详细介绍如下内容: 一、InnoDB的日志相关内容:InnoDB有哪些日志?InnoDB的DML操作,会如何记录日志?为何不同的Update操作,性能上会有较大的不同? 二、InnoDB的Redo详解:InnoDB Redo日志的种类?Mini-Transaction是什么?InnoDB的Log Buffer,Log Block的结构是怎样的?如何通过LSN计算对应的日志文件位置? 三、InnoDB的Undo详解:InnoDB的回滚段结构是如何组织的?回滚段页面有哪些类型?事务与回滚段是如何交互的?事务提交、回滚、Purge的操作,分别如何进行? …

[获取更多]
MySQL InnoDB Add Index实现调研(二:Online Add Index)

MySQL Add Index实现 MySQL各版本,对于add Index的处理方式是不同的,主要有三种:   Copy Table方式 这是InnoDB最早支持的创建索引的方式。顾名思义,创建索引是通过临时表拷贝的方式实现的。 新建一个带有新索引的临时表,将原表数据全部拷贝到临时表,然后Rename,完成创建索引的操作。 这个方式创建索引,创建过程中,原表是可读的。但是会消耗一倍的存储空间。 Inplace方式 这是原生MySQL 5.5,以及innodb_plugin中提供的创建索引的方式。所谓Inplace,也就是索引创建在原表上直接进行,不会拷贝临时表。相对于Copy Table方式,这是一个进步。 Inplace方式创建索引,创建过程中,原表同样可读的,但是不可写。 Online方式 这是MySQL 5.6.7中提供的创建索引的方式。无论是Copy …

[获取更多]
MySQL InnoDB Add Index实现调研(一:Inplace Add Index)

MySQL Add Index实现 MySQL各版本,对于add Index的处理方式是不同的,主要有三种:   Copy Table方式 这是InnoDB最早支持的创建索引的方式。顾名思义,创建索引是通过临时表拷贝的方式实现的。 新建一个带有新索引的临时表,将原表数据全部拷贝到临时表,然后Rename,完成创建索引的操作。 这个方式创建索引,创建过程中,原表是可读的。但是会消耗一倍的存储空间。 Inplace方式 这是原生MySQL 5.5,以及innodb_plugin中提供的创建索引的方式。所谓Inplace,也就是索引创建在原表上直接进行,不会拷贝临时表。相对于Copy Table方式,这是一个进步。 Inplace方式创建索引,创建过程中,原表同样可读的,但是不可写。 Online方式 这是MySQL 5.6.7中提供的创建索引的方式。无论是Copy …

[获取更多]
数据库内核分享——第二期预告

前言 朋友们,大家好!   在9月16日,数据库内核分享——第一期结束之后,本人做了一个预告,将会在今年继续开展数据库内核分享——第二期。   如今,数据库内核分享——第二期姗姗来迟。分享的地点仍旧由 福云咖啡 提供,十分感谢他们的大力支持!   相关事宜 数据库内核分享——第二期的相关事宜,如下:   时间 11月24日下午2:00至6:00   地点 杭州福云咖啡(西湖区西溪路628号福地创业园5楼(紫荆花路紫荆港路间))   与第一期在同样的位置,参加过第一期的朋友,应该不会迷路了   形式 免费(福云咖啡提供免费的柠檬水,当然,如果想喝咖啡的话,还是要自己买单的:))   内容 InnoDB 日志/回滚段/崩溃恢复的实现详解。第一期分享的内容,是InnoDB与Oracle的Buffer …

[获取更多]
数据库相关分享——大集合

本人的一些数据库内核方面的PPT与资料   MySQL InnoDB 源码实现分析(一):微盘地址  Slideshare地址   MVCC (Oracle, Innodb, Postgres):微盘地址  Slideshare地址   InnoDB Transaction Lock and MVCC:微盘地址  Slideshare地址   Buffer Pool Implementaion InnoDB vs Oracle:微盘地址    视频地址  Slideshare地址   MySQL查询优化浅析:微盘地址  Slideshare地址   InnoDB 日志 回滚段 & 崩溃恢复 实现详解:微盘地址   视频地址  Slideshare地址 … 继续阅读 →

表示 进入内容 11013
下一步 3 较早的记录 »