高性能MySQL(第4版) ( etc.) (Z-Library)

Author: Jeremy Tinley(杰里米·廷利) (美)Silvia Botros(西尔维亚·博特罗斯)

其他

No Description

📄 File Format: PDF
💾 File Size: 5.7 MB
60
Views
0
Downloads
0.00
Total Donations

📄 Text Preview (First 20 pages)

ℹ️

Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

📄 Page 1
(This page has no text content)
📄 Page 2
版权信息 C O P Y R I G H T 书名:高性能MySQL:第4版 作者:(美)西尔维亚·博特罗斯(Silvia Botros),(美)杰里米·廷利 (Jeremy Tinley) 译者:宁海元,周振兴,张新铭 出版社:电子工业出版社 出版时间:2022年10月 ISBN:9787121442575 字数:471千字 版权方:电子工业出版社有限公司 版权所有·侵权必究
📄 Page 3
内容简介 《高性能MySQL》一直是MySQL领域的经典之作,影响了一代又一 代的DBA和技术人员,从第3版出版到第4版出版过去了近十年,MySQL 也从5.5版本更新到了8.0版本。第4版中增加了大量对MySQL 5.7和8.0 版本新特性的介绍,删除了一些在新版本中已经废弃或者不再常用的 功能,还增加了对云数据库的介绍,减少了在官方文档中已有的基础 使用和配置相关的内容。这些年,MySQL经过在大量大规模互联网场景 中的应用验证,使得本书在继续关注高性能之外,还用了较多的篇幅 来介绍如何实现MySQL的大规模可扩展应用和合规性问题,这是相比第 3版最大的不同,也是本书封面上所写的“经过大规模运维验证的策 略”的体现。 本书适合数据库管理员(DBA)阅读,也适合系统运维和开发人员 参考学习。不管你是数据库新手还是专家,相信都能从本书中有所收 获。
📄 Page 4
O'Reilly Media, Inc.介绍 O'Reilly以“分享创新知识、改变世界”为己任。40多年来我们一直 向企业、个人提供成功所必需之技能及思想,激励他们创新并做得更 好。 O'Reilly业务的核心是独特的专家及创新者网络,众多专家及创新者 通过我们分享知识。我们的在线学习(Online Learning)平台提供独 家的直播培训、互动学习、认证体验、图书、视频等等,使客户更容 易获取业务成功所需的专业知识。几十年来O'Reilly图书-直被视为学 习开创未来之技术的权威资料。我们所做的一切是为了帮助各领域的 专业人士学习最佳实践,发现并塑造科技行业未来的新趋势。 我们的客户渴望做出推动世界前进的创新之举,我们希望能助他们一 臂之力。 业界评论 “O'Reilly Radar博客有口皆碑。” —Wired “O'Reilly凭借一系列非凡想法(真希望当初我也想到了)建立了数 百万美元的业务。” —Business 2.0 “O'Reilly Conference是聚集关键思想领袖的绝对典范。” CRN “一本O'Reilly的书就代表一个有用、有前途、需要学习的主题。” —Irish Times “Tim是位特.立独行的商人,他不光放眼于最长远、最广阔的领域, 并且切实地按.照Yogi Berra的建议去做了:‘如果你在路上遇到岔路 口,那就走小路。’回顾过去,Tim似乎每一次都选择了小路,而且有 几次都是一闪即逝的机会,尽管大路也不错。” —Linux Journal
📄 Page 5
本书赢得的赞誉 我喜欢这个新版本,它将重点转向了现代、务实的通过团队成员传递 商业价值的思维模式。它改变了前几版只关注复杂的内部结构和理论 从而导致收益缩减的短视,转向了更全面的视角。本书仍然覆盖关于 “数据库如何工作”的知识,但现在是以一个全新的、人性化的观点 呈现的,这是非常有必要的。 —Baron Schwartz,《高性能MySQL》第2版和第3版的主要作者 自17年前第1版面世以来,《高性能MySQL》一直是MySQL世界的重要组 成部分。MySQL一直在向前发展,Silvia和Jeremy做了一项伟大的工 作,使这本书的内容与现代MySQL保持同步。 —Jeremy Cole 本书第4版更新了现代实践经验,为MySQL管理员和开发者提供了丰 富、可靠的建议。 —Shlomi Noach,PlanetScale数据库工程师 《高性能MySQL》(第4版)有了新的关注点,它不再只是深挖MySQL的 每一点性能,我们现在拥有一个由工具和供应商组成的大型生态系 统。Silvia和Jeremy完美地详述了MySQL如何适应新的局面。不管你用 什么方式使用MySQL,这本书都是必备的。 —Sugu Sougoumarane,Vitess联合创始人,PlanetScale CTO Silvia和Jeremy做了一项了不起的工作,他们既保留了本书的核心内 容,又对其进行了更新,以覆盖快速变化的MySQL世界。 —Peter Zaitsev,Percona创始人兼CEO,《高性能MySQL》(第3 版)作者之一 《高性能MySQL》从第2版引入国内以来一直是业界经典。宁海元翻译 的第3版让大部分MySQL从业人员受益匪浅,十年后的今天我们又迎来 了《高性能MySQL》的第4版。十年来,中国的MySQL发展从部分互联网 场景发展到全领域场景,本书也新增了大量云化、规模化、可扩展等 特性的内容,通俗易懂又专业深入,是时候更新一下你的书架了。
📄 Page 6
陈栋,沃趣科技创始人&CEO 岁月洗练,历久弥新。高性能是一个永恒的话题和不懈的追求。在 MySQL领域,本书无疑是最佳的表率之一。从互联网到企业级应用,从 独立部署到虚拟化和云计算,十年之间,天翻地覆,然而MySQL的魅力 有增无减。数据库性能涉及很多复杂的技术领域,而本书娓娓道来深 入浅出的风格让人着迷,使得系统性的理解水到渠成。当我读到 Performance Schema常因性能影响而被建议关闭的主题时,仿佛看到 与当年Oracle同样的演进历程,MySQL逐渐丰富的可观测性,已经使其 性能诊断能力接近了商业数据库的水准,臻至大成。 盖国强,云和恩墨创始人,鲲鹏MVP 《高性能MySQL》已经是MySQL DBA的案前必备图书了,这本书不仅教 会了大家很多MySQL的最佳实践,同时还从内核实现层面深入地解释原 理,做到了知其然更知其所以然。所以这不仅是一本很好的MySQL工具 书,同时也是有志于从事数据库内核研发的朋友很好的参考资料。 黄东旭,PingCAP联合创始人兼CTO 无论是在中国还是全世界,MySQL都是当下最流行、使用最广泛的开源 关系数据库。《高性能MySQL》是MySQL社区非常有影响力的一本书, 第4版使得这本书与近十年MySQL的发展和实践保持了高度同步。 阳振坤,OceanBase数据库创始人 从2009年开始,在过去的十几年里,《高性能MySQL》一直陪伴着我。 它也是我向MySQL爱好者推荐最多的一本书,甚至超过了我自己写的 《MySQL运维内参》。它可以帮助MySQL相关人员把自己的数据库管理 和运维能力快速提升到相对较高的水平并解决工作中碰到的实际问 题,是一本不可多得的经典之作。 近几年来,MySQL的发展很快,在内核层的变化也很大,同时伴随着云 原生的发展,MySQL也是云上数据库的主流产品。本书第4版恰逢其时 地增加了相应的内容,在技术深度和知识广度上做到了很好的平衡。 非常感谢原作者和译者所做的努力,期待更多的人通过本书获得更多 的MySQL知识。通过从本书中学到的知识,在工作中解决实际问题,这 是对为本书付出劳动的人的最好回馈。
📄 Page 7
周彦伟,极数云舟创始人,Oracle MySQL ACE Director,中国计 算机行业协会数据库专委会会长
📄 Page 8
推荐序 随着互联网行业以及云计算产业的高速发展,MySQL成为世界范围内以 及中国数据库领域最流行的开源数据库。在几乎所有大型互联网业务 场景中,MySQL都是业务架构的核心组件之一。广泛的应用也推动了 MySQL在过去十年的高速发展,MySQL社区相继推出了5.6、5.7、8.0版 本,从性能、可扩展性、安全性、稳定性、可维护性、易用性等维度 都有了非常大的发展。《高性能MySQL》(第3版)是2012年出版的, 最新版本的《高性能MySQL》(第4版)在上一版内容的基础上延续了 之前的经典内容,包括架构设计、优化、高可用等内容,同时新增了 云数据库、扩展性等过去十年发展的相关内容,另外还增加了MySQL过 去十年里的新版本(包括5.7、8.0版本)的新特性。 MySQL是当下最流行的开源数据库之一,本书从实践的角度涵盖了数据 库系统的架构设计、锁、性能管理、高可用等内容,除了可作为MySQL 的参考书之外,也可以作为数据库系统原理和设计的一个实现参考。 云数据库已流行多年,本书最新版对云数据库的内容也做了相应的调 整。例如,对数据库的安装、配置、监控搭建等基础操作内容进行了 大幅缩减,增加了对云端具体操作的介绍。因此,本书也非常适合作 为面向云数据库系统开发者的一本MySQL参考图书。如本书的名字所 述,本书在内核设计、性能优化方面,依旧是着墨最多的部分,深入 介绍了锁管理、并发控制、Performanc Schema使用、索引优化等内核 机制,可以帮助企业的DBA、想深入了解MySQL优化的开发者,以及云 数据库开发者更高效地使用和拓展MySQL。 本书的译者是云数据库领域和MySQL数据库的资深专家,有着很强的技 术能力、行业实践以及业务洞察,同时具备非常出色的业务架构设计 和商业化经验。在深入理解原著的基础上,译者们结合自己的洞察和 经验提供了出色的专业化中文版本,是MySQL领域不可多得的一本必读 书目。 李飞飞(飞刀),ACM/IEEE Fellow,阿里云数据库负责人
📄 Page 9
译者序 十年时光,转瞬即逝;重译经典,心境迥异。 2012年,电子工业出版社博文视点公司的张春雨找我来组织翻译《高 性能MySQL》的第3版;2022年,还是张春雨找我来组织翻译《高性能 MySQL》的第4版。2012年我还在淘宝DBA团队,淘宝核心交易系统刚刚 完成“去IOE”。十年过去,国内的数据库江湖已经换了模样,云数据 库成为很多公司的选择,国产数据库创业公司也此起彼伏,而MySQL依 然高居DB-Engines排行榜亚军,还是最受欢迎的开源数据库。根据中 国信息通信研究院的《数据库发展研究报告(2021年)》,截至2021 年6月,国产关系数据库产品共有81个,其中23个是基于MySQL二次开 发的,占比为28.4%。 从2012年开始,我从淘宝DBA团队到手机淘宝数据团队,再到阿里云数 加团队,直到2015年年底离职出来联合创立袋鼠云。至今在数据领域 创业也有6年多了,目前主要管理袋鼠云集团旗下的两家子公司,分别 是聚焦数字孪生的易知微和聚焦可观测业务运维的云掣。当年淘宝DBA 团队的很多成员如今也在创业的路上,他们的工作也和MySQL数据库有 或多或少的关系,比如本书的另外两位译者周振兴和张新铭。 在本书第3版出版的时候,MySQL还是5.5版本。此后在2015年发布的 5.7版和2018年发布的8.0版是两个重要的版本,目前的最新版本是 2022年4月发布的8.0.29。本书的最新版本中增加了大量对MySQL 5.7 和8.0版本新特性的介绍,删除了一些在新版本中已经废弃或者不再常 用的功能。另外,本书还增加了对云数据库的介绍,减少了在官方文 档中已有的基础使用和配置相关的内容。这些年,MySQL在互联网的大 量场景中被大规模地应用和验证,使得本书第4版在继续关注高性能之 外,还使用了更多的篇幅来介绍如何实现MySQL的大规模可扩展应用, 这是相比第3版最大的不同,所以本书还增加了新卖点“经过大规模运 维验证的策略”。 本书的翻译依然是团队合作的结晶,其中我负责第1、2、3、4、5、 6、13章和附录的翻译,周振兴负责第7、8、9、10章的翻译,张新铭
📄 Page 10
负责第11、12章的翻译,另外一位同事刘开阳也参与了部分章节的翻 译和审稿工作。在第3版的基础之上,这次整体工作的进度还比较顺 利。但创业公司各种事务繁忙,译者们的时间精力都有限,难免存在 疏漏之处,恳请读者不吝指出。 我要感谢易知微和云掣团队的同事,让我能够在工作之余抽出时间完 成本书的翻译。当然更要感谢我的妻子Lalla,在我以创业和翻译为借 口之际,毫无怨言地照顾我和我们的孩子则一的生活。是的,十年之 后,我们有了新的家庭成员,这个月他已经三岁啦! 宁海元,易知微&云掣CEO 2022年6月于未来科技城
📄 Page 11
序 自近20年前《高性能MySQL》(第1版)问世以来,它已经成为每一位 被新聘成为数据库管理员、系统工程师或数据库开发人员桌上的第一 本书。 最初当Jeremy Zawodny和Derek Balling着手写一本关于大规模运行 MySQL的书,为多年的谜题带来清晰的思路和结构时,它注定会成为 MySQL世界的经典。经过十几年的多版更新,有些原始内容和后续更新 一直有效,有些则不然。 MySQL本身在进步,MySQL社区改变了很多,我们使用MySQL的方式也改 变了。现在,在第4版中,Silvia和Jeremy承担了艰巨的任务,要把这 本经典图书更新到当今时代,他们是完成这项任务的最佳搭档。 我在MySQL社区工作的这段时间(现在已经超过20年了!),始终不变 的一件事情,就是变化。每个人使用MySQL(或者说通用数据库)的方 式都略有不同,对它有不同的期望。每个人都会做出一些好的决定, 也会做出一些善意但值得怀疑的决定。当然,也总会做出一些糟糕的 决定。有时,进步是容易的,但有时需要明智的建议,以及直接从专 家那里学到思考问题的新方法。 Silvia和Jeremy就是这样的专家。从体系结构、优化、复制、备份等 各个方面,我们都将受益于他们在MySQL领域分享的丰富经验。在新的 第4版中,许多主题得到了新的处理,许多过时的知识被删除,许多错 误被纠正,这些工作最终为本书带来了新的内容和新的风格。 就像最初的第1版一样(现在来看它的内容已经很老了,而且内容较 少),第4版承诺将帮助最新一代的开发人员、数据库管理人员和他们 的老板进入MySQL的新世界;这个世界有时很令人兴奋,但有时也可能 让人抓狂。 谢谢Silvia和Jeremy,感谢你们为培养下一代MySQL极客所做的辛勤工 作,这些人将确保这个世界上数据的安全,也将确保全球顶级网站和 其他数据驱动的系统在其业务峰值时性能的卓越。
📄 Page 12
祝贺你们,在新冠肺炎病毒肆虐和其他各种事情干扰的情况下,依然 完成了这项工作。我们其他人将确保为所有新的数据库管理员提供这 本书。 Jeremy Cole 于内华达州里诺附近 2021年10月
📄 Page 13
前言 由Oracle维护的官方文档为你提供了安装、配置和与MySQL交互所需的 基础知识。本书可以作为官方文档的配套图书,帮助你了解如何更好 地利用MySQL作为某个应用场景的强大数据平台。 第4版扩展了在操作数据库过程中的合规性和安全性方面的内容,这两 方面所扮演的角色日益重要。隐私法和数据主权等新的现实问题改变 了公司构建产品的方式,这自然会给技术架构的发展带来新的复杂 性。 这本书是写给谁的 这本书首先是为那些希望在运行MySQL方面提高专业技能的工程师准备 的。这个版本假设读者熟悉关系数据库管理系统(RDBMS)的基本原 理。我们还假设读者有常规系统管理、网络和操作系统维护方面的经 验。 我们将为你提供经过验证的策略,让你可以使用现代体系结构及更先 进的工具和实践来大规模运行MySQL。 最后,我们希望你能从本书中获得MySQL内部原理和扩展策略的相关知 识,能够帮助你在组织中扩展数据存储层。我们还希望你从书中新发 现的见解,可以帮助你学习和实践一种系统的方法,用来设计、维护 和检测基于MySQL的系统架构。 第4版有什么不同 《高性能MySQL》多年来一直是数据库工程社区的一部分,从第1版到 第3版的3本书分别发布于2004年、2008年和2012年。在以前的版本 中,我们专注于深入剖析内部设计,解释各种调优设置的含义,并提 供有效更改设置的知识,以此来达到我们的目标,告诉开发者和管理 员如何优化MySQL的每一点性能。这个版本保持了相同的目标,但有不 同的侧重点。 自第3版出版以来,MySQL发布了3个新的大版本,其生态系统发生了很 大变化。它在工具范围上大大扩展,突破了Perl和Bash脚本,并发展
📄 Page 14
出成熟的工具解决方案。全新的开源项目已经建立,这改变了企业管 理MySQL的方式。 传统的数据库管理员(DBA)的角色也在不断演变。业内有一个古老的 笑话,DBA的全称是“不要费心去问”(Don't Bother Asking)。DBA 在软件开发生命周期(SDLC)中以“减速带”而闻名,这并不是因为 他们有一种守旧的态度,而仅仅是因为数据库的发展速度不如SDLC的 其他部分快。 有了《数据库可靠性工程:数据库系统设计与运维指南》(莱恩·坎 贝尔、夏丽蒂·梅杰斯著,O'Reilly出版)等书,这已经成为一个新 的现实:技术组织更多地将数据库工程师视为业务增长的促进因素, 而不是所有数据库的唯一操作员。DBA的主要日常工作曾经涉及schema 设计和查询优化,现在他们负责向开发人员传授这些技能,并管理系 统,使开发人员能够快速、安全地部署自己的模式变更。 基于这些变化,我们认为不应该再将本书的重点放在优化MySQL以将性 能提高几个百分点上,而应当是为人们提供他们所需要的信息,以便 就如何最好地使用MySQL做出明智的决定。这首先要理解MySQL是如何 设计的,也就是要理解MySQL擅长做什么,不擅长做什么。[1]MySQL的 现代版本提供了合理的默认值,除非你遇到非常具体的扩展问题,否 则几乎不需要进行任何调整。现代团队需要更多地处理模式更改、合 规性问题和分片。我们希望本书能够全面指导当下的公司如何更好地 大规模运行MySQL。 本书使用的约定 本书使用如下排版约定: 斜体(Italic) 用于表示对应的内容是新词汇、URL、邮箱地址、文件名和文件扩 展名。 等宽字体(Constant width) 用于程序清单(包括段落中的),表示程序元素,如变量名或函 数名、数据库、数据类型、环境变量、语句和关键字。 等宽加粗字体(Constant width bold) 用于显示命令或用户输入的文本。
📄 Page 15
等宽斜体(Constant width italic) 用于显示应该由用户提供或根据上下文确定的值。 这个图标表示提示或建议。 这个图标表示一般注释。 这个图标表示警告或者提醒。 O'Reilly在线学习平台(O'Reilly Online Learning) 近40年来,O'Reilly Media致力于提供技术和商业培训、知识和卓越 见解,来帮助众多公司取得成功。 我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、 文章、会议和我们的在线学习平台分享他们的知识和经验。O'Reilly 的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交 互式编程环境,以及O'Reilly和200多家其他出版商提供的大量文本和 视频资源。有关的更多信息,请访问http://oreilly.com。 如何联系我们 请将对本书的评价和存在的问题通过如下地址告知出版者。 美国: O'Reilly Media, Inc. 1005 Gravenstein Highway North
📄 Page 16
Sebastopol, CA 95472 中国: 北京市西城区西直门南大街2号成铭大厦C座807室(100035) 奥莱利技术咨询(北京)有限公司 O'Reilly的每一本书都有专属网站,你可以在那里找到图书的相关信 息,包括勘误列表、示例代码及其他信息。本书的网址是: https://oreil.ly/hiperfmysql_2e 关于本书的评论和技术性的问题,请发送电子邮件到: bookquestions@oreilly.com 关于我们的图书、课程、会议和新闻的更多信息,请参阅我们的网站 http://www.oreilly.com。 在Facebook上找到我们:http://facebook.com/oreilly 在Twitter上关注我们:http://twitter.com/oreillymedia 在YouTube上观看我们:http://www.youtube.com/oreillymedia [1] 有一种众所周知的情况,经常有人把MySQL作为队列来使用,然后还抱怨它为什么不好。最常被吐槽 的原因是轮询新队列操作的开销、处理消息时锁定记录的成本,以及随着时间的推移数据量不断增长,队 列表变得越来越笨重。
📄 Page 17
本书第4版的致谢 来自Silvia 首先,我要感谢我的家人。我的父母放弃了在埃及的稳定工作和生 活,把我和我的兄弟带到了美国。还有我的丈夫Armea,感谢他在我职 业生涯中一直支持我,帮助我迎接一个又一个挑战,并最终取得了这 一成就。 我结束在中东的大学生活,从一名技术移民开始,实现了移居美国的 梦想。在加利福尼亚州的一所州立大学获得学位后,我在纽约找到了 一份工作。我还记得,本书的第2版是我用自己的钱买的大学教科书之 外的第一本科技图书。我要感谢前几版的作者,他们教会我很多基础 知识,让我在职业生涯中做好了管理数据库的准备。 我还要感谢与我共事过的很多同事。他们的鼓励让我写了本书的第4 版,这本书在我职业生涯的早期教会了我很多东西。我要感谢 SendGrid的前首席技术官Tim Jenkins,他雇用了我,从而使我有了这 份可以做一辈子的工作。尽管我在面试时告诉他,他使用MySQL复制的 方式不对,但他对我的信任是一艘驱动我前进的宇宙飞船。 我要感谢所有在技术领域的杰出女性,她们一直是我的支持者和啦啦 队。特别感谢Camille Fournier和Nicole Forsgren博士,她们写的两 本书影响了我过去几年的职业发展,改变了我对日常工作的看法。 感谢我在Twilio的团队。感谢Sean Kilgore使我成为一名出色的而不 是只关心数据库的工程师。感谢John Martin,他是与我共事过的最乐 观的人。感谢Laine Campbell和她的PalominoDB团队(后来被Pythian 收购),他们在最艰难的岁月里给予我支持,教会了我很多东西,也 感谢Baron Schwartz鼓励我写下自己的经历。 最后,感谢优秀的编辑Virginia Wilson,帮助我把源源不断的想法变 成有意义的文字,并在这一过程中给予我很多的支持和恩惠。 来自Jeremy
📄 Page 18
Silvia找我一起写这本书的时候,正值大多数人生活中一个非常紧张 的时期——从2020年开始的新冠肺炎病毒疫情全球大流行。我不确定 是否想给自己的生活增加更多压力。我的妻子Selena告诉我,如果我 不接受,我会后悔的,我知道最好不要和她争论。她一直支持我,鼓 励我成为最好的自己。我将永远爱她,因为她愿意为我做一切事情。 致我的家人、同事和社区里的朋友们:没有你们,我无法取得今天的 成就。你们教会了我如何成为今天的自己。我的事业是我和你们所有 人的经历的汇总。你们教会我如何接受批评,如何以身作则,如何接 受失败和重新振作,最重要的是,你们让我明白团队大于个人。 最后,我想感谢Silvia,感谢你相信我能为这本书带来共识之外的不 同视角。我希望达到了你的期望。 致谢技术审阅者 我们还要在这里感谢所有的技术审阅者,是你们帮助这本书得以最终 完成,谢谢大家付出的时间和努力:Aisha Imran、Andrew Regner、 Baron Schwartz、Daniel Nichter、Hayley Anderson、Ivan Mora Perez、Jam Leoni、Jaryd Remillard、Jennifer Davis、Jeremy Cole、Keith Wells、Kris Hamoud、Nick Vyzas、Shubheksha Jalan、Tom Krouper和Will Gunty。
📄 Page 19
第1章 MySQL架构 MySQL的架构特点使其可以被应用在很多场景中。尽管它并不完美,但 足够灵活,从小型的个人网站到大型的企业应用它都可以工作得很 好。为了最大限度地使用MySQL,你需要了解它的设计,以便能够用其 所长,避其所短。 本章概述了MySQL服务端的架构、各种存储引擎之间的主要区别,以及 这些区别的重要性。我们试图通过简化细节和演示案例来解释MySQL的 原理。这些讨论无论是对数据库一无所知的新手,还是熟知其他数据 库的专家,都十分有用。
📄 Page 20
MySQL的逻辑架构 如果能在脑海中构建出一幅MySQL各组件之间协同工作的架构图,那么 这将有助于你深入理解MySQL服务器。图1-1展示了MySQL架构的逻辑视 图。 最上层的客户端所包含的服务并不是MySQL独有的,大多数基于网络的 客户端/服务器工具或服务器都有类似的服务,包括连接处理、身份验 证、确保安全性等。 第二层是比较有意思的部分。大多数MySQL的核心功能都在这一层,包 括查询解析、分析、优化、以及所有的内置函数(例如,日期、时 间、数学和加密函数),所有跨存储引擎的功能也都在这一层实现: 存储过程、触发器、视图等。 第三层是存储引擎层。存储引擎负责MySQL中数据的存储和提取。和 GNU/Linux下的各种文件系统一样,每种存储引擎都有其优势和劣势。 服务器通过存储引擎API进行通信。这些API屏蔽了不同存储引擎之间 的差异,使得它们对上面的查询层基本上是透明的。存储引擎层还包 含几十个底层函数,用于执行诸如“开始一个事务”或者“根据主键 提取一行记录”等操作。但存储引擎不会去解析SQL[1],不同存储引擎 之间也不会相互通信,而只是简单地响应服务器的请求。
The above is a preview of the first 20 pages. Register to read the complete e-book.

💝 Support Author

0.00
Total Amount (¥)
0
Donation Count

Login to support the author

Login Now
Back to List