1、“.....在许多情况下,它是不是你可以很容易地拔出并更换另个实施。从个模块的代码可能会被分散在多个文件中,你经常会发现从几个不同的模块在同个文件的代码。这是特别真实的较旧的代码。新的代码往往更好,以适应模块的格局。因此,在我们的定义中,个模块是段代码,以种方式,在逻辑上属于起,并执行些关键的功能在用户身份验证模块在命令行上,当服务器启动时初始化模块需要解析配置文件和命令行参数,分配全局内存缓冲器,初始化的全局变量和结构,负载的访问控制表,并进行了些其他初始化任务。旦初始化工作完成后,初始化模块通过控制连接管理器,开始监听来自客户端的连接,在个循环中。当客户端连接到数据库服务器,连接管理器进行了些低级别的网络协议任务,然后通过控制线程管理器,这反过来又提供了个线程来处理连接从现在开始将被称为作为连接螺纹。连接螺纹可能会被重新创建,或从线程缓存中检索,并叫到现役......”。
2、“.....它首先调用用户认证模块。凭据连接的用户进行验证,客户端现在可以发出请求。连接螺纹请求数据传递到指挥调度。可以容纳些请求,命令,在的代码术语称为直接由指挥调度,而更复杂的需要被重定向到另个模块。个典型的命令请求服务器运行个查询,更改活动数据库,状态报告,发送连续的转储复制更新,关闭连接,或进行些其他操作。在服务器术语中,有两种类型的客户端请求的查询和命令。查询是任何东西,通过解析器去。命令是个请求,该请求可以被执行,而无需调用解析器。的内部的背景下,我们将使用术语查询。因此,不仅个也或在我们的术语将被称为个查询。有时也被称为什么,我们将调用查询的语句。如果启用了日志记录完整的查询,指挥调度会要求派遣前登录查询或命令的纯文本格式的日志记录模块。因此,在完整的日志记录配置所有的查询将被记录下来,即使是那些没有语法上是正确的,将永远不会被执行,立即返回个......”。
3、“.....查询缓存模块检查查询是否类型可以被缓存,如果存在个以前缓存的计算结果仍然击的情况下,执行短路,在这点上,缓存结果返回给用户,连接螺纹接收控制,现在已经准备好处理另个命令。如果查询缓存模块报告小组,查询分析器,这将使得决定如何控制权转移的基础上的查询类型。人们可以继续从该点以下模块优化,表修改模块,表维护模块,复制模块,状态报告模块可以识别。选择查询转发的优化,更新,插入,删除和创建表和模式变更查询到各表修改模块,查询,检查,维修,更新关键统计数据,或整理表到表维护模块查询与复制有关的复制模块和状态请求状态报告模块。此外,还存在些表修改模块删除模块,创建模块,更新模块,插入模块,改变模块。在这点上,每个从解析器接收控制模块通过在查询中涉及的表的访问控制模块的列表,然后,在成功时,表管理器,打开表,并获得必要的锁。现在表操作模块已准备好继续进行,其具体任务......”。
4、“.....如插入或更新记录,检索记录的基础上的个关键值,或进行抽象的存储引擎模块表级别上的操作,如修复或更新索引统计信息。抽象的存储引擎,模块将自动调用相应的方法的具体存储引擎模块通过对象的换句话说翻译,处理与存储引擎对象时,主叫方认为它是调用者不需要知道确切的对象类型的存储引擎对象。作为查询或命令正在处理,相应的模块可发送到客户端的结果集的部分,因为他们成为可用。它也可以发送警告或消息。如果出现信息发出后,在客户端和服务器都将明白,查询或命令失败,并采取适当措施。客户端将不接受任何结果集,警告或消息,对于给定的查询的数据,而服务器将始终控制权转移后发出个的连接螺纹。请注意,因为不使用例外,实施的稳定性和可移植性的原因,呼吁各级必须检查误差控制在失败的情况下,适当转让。如果低层次的模块数据以种方式作出了修改,如果二进制更新日志被启用......”。
5、“.....有时也被称为复制日志,或开发和电力用户之间的的。旦任务完成后,执行流程返回到连接螺纹,进行必要的清理,并等待来自客户端的另个查询或命令。这次会议将继续进行,直到客户机发出命令。除了与常规客户端交互,台服务器可以接收命令,从复制从盘连续读取的二进制更新日志。该命令将被复制主模块处理。如果服务器被配置为复制从盘,将调用初始化模块的复制从模块,这反过来将启动两个线程,称为线程和线程。他们照顾传播更新发生在主的奴隶。这是可能的,在同台服务器被配置为个主站和从站。经过与客户端的网络通信的客户机服务器协议模块,负责以正确的格式打包的数据,并根据连接设置,将它压缩。反过来客户端服务器的协议模块采用低级别的网络模块,这是负责发送和接收套接字级别上的数据,在跨平台移植的方式。它也负责对数据进行加密使用库的调用,如果连接选项设置适当。,,,,,历史的历史可以追溯到年......”。
6、“.....工作为个小,蒙蒂维德纽创建个报告工具,用语言编写,运行上具有的。随着时间的推移,在重写工具移植到运行在。这还只是个低级别的存储引擎与报告前端。该工具被称为的名字。小的计算资源的不利条件下工作,也许是他的上帝赐予的天赋基础上,蒙蒂开发自然非常有效的写代码的习惯和能力。他还开发了,或者也许是有天赋的,从开始就异常敏锐的眼光有用使其在未来的发展提前多的细节,未来的发展将是什么,不知道什么需要做的代码。除了上述公司是家很小的公司和蒙蒂的业主之,他有很多的说发生了什么事他的代码。虽然有也许是个很好的程序员有与蒙蒂的才华和能力,有许多原因,很少去执行他们的代码超过年左右。蒙蒂的工作,才干和代码所有权的奇迹可以建立提供了基础。在世纪年代的段时间,公司客户开始推动他们的数据的接口。几种可能性进行了审议。个是它加载到商业的不是满意的速度。他试图借用的代码的语句组成部分......”。
7、“.....这并不能很好的工作。随后赶来的经典之举,带动个有才华的程序员我已经受够了这些工具的,别人写的,不工作,我写我自己的,因此,在月的年版本的发布了组有限,其次是个公共版本发布于年月。首次公开发布只提供了二进制分发用于。个月后,被释放源和二进制。在未来两年中,移植到其他操作系统的些功能集逐渐增加。是种特殊的许可下发布的,那些谁是不是重新分配它与他们的软件允许商业使用。特别许可证可用于那些谁想要用他们的产品捆绑销售。此外,商业支持,也被售出。这提供了的些收入证明的进步发展,虽然其独创的目的已经达成了。在此期间,的发展到版本。它支持个体面的语言的子集,有可能由个人写了很多更复杂的,比我们预期的优化,速度极快,是非常的贡献,所以人们可以编写个客户端在几乎任何现有编程语言的。但是,它仍然缺乏支持事务,子查询,外键,存储过程和意见。只发生在表级锁定,在些情况下可能会慢下来嘎然而止......”。
8、“.....而其他人更乐意抛售他们的或支持的,并处理在他们的代码中的局限性换取改善性能和许可成本节约。大约名为公司成立个独立的公司。它聘请些开发商建立了合作关系,与的数据文件提供个接口。由于的事务处理能力,这将使支持的交易,它先前的代码中的些变化,准备整合的,版本发布。虽然的开发人员不可能所有的怪癖的接口和表从来没有稳定,不努力的结果,源代码成为钩子添加任何类型的存储引擎,包括配备事务。年月发布了版,如,并宣布年月公测。与版本不同的是,它增加了些显着的改进。也许最重要的是子查询,许多用户期待已久的功能。空间索引支持添加到存储引擎。支持实施。客户机服务器协议,看到了些变化。它是由更安全的攻击,并支持预处理语句的。版本的同时,工作进展的又发展分支版本,这将增加存储过程,服务器端游标,触发器,视图,事务,查询优化器的显着改善,和其他些功能......”。
9、“.....如果在上面的所有新功能,他们加入,他们不得不处理与存储的程序,作出决定创建个单独的开发分支。版本终于发布了年月在阿尔法。对于而这创造了相当有点混乱,有两个分支在阶段。最终以的稳定年月,以及混乱得到解决。随后在年月的第个版本,其中新增了多项改进,其中些表数据分区,基于行的复制,事件调度器,插件和标准化,有利于整合新的存储引擎和其他插件。在这点上,是正在积极开发。是目前的稳定版本,而是处于测试阶段,应该很快趋于稳定。进入版本的新功能,在这点上。的架构很大部分,的架构违背正式定义或的大部分代码最初是,它没有做些伟大的系统在将来成为其中的部分,而是要解决些非常具体的问题。然而,它写的这么好,有足够的洞察力,它达到的地步,有足够的质量件组装台数据库服务器。核心模块在本节中我进行了尝试识别系统中的核心模块。然而,让我添加个声明......”。
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。