免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4686 | 回复: 0
打印 上一主题 下一主题

第一章 MySQL体系结构 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-04 09:08 |只看该作者 |倒序浏览
                        第一章        MySQL体系结构
MySQL的体系结构与其他数据库相比有很大不同,使得它有广泛的用途。尽管MySQL不是最好的,但它足以在需要的环境中工作的很好,如web程序。与此同时,MySQL能增强嵌入的应用程序,数据仓储,内容索引和软件推送,高可用冗余系统,在线交易处理(OLTP)等等。
       你想从MySQL获得更多,需要懂得它德设计是如何工作的,而不是与它唱反调。MySQL在很多方面具有很好的伸缩性。例如,你能够配置它运行在大多数硬件环境,它支持各种数据类型。然而,MySQL最与众不同的特点是它的存储引擎体系结构,MySQL被设计成查询过程和其他任务与数据存储分开。在MySQL5.1版本,甚至能够在存储引擎作之间作为实时插件平衡负载。这种分开技术概念可以让你基于每个表选择,你的数据如何存储,你需要的性能,特点和其他特性。
       本章提供了对MySQL服务器体系结构的概况,各存储引擎的主要不同点,为什么这些不同时重要的。通过简化细节,展示例子的方法解释MySQL。对于新接触数据库的和其他数据库专家这个讨论是有用的。
MySQL的逻辑体系结构
MySQL组件间是如何工作的这个蓝图在脑子里将有助于理解MySQL服务器。图1-1展示了MySQL的逻辑结构图。图中最上层包含的这些服务不等于MySQL。这些服务器大多是基于网络的client/server工具集,或服务器需要的:连接处理,认证,安全,等等。

图1-1
MySQL服务器体系结构逻辑图
第二层是我们感兴趣的。MySQL的核心就这这儿,包括查询,分析,优化,缓存,和内建的一些功能的代码(e.g.,日期,时间,公式和加密)。这些功能都是通过在这一层的存储引擎提供的:存储过程,触发器,和视图等。
第三层包括存储引擎。这层负责存储和获得所有存储在MySQL里的数据。和在GNU/Linux里提供的各种文件系统一样,每种存储引擎都有它自己的优势和缺点。服务器通过API与存储引擎通信。这个接口API隐藏了存储引擎间的不同,也使得存储引擎在查询层更透明。这些API包括了许多底层函数,这些函数执行如“一笔交易”或“查询有主键的记录”之类的操作。存储引擎不解释SQL,存储引擎间也不通信;存储引擎仅从服务器响应请求。

连接管理和安全
在MySQL服务器进程中,每个客户端连接都获得自己的线程。连接的查询时在单独的线程里执行,该线程轮流驻留在CPU中。服务器缓存这些线程,因此不必为每个新连接创建和销毁线程。当客户端(应用程序)连接到MySQL服务器,服务器需要认证该连接。认证是基于用户名,源主机和密码。X.509认证可以用在安全套接层(SSL)连接。只要客户端一连接上来,服务器就鉴别客户端是否有权限发送查询语句的权限(e.g.,客户端是否被允许发送SELECT语句给world数据库的Country表,)。我们会在12章讲解该题目。
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/102153/showart_2016989.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP