关系型数据库工作原理-客户端连接管理器(翻译自Coding-Geek文章)
2024-10-12 12:07:14
本文翻译自Coding-Geek文章:《 How does a relational database work》。原文链接:http://coding-geek.com/how-databases-work/#Buffer-Replacement_strategies
本文翻译了如下章节, 介绍数据库的客户端管理器组件:
Client manager
客户端管理器是一个处理与数据库客户端连接通信的组件。数据库的客户端可以是Web服务器,也可以是终端应用程序。数据库提供了各种访问数据库的接口,比较知名有:JDBC、ODBC、OLE-DB…
除通用接口外,各数据库也提供了一些专有的特色接口。
客户端管理器在处理查询操作请求时会做这样的一些事情:
首先做鉴权,即检查你是否具有访问数据库的权限(用户名和密码是否正确);然后检查是否有操作数据库的相应权限(表,数据的读写权限)。这些权限都是由DBA授予的。
然后会检查是否已经有线程管理该查询(没有的话分配)。
还会检查数据库服务器当前是否已经超负荷。
所有检查通过后,客户端管理器将等待获取数据库资源(计算资源、锁等)。如果等待超时,将关闭连接,返回错误信息告知客户端。
客户端管理器获取资源后将查询请求传递到查询管理器,任务交给下游处理。
数据库查询操作并不是一锤子买卖,一但客户端管理器从查询管理器中获取到部分数据,它就会先把这把这部分数据存储到缓存种并发给客户端。
查询过程一旦遇到错误(鉴权失败,SQL语法错误等),客户端管理器将关闭连接,释放资源,返回错误。
本文为博主原创文章,未经博主允许不得转载。其它文章请访问:http://blog.csdn.net/ylforever
最新文章
- 微信小程序体验(1):携程酒店机票火车票
- 我们常用,却容易忽视——CSS的BFC(Block formatting contexts)
- ActiveMQ消息存储持久化
- C++ 修饰名的格式探究
- iOS 里面 Swift与Objective-C混编,Swift与C++混编的一些比较
- 轻松掌握:JavaScript装饰者模式
- Training
- callee
- SSM-配置文件标签随笔-概要
- CSS hack常用方案(摘选)
- 带您理解SQLSERVER是如何执行一个查询的
- C#中DataTable行转列示例
- C#结构函数与base关键字
- android样式布局---&;gt;ListView(附上源代码)
- HDU 3625 Examining the Rooms
- JS - 全屏滚动
- POJ 1459-Power Network(网络流-最大流-ISAP)C++
- 201521123072《java程序设计》第五周学习总结
- 洛谷 P2073 送花【Treap】题解+AC代码
- eclipse 下载安装单元测试log4j的配置与搭建