MySQL与IO @淘宝丁奇.

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

MySQL 基础技能与原理 —— 基础技能 MySQL DBA Team 彭立勋( )
Data type P64 ‘’ 转义字符 P67 P68 EXE,选出某个教师的学生中最新的一 个,要姓名, ID (,LIMIT ) EXISTS,NOT EXISTS P409 Q,EXISTS 和 in 的区别( 1000 ,查询结果)
PHP 训练营 - MySQL OA 产品部 李鑫辉 2011 年 9 月. 内容提要 & 目录 1. 介绍 (10 分钟 ) 1.1. 简介 1.2. 特点 1.3. 安装 2. 语法 (60 分钟 ) 2.1. 存储引擎 MyISAM InnoDB 特点与区别.
第八单元 数据库MySQL应用基础 MySQL数据库应用基础 MySQ数据库操作使用 Mysql管理工具 第25章 数据库的增加/删除操作
厦门大学数据库实验室 刘颖杰 2014年11月15日 实习总结报告 厦门大学数据库实验室 刘颖杰 2014年11月15日.
SQL的简单查询.
第5章 关系数据库标准语言SQL 主讲:张丽芳.
第2章 SQL语言初步 2.1 SQL的基本概念 2.2 基本表、索引的创建、删除和修改操作 2.3 SQL的查询语句——SELECT
MySQL数据库服务介绍 2013 年 6 月.
双十一数据库核心技术 淘宝网 李圣陶(刘昆).
第2讲 Transact-SQL语言.
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
数据库技术 实践.
第8章 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
第4章 关系数据库标准语言SQL 4.1 SQL语言概述 4.2 SQL数据查询功能 4.3 SQL数据操作功能 4.4 SQL数据定义功能.
第二章 项目一:企业厂区与车间平面设计 1.
第3章 SQL的基础知识 数据库管理及应用 3.1 SQL简介 3.2 SQL的数据模型 3.3 标识符 3.4 使用SQL语句管理数据库
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
数据库原理及设计 --作业.
MHA(Master High Availability) 作者
淘宝 商品库MySQL优化实践 QCon 2011 Beijing
第 八 章 資料庫安全 本投影片(下稱教用資源)僅授權給採用教用資源相關之旗標書籍為教科書之授課老師(下稱老師)專用,老師為教學使用之目的,得摘錄、編輯、重製教用資源(但使用量不得超過各該教用資源內容之80%)以製作為輔助教學之教學投影片,並於授課時搭配旗標書籍公開播放,但不得為網際網路公開傳輸之遠距教學、網路教學等之使用;除此之外,老師不得再授權予任何第三人使用,並不得將依此授權所製作之教學投影片之相關著作物移作他用。
创建数据库 MySql创建数据库的语法: CREATE DATABASE 数据库名; 例: CREATE DATABASE mydb;
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
MySQL主从同步
计算机应用基础 上海大学计算中心.
資料庫管理 資管二 賴柏融.
数据库原理 Database Principles 第五章 数据库完整性 Database Principles.
J2EE与中间件技术 ——Lab.
第六章 學習SQL語言.
第 8 章 資料的 新增、修改與刪除.
課程名稱:資料庫系統 授課老師:李春雄 博士
MariaDB Spider分库分表引擎调研
PHP與MySQL 入門學習指南 凱文瑞克 著 第 23 章 資料型別.
实验二 交互式SQL 邓云.
Chap 10 SQL定義、操作與控制指令.
資料庫安全 (Database Security)
題庫解析:MTA資料庫檢定 授課老師:李春雄 博士
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
实验 2:MS Access QBE Query使用
MySQL数据库基础与实例教程 之 MySQL表结构的管理 郭水泉.
浅谈MySql索引及锁的应用 厦门大学数据库实验室 刘颖杰 2014年3月8日.
第三章作业讲评 文洁 2012/4/10.
SQL SERVER 一些经典语句 1.
作业3-点评.
An Introduction to Cloud RDBMS
Ch4.SQL Server 2005資料庫組成員元件介紹
第 10 章 数据库编程.
第20章 MySQL数据库.
数据库技术与应用.
MySQL开发规范 DB组-张浩.
第11章 ListView延迟加载效果 授课老师:高成珍 QQ号: QQ群: 、
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
学习目标 1、什么是表连接 2、表连接类型 3、表连接区别.
SQL查询语句 蔡海洋.
用int类型(4字节)去存具体时间(8字节).
OceanBase 0.4:从API到SQL 日照
第三章 SQL Server数据管理.
第六類 資料庫備份與回復.
讲课人:王璞 浙江工商职业技术学院.
第四組 停車場搜尋系統 第四組 溫允中 陳欣暉 蕭積遠 李雅俐.
本节内容 结构体 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
教育部特殊教育通報網 學生異動、接收操作說明.
第四組 停車場搜尋系統 第四組 溫允中 陳欣暉 蕭積遠 李雅俐.
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
MySQL执行计划解读 胡中泉.
資料庫應用與實作 一到六章重點、習題.
第4章 数据查询.
银川社保网上申报 宁夏人力资源和社会保障 网上服务大厅操作
Presentation transcript:

MySQL与IO @淘宝丁奇

MySQL的文件及简介 数据访问流程 文件访问模式 影响io行为的一些参数和选择策略

MySQL的文件及简介 类型名称 文件名 数据文件(datafile) *.frm *.ibd 数据字典 Ibdata1、ibdata2 事务日志(redolog) Ib_logfile0、ib_logfile1 回滚日志(undolog) Ibdata 归档日志(binlog) mysql-bin.000001~mysql-bin.xxxx 中继日志(relaylog) mysqld-relay-bin.xxxxxx 其他日志 slowlolg, errorlog,querylog

数据访问流程 一个简单的查询 select * from t where id>=( select id from t where k1=100 limit 100000,1) limit 2; 表结构 CREATE TABLE `t` ( `id` int(11) NOT NULL, `k1` int(11) DEFAULT NULL, `data` char(100) DEFAULT NULL, PRIMARY KEY (`id`), KEY `k1` (`k1`) ) ENGINE=InnoDB DEFAULT CHARSET=gbk;

数据访问流程

数据访问流程 一个简单的更新 insert into t values(1, 100, ‘abcd’); 神马是insert buffer?跟io有关吗

文件访问模式 1) *.frm 表定义文件。访问特点:极少改动、整体访问--什么模式最适合? 2) *ibd 表数据文件。访问特点:大量随机读写--什么模式最适合? 内部什么样? 在传统SAS盘时代,怎么最大化利用磁盘性能? 换了SSD/FUSIONIO 以后呢? 对应的策略带来的数据安全问题----

文件访问模式 3) ib_logfile* Redolog。 访问方式:顺序读写。 512字节对齐写可以联想到什么? 4)MySQL-bin Binlog。 访问方式:顺序读写。 为什么策略与redolog不同? 5)ibdata 数据字典和回滚日志。访问方式:随机读写/顺序写。策略与数据文件类似。

innodb_file_per_table innodb_flush_log_at_trx_commit sync_binlog 影响io行为的一些参数和参数对io的影响 以下参数的描述流程: 1、什么意思 2、影响哪些流程 3、对IO的影响和选择策略 innodb_file_per_table innodb_flush_log_at_trx_commit sync_binlog innodb_flush_method binlog_cache_size innodb_buffer_pool_size innodb_max_dirty_pages_pct innodb_read_io_threads/innodb_write_io_threads 。。。。。。

影响io行为的一些参数和参数对io的影响 innodb_file_per_table 1、控制是否每个表数据一个文件 2、推荐配置1的原因? innodb_flush_log_at_trx_commit 1、控制redo log的写盘、刷盘策略 2、安全递增是0  2  1 3、不同配置的风险和代价 sync_binlog 1、控制binlog刷盘策略 2、安全递增是0 N  1 3、不同配置的风险和代价 4、与上个配置的差别,为什么没有控制写盘策略? 5、 Binlog_cache_use 和 Binlog_cache_disk_use

影响io行为的一些参数和参数对io的影响 innodb_flush_method 1、控制data或log的刷盘策略 2、可选值 FSYNC O_DSYNC O_DIRECT LITTLESYNC NOSYNC 3、一般设置O_DIRECT ,也不够理想 ALL_O_DIRECT binlog_cache_size 1、还没有提交的事务放cache 2、大事务? 3、Binlog_cache_use /Binlog_cache_disk_use

影响io行为的一些参数和参数对io的影响 innodb_buffer_pool_size 1、InnoDB中最重要的那块内存 2、越大越好,可用内存的80% 3、Insert Buffer最多占一半 innodb_max_dirty_pages_pct 1、最大脏页比例 2、什么是脏页 3、脏页更新策略及对性能的影响

影响io行为的一些参数和参数对io的影响 innodb_read_io_threads/innodb_write_io_threads 1、异步IO线程数 2、不用太大 4/4就够 3、第一次性能测试,请在DBA指导下使用InnoDB_plugin 并作标准配置

性能抖动? 作压测时你会碰到的问题和解决思路 查询也写盘,原因和方法 压测insert的时候那瞬间的抖动,原因和方法

文件分离 当设备多起来,我们就有更多的选择 文件放哪—一个主要思路 Ibdata上面的主要更新,矛盾?

问题反馈:MySQL聚合函数执行流程 MySQL执行流程上,先经过优化器确定执行路径 1、order by 2、group by 3、distinct

谢谢