0 0 0

高性能MySQL(第3版).epub

忘掉那些悲伤的回忆
1月前 320
我用夸克网盘分享了「高性能MySQL(第3版).epub」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
高性能MySQL 作者: 施瓦茨 (Baron Schwartz)/扎伊采夫 (Peter Zaitsev)/特卡琴科 (Vadim Tkachenko) 出版社: 电子工业出版社 副标题: 第3版 原作名: High Performance MySQL,3rd 译者: 宁海元/周振兴/彭立勋/翟卫祥,刘辉 出版年: 2013-5-1 页数: 764 定价: 128.00元 装帧: 平装 丛书: O'Reilly动物系列(中译本) ISBN: 9787121198854

内容简介

关于作者 Baron Schwartz 是一位软件工程师,居住在弗吉尼亚州的Charlottesville,网络常用名是Xaprb,这是按照QWERTY 键盘的顺序在Dvorak 键盘上打出来的名字。在不忙于解决有趣的编程挑战时,Baron 会和他的妻子Lynn 以及小狗Carbon 一起享受闲暇的时光。他有一个软件工程方面的博客,地址是http://www.xaprb.com/blog/ Peter Zaitsev 曾经是MySQL AB 公司高性能组的经理,目前在运作mysqlperformance blog.com 网站。他擅长于帮助那些每天有数以百万计访问量的网站的管理员解决问题,这些网站通常需要几百台机器来处理TB 级的数据。他常常为了解决一个问题而不停地升级硬件和软件(比如查询优化)。Peter 还经常在各种会议上演讲。 Vadim Tkachenko 曾经是MySQL AB 公司的性能工程师。作为一名在多线程编程和同步方面的专家,他的主要工作是基准测试、性能剖析,以及找出系统的性能瓶颈。他还在性能监控和调优方面做了一些工作,使得MySQL 在多核机器上有更好的可扩展性。 ================================================================ 译者简介 宁海元 有超过十年的数据库管理经验,从最初到SQL Server 2000到Oracle到MySQL,擅长数据库高可用架构,性能优化和故障诊断。2007年加入淘宝,带领淘宝DBA团队支撑了淘宝业务的快速增长,完成了数据库的垂直拆分、水平拆分,迁移到MySQL体系等主要工作。目前专注于无线数据领域。网络常用名NinGoo,个人博客:http://www.ningoo.net 周振兴 毕业于北京师范大学数学系,09年加入淘宝数据库团队负责MySQL运维管理工作,有丰富的MySQL性能优化、Troubleshooting经验,对MySQL主要模块的实现和原理有深入的研究,经历淘宝MySQL实例从30到3000的发展,对系统架构、高可用环境规划都有深入理解。个人博客:http://orczhou.com 彭立勋 2010年大学毕业后加入阿里巴巴运维部。作为一名MySQL DBA,在运维MySQL的过程中,对MySQL和InnoDB的一些功能和缺陷就进行了补充,编写了多主复制和数据闪回等补丁。目前在阿里集团核心系统研发部数据库组,专注于MySQL数据库相关的开发工作。后来一些补丁被MySQL之父Mony看中,成为MariaDB提交组(Maria-captains)成员,并且把多主复制,线程内存监控等补丁合并到了MariaDB 10.0版本。 翟卫祥 毕业于武汉大学,研究生阶段从事数据库相关研究。毕业后就职于阿里巴巴集团数据库技术团队至今,主要负责阿里内部MySQL代码分支维护,包括MySQL Bug Fix及新特性开发。对MySQL内核有一定的研究。 刘辉 2008年毕业于西安电子科技大学计算机系,硕士学位。2011年加入阿里巴巴集团数据库技术团队,花名希羽,MySQL内核开发工程师。

作者简介

关于作者 Baron Schwartz 是一位软件工程师,居住在弗吉尼亚州的Charlottesville,网络常用名是Xaprb,这是按照QWERTY 键盘的顺序在Dvorak 键盘上打出来的名字。在不忙于解决有趣的编程挑战时,Baron 会和他的妻子Lynn 以及小狗Carbon 一起享受闲暇的时光。他有一个软件工程方面的博客,地址是http://www.xaprb.com/blog/ Peter Zaitsev 曾经是MySQL AB 公司高性能组的经理,目前在运作mysqlperformance blog.com 网站。他擅长于帮助那些每天有数以百万计访问量的网站的管理员解决问题,这些网站通常需要几百台机器来处理TB 级的数据。他常常为了解决一个问题而不停地升级硬件和软件(比如查询优化)。Peter 还经常在各种会议上演讲。 Vadim Tkachenko 曾经是MySQL AB 公司的性能工程师。作为一名在多线程编程和同步方面的专家,他的主要工作是基准测试、性能剖析,以及找出系统的性能瓶颈。他还在性能监控和调优方面做了一些工作,使得MySQL 在多核机器上有更好的可扩展性。 ================================================================ 译者简介 宁海元 有超过十年的数据库管理经验,从最初到SQL Server 2000到Oracle到MySQL,擅长数据库高可用架构,性能优化和故障诊断。2007年加入淘宝,带领淘宝DBA团队支撑了淘宝业务的快速增长,完成了数据库的垂直拆分、水平拆分,迁移到MySQL体系等主要工作。目前专注于无线数据领域。网络常用名NinGoo,个人博客:http://www.ningoo.net 周振兴 毕业于北京师范大学数学系,09年加入淘宝数据库团队负责MySQL运维管理工作,有丰富的MySQL性能优化、Troubleshooting经验,对MySQL主要模块的实现和原理有深入的研究,经历淘宝MySQL实例从30到3000的发展,对系统架构、高可用环境规划都有深入理解。个人博客:http://orczhou.com 彭立勋 2010年大学毕业后加入阿里巴巴运维部。作为一名MySQL DBA,在运维MySQL的过程中,对MySQL和InnoDB的一些功能和缺陷就进行了补充,编写了多主复制和数据闪回等补丁。目前在阿里集团核心系统研发部数据库组,专注于MySQL数据库相关的开发工作。后来一些补丁被MySQL之父Mony看中,成为MariaDB提交组(Maria-captains)成员,并且把多主复制,线程内存监控等补丁合并到了MariaDB 10.0版本。 翟卫祥 毕业于武汉大学,研究生阶段从事数据库相关研究。毕业后就职于阿里巴巴集团数据库技术团队至今,主要负责阿里内部MySQL代码分支维护,包括MySQL Bug Fix及新特性开发。对MySQL内核有一定的研究。 刘辉 2008年毕业于西安电子科技大学计算机系,硕士学位。2011年加入阿里巴巴集团数据库技术团队,花名希羽,MySQL内核开发工程师。

网友热评

Ressmix: 味同嚼蜡,估计是翻译问题,让我始终get不到每一节的重点,需要以后遇到问题了回头来翻翻 杨嘉捷: MySQL数据库极力推荐的一本书,讲的太好了,所有的知识点都有涵盖,而且是深入的讲解,值得反复的去看去学习。 轻装前行: 关键就是3-6和9-11章,表结构设计,索引,分库分表,EXPLAIN+执行计划。挺全的,不过很多东西都是假设你有清晰的概念,还是配合搜索看最合适

图书目录

推荐序xxiii 前言xxv 第1章mysql架构与历史1 1.1mysql逻辑架构1 1.1.1连接管理与安全性2 1.1.2优化与执行3 1.2并发控制3 1.2.1读写锁4 1.2.2锁粒度4 1.3事务6 1.3.1隔离级别8 1.3.2死锁9 1.3.3事务日志10 1.3.4mysql中的事务10 1.4多版本并发控制12 1.5mysql的存储引擎13 1.5.1innodb存储引擎16 1.5.2myisam存储引擎17 1.5.3mysql内建的其他存储引擎19 .1.5.4第三方存储引擎22 1.5.5选择合适的引擎24 1.5.6转换表的引擎27 1.6mysql时间线(timeline)29 1.7mysql的开发模式32 1.8总结33 第2章mysql基准测试35 2.1为什么需要基准测试35 2.2基准测试的策略37 2.2.1测试何种指标38 2.3基准测试方法40 2.3.1设计和规划基准测试41 2.3.2基准测试应该运行多长时间42 2.3.3获取系统性能和状态43 2.3.4获得准确的测试结果44 2.3.5运行基准测试并分析结果46 2.3.6绘图的重要性47 2.4基准测试工具49 2.4.1集成式测试工具49 2.4.2单组件式测试工具50 2.5基准测试案例52 2.5.1http_load53 2.5.2mysql基准测试套件54 2.5.3sysbench55 2.5.4数据库测试套件中的dbt2tpc-c测试60 2.5.5percona的tpcc-mysql测试工具63 2.6总结65 第3章服务器性能剖析67 3.1性能优化简介67 3.1.1通过性能剖析进行优化69 3.1.2理解性能剖析71 3.2对应用程序进行性能剖析72 3.2.1测量php应用程序74 3.3剖析mysql查询77 3.3.1剖析服务器负载77 3.3.2剖析单条查询81 3.3.3使用性能剖析87 3.4诊断间歇性问题88 3.4.1单条查询问题还是服务器问题89 3.4.2捕获诊断数据93 3.4.3一个诊断案例98 3.5其他剖析工具106 3.5.1使用user_statistics表106 3.5.2使用strace107 3.6总结108 第4章schema与数据类型优化111 4.1选择优化的数据类型111 4.1.1整数类型113 4.1.2实数类型113 4.1.3字符串类型114 4.1.4日期和时间类型121 4.1.5位数据类型123 4.1.6选择标识符(identifier)125 4.1.7特殊类型数据127 4.2mysqlschema设计中的陷阱127 4.3范式和反范式129 4.3.1范式的优点和缺点130 4.3.2反范式的优点和缺点130 4.3.3混用范式化和反范式化131 4.4缓存表和汇总表132 4.4.1物化视图134 4.4.2计数器表135 4.5加快altertable操作的速度136 4.5.1只修改.frm文件137 4.5.2快速创建myisam索引139 4.6总结140 第5章创建高性能的索引141 5.1索引基础141 5.1.1索引的类型142 5.2索引的优点152 5.3高性能的索引策略153 5.3.1独立的列153 5.3.2前缀索引和索引选择性153 5.3.3多列索引157 5.3.4选择合适的索引列顺序159 5.3.5聚簇索引162 5.3.6覆盖索引171 5.3.7使用索引扫描来做排序175 5.3.8压缩(前缀压缩)索引177 5.3.9冗余和重复索引178 5.3.10未使用的索引181 5.3.11索引和锁181 5.4索引案例学习183 5.4.1支持多种过滤条件183 5.4.2避免多个范围条件185 5.4.3优化排序186 5.5维护索引和表187 5.5.1找到并修复损坏的表187 5.5.2更新索引统计信息188 5.5.3减少索引和数据的碎片190 5.6总结192 第6章查询性能优化195 6.1为什么查询速度会慢195 6.2慢查询基础:优化数据访问196 6.2.1是否向数据库请求了不需要的数据196 6.2.2mysql是否在扫描额外的记录198 6.3重构查询的方式201 6.3.1一个复杂查询还是多个简单查询201 6.3.2切分查询202 6.3.3分解关联查询203 6.4查询执行的基础204 6.4.1mysql客户端/服务器通信协议205 6.4.2查询缓存208 6.4.3查询优化处理208 6.4.4查询执行引擎222 6.4.5返回结果给客户端223 6.5mysql查询优化器的局限性223 6.5.1关联子查询223 6.5.2union的限制228 6.5.3索引合并优化228 6.5.4等值传递229 6.5.5并行执行229 6.5.6哈希关联229 6.5.7松散索引扫描229 6.5.8最大值和最小值优化231 6.5.9在同一个表上查询和更新232 6.6查询优化器的提示(hint)232 6.7优化特定类型的查询236 6.7.1优化count()查询236 6.7.2优化关联查询239 6.7.3优化子查询239 6.7.4优化groupby和distinct239 6.7.5优化limit分页241 6.7.6优化sql_calc_found_rows243 6.7.7优化union查询243 6.7.8静态查询分析244 6.7.9使用用户自定义变量244 6.8案例学习251 6.8.1使用mysql构建一个队列表251 6.8.2计算两点之间的距离254 6.8.3使用用户自定义函数257 6.9总结258 第7章mysql高级特性259 7.1分区表259 7.1.1分区表的原理260 7.1.2分区表的类型261 7.1.3如何使用分区表262 7.1.4什么情况下会出问题263 7.1.5查询优化266 7.1.6合并表267 7.2视图270 7.2.1可更新视图272 7.2.2视图对性能的影响273 7.2.3视图的限制274 7.3外键约束275 7.4在mysql内部存储代码276 7.4.1存储过程和函数278 7.4.2触发器279 7.4.3事件281 7.4.4在存储程序中保留注释283 7.5游标283 7.6绑定变量284 7.6.1绑定变量的优化286 7.6.2sql接口的绑定变量286 7.6.3绑定变量的限制288 7.7用户自定义函数289 7.8插件290 7.9字符集和校对291 7.9.1mysql如何使用字符集292 7.9.2选择字符集和校对规则295 7.9.3字符集和校对规则如何影响查询296 7.10全文索引299 7.10.1自然语言的全文索引300 7.10.2布尔全文索引302 7.10.3mysql5.1中全文索引的变化303 7.10.4全文索引的限制和替代方案304 7.10.5全文索引的配置和优化306 7.11分布式(xa)事务307 7.11.1内部xa事务307 7.11.2外部xa事务308 7.12查询缓存309 7.12.1mysql如何判断缓存命中309 7.12.2查询缓存如何使用内存311 7.12.3什么情况下查询缓存能发挥作用313 7.12.4如何配置和维护查询缓存316 7.12.5innodb和查询缓存319 7.12.6通用查询缓存优化320 7.12.7查询缓存的替代方案321 7.13总结321 第8章优化服务器设置325 8.1mysql配置的工作原理326 8.1.1语法、作用域和动态性327 8.1.2设置变量的副作用328 8.1.3入门331 8.1.4通过基准测试迭代优化332 8.2什么不该做333 8.3创建mysql配置文件335 8.3.1检查mysql服务器状态变量339 8.4配置内存使用340 8.4.1mysql可以使用多少内存?340 8.4.2每个连接需要的内存341 8.4.3为操作系统保留内存341 8.4.4为缓存分配内存342 8.4.5innodb缓冲池(bufferpool)342 8.4.6myisam键缓存(keycaches)344 8.4.7线程缓存346 8.4.8表缓存(tablecache)347 8.4.9innodb数据字典(datadictionary)348 8.5配置mysql的i/o行为349 8.5.1innodbi/o配置349 8.5.2myisam的i/o配置361 8.6配置mysql并发363 8.6.1innodb并发配置364 8.6.2myisam并发配置365 8.7基于工作负载的配置366 8.7.1优化blob和text的场景367 8.7.2优化排序(filesorts)368 8.8完成基本配置369 8.9安全和稳定的设置371 8.10高级innodb设置374 8.11总结376 第9章操作系统和硬件优化377 9.1什么限制了mysql的性能377 9.2如何为mysql选择cpu378 9.2.1哪个更好:更快的cpu还是更多的cpu378 9.2.2cpu架构380 9.2.3扩展到多个cpu和核心381 9.3平衡内存和磁盘资源382 9.3.1随机i/o和顺序i/o383 9.3.2缓存,读和写384 9.3.3工作集是什么385 9.3.4找到有效的内存/磁盘比例386 9.3.5选择硬盘387 9.4固态存储389 9.4.1闪存概述390 9.4.2闪存技术391 9.4.3闪存的基准测试392 9.4.4固态硬盘驱动器(ssd)393 9.4.5pcie存储设备395 9.4.6其他类型的固态存储396 9.4.7什么时候应该使用闪存396 9.4.8使用flashcache397 9.4.9优化固态存储上的mysql399 9.5为备库选择硬件402 9.6raid性能优化403 9.6.1raid的故障转移、恢复和镜像405 9.6.2平衡硬件raid和软件raid406 9.6.3raid配置和缓存407 9.7san和nas410 9.7.1san基准测试411 9.7.2使用基于nfs或smb的san412 9.7.3mysql在san上的性能412 9.7.4应该用san吗413 9.8使用多磁盘卷414 9.9网络配置416 9.10选择操作系统418 9.11选择文件系统419 9.12选择磁盘队列调度策略421 9.13线程422 9.14内存交换区422 9.15操作系统状态424 9.15.1如何阅读vmstat的输出425 9.15.2如何阅读iostat的输出426 9.15.3其他有用的工具428 9.15.4cpu密集型的机器428 9.15.5i/o密集型的机器429 9.15.6发生内存交换的机器430 9.15.7空闲的机器430 9.16总结431 第10章复制433 10.1复制概述433 10.1.1复制解决的问题434 10.1.2复制如何工作435 10.2配置复制436 10.2.1创建复制账号437 10.2.2配置主库和备库437 10.2.3启动复制439 10.2.4从另一个服务器开始复制441 10.2.5推荐的复制配置443 10.3复制的原理445 10.3.1基于语句的复制445 10.3.2基于行的复制446 10.3.3基于行或基于语句:哪种更优446 10.3.4复制文件448 10.3.5发送复制事件到其他备库449 10.3.6复制过滤器450 10.4复制拓扑452 10.4.1一主库多备库452 10.4.2主动-主动模式下的主-主复制453 10.4.3主动-被动模式下的主-主复制455 10.4.4拥有备库的主-主结构456 10.4.5环形复制457 10.4.6主库、分发主库以及备库458 10.4.7树或金字塔形460 10.4.8定制的复制方案460 10.5复制和容量规划465 10.5.1为什么复制无法扩展写操作466 10.5.2备库什么时候开始延迟466 10.5.3规划冗余容量467 10.6复制管理和维护468 10.6.1监控复制468 10.6.2测量备库延迟469 10.6.3确定主备是否一致469 10.6.4从主库重新同步备库470 10.6.5改变主库471 10.6.6在一个主-主配置中交换角色476 10.7复制的问题和解决方案477 10.7.1数据损坏或丢失的错误477 10.7.2使用非事务型表480 10.7.3混合事务型和非事务型表480 10.7.4不确定语句481 10.7.5主库和备库使用不同的存储引擎481 10.7.6备库发生数据改变481 10.7.7不唯一的服务器id482 10.7.8未定义的服务器id482 10.7.9对未复制数据的依赖性482 10.7.10丢失的临时表483 10.7.11不复制所有的更新484 10.7.12innodb加锁读引起的锁争用484 10.7.13在主-主复制结构中写入两台主库486 10.7.14过大的复制延迟488 10.7.15来自主库的过大的包491 10.7.16受限制的复制带宽491 10.7.17磁盘空间不足492 10.7.18复制的局限性492 10.8复制有多快492 10.9mysql复制的高级特性494 10.10其他复制技术496 10.11总结498 第11章可扩展的mysql501 11.1什么是可扩展性501 11.1.1正式的可扩展性定义503 11.2扩展mysql507 11.2.1规划可扩展性507 11.2.2为扩展赢得时间508 11.2.3向上扩展509 11.2.4向外扩展510 11.2.5通过多实例扩展525 11.2.6通过集群扩展526 11.2.7向内扩展530 11.3负载均衡532 11.3.1直接连接534 11.3.2引入中间件537 11.3.3一主多备间的负载均衡540 11.4总结541 第12章高可用性543 12.1什么是高可用性543 12.2导致宕机的原因544 12.3如何实现高可用性545 12.3.1提升平均失效时间(mtbf)545 12.3.2降低平均恢复时间(mttr)547 12.4避免单点失效548 12.4.1共享存储或磁盘复制549 12.4.2mysql同步复制551 12.4.3基于复制的冗余555 12.5故障转移和故障恢复556 12.5.1提升备库或切换角色558 12.5.2虚拟ip地址或ip接管558 12.5.3中间件解决方案559 12.5.4在应用中处理故障转移560 12.6总结560 第13章云端的mysql563 13.1云的优点、缺点和相关误解564 13.2mysql在云端的经济价值566 13.3云中的mysql的可扩展性和高可用性567 13.4四种基础资源568 13.5mysql在云主机上的性能569 13.5.1在云端的mysql基准测试571 13.6mysql数据库即服务(dbaas)573 13.6.1amazonrds573 13.6.2其他dbaas解决方案574 13.7总结575 第14章应用层优化577 14.1常见问题577 14.2web服务器问题579 14.2.1寻找最优并发度581 14.3缓存582 14.3.1应用层以下的缓存583 14.3.2应用层缓存584 14.3.3缓存控制策略586 14.3.4缓存对象分层587 14.3.5预生成内容588 14.3.6作为基础组件的缓存589 14.3.7使用handlersocket和memcached589 14.4拓展mysql590 14.5mysql的替代品590 14.6总结591 第15章备份与恢复593 15.1为什么要备份594 15.2定义恢复需求595 15.3设计mysql备份方案596 15.3.1在线备份还是离线备份597 15.3.2逻辑备份还是物理备份598 15.3.3备份什么601 15.3.4存储引擎和一致性603 15.4管理和备份二进制日志605 15.4.1二进制日志格式606 15.4.2安全地清除老的二进制日志607 15.5备份数据607 15.5.1生成逻辑备份607 15.5.2文件系统快照610 15.6从备份中恢复617 15.6.1恢复物理备份618 15.6.2还原逻辑备份619 15.6.3基于时间点的恢复622 15.6.4更高级的恢复技术624 15.6.5innodb崩溃恢复625 15.7备份和恢复工具628 15.7.1mysqlenterprisebackup628 15.7.2perconaxtrabackup628 15.7.3mylvmbackup629 15.7.4zmandarecoverymanager629 15.7.5mydumper629 15.7.6mysqldump629 15.8备份脚本化631 15.9总结633 第16章mysql用户工具635 16.1接口工具635 16.2命令行工具集636 16.3sql实用集637 16.4监测工具637 16.4.1开源的监控工具638 16.4.2商业监控系统640 16.4.3innotop的命令行监控642 16.5总结646 附录amysql分支与变种649 附录bmysql服务器状态655 附录c大文件传输683 附录dexplain687 附录e锁的调试703 附录f在mysql上使用sphinx713 索引739

高性能MySQL(第3版).epub"网盘下载"

版权说明

1、本站不保存、不存储任何实质资源,以上二维码指向为网盘资源链接,其内容归对应版权方所有
2、如有侵犯版权的情况,请点击下面举报/反馈按钮反馈或发送邮件[email protected]投诉说明情况
3、我们核实后将第一时间删除相关页面内容,谢谢理解和配合

这些人下载过 (12)
  • 闹脾气有脸俩
  • 与往
  • 我却深情
  • 初恋迈进老树
  • 风语者
  • 花不解语
  • 离散的风
  • 疯疯疯疯疯疯疯癫
  • 没能再见
  • 睡眠障碍
  • 清嫩少女音
  • 是镜子总会反光
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!