当前位置: 首页 > 面试题库 >

什么是数据库池?

薛涛
2023-03-14
问题内容

我只是想知道数据库连接池的概念以及如何实现。


问题答案:

数据库 连接 池是一种用于保持数据库连接打开以便其他人可以重用的方法。

通常,打开数据库连接是一项昂贵的操作,尤其是在数据库是远程的情况下。您必须打开网络会话,进行身份验证,检查授权等。池化使连接保持活动状态,以便在以后请求连接时,优先使用活动的连接之一,而不必创建另一个连接。

请参阅下图,了解以下几段:

  +---------+
  |         |
  | Clients |
+---------+ |
|         |-+  (1)   +------+   (3)    +----------+
| Clients | ===#===> | Open | =======> | RealOpen |
|         |    |     +------+          +----------+
+---------+    |         ^
               |         | (2)
               |     /------\
               |     | Pool |
               |     \------/
           (4) |         ^
               |         | (5)
               |     +-------+   (6)   +-----------+
               #===> | Close | ======> | RealClose |
                     +-------+         +-----------+

以最简单的形式,它只是一个类似于开放式API调用的API调用(1),类似于“真实”调用。这首先检查池中是否有合适的连接(2),如果有可用的连接,则将其提供给客户端。否则,将创建一个新的(3)。

“合适的连接”仅仅是一个已经 拥有 访问使用正确的信息(如数据库实例,凭证,以及其他可能的事情)数据库。

类似地,有一个关闭API调用(4),它实际上并未调用 真正的 关闭连接,而是将连接放入池(5)中供以后使用。在某个时候,池中的连接可能 实际上
已关闭(6)。

这是一个非常简单的解释。实际的实现可能能够处理与多个服务器和多个用户帐户的连接,它们可能会预先分配一些连接基线,以便立即进行准备,并且在使用模式趋于平静时,它们实际上可能会关闭旧连接。



 类似资料:
  • 主要内容:关系型数据库,非关系型数据库在学习数据库之前,应该先理解什么是数据。本节先介绍数据以及数据库的概念,再对关系型数据库和非关系型数据库的优缺点进行分析。 描述事物的符号称为 数据。数据有多种表现形式,可以是数字,也可以是文字、图形、图像、声音、语言等。在数据库中数据表示记录,例如,在学生管理数据库中,记录学生的信息包括学号、姓名、性别、年龄、籍贯和联系电话等,这些信息就是数据。 信息是指对数据进行加工处理后提取的对人类社会实践

  • 主要内容:Oracle数据库的版本,甲骨文公司,Oracle的历史Oracle数据库是一个关系数据库管理系统。 它也叫OracleDB或简称Oracle。 Oracle数据库由Oracle公司生产和销售。 Oracle数据库是第一个专为企业网格计算而设计的数据库。 企业网格计算提供了最灵活,最经济的方式来管理信息和应用程序。 Oracle数据库的版本 Oracle数据库主要有四个版本,如下所示 - - 企业版: 它是最强大和最安全的版本。 它提供所有功能,包括卓

  • 问题内容: 我了解对数据库事务处理概念的一般理解。我们访问事务内的数据库以确保ACID属性。 在Hibernate中,有一个称为会话的概念。会话的用途是什么?什么时候应该在两个会话中而不是在同一会话中进行数据库访问? 为了进一步说明,我已经看到了hibernate代码, 从会话工厂获取会话 打开会议 开始交易 提交交易 关闭会议 我需要知道的是在这里召开会议的重要性是什么?为什么没有像交易工厂这样

  • 数据库系统 (Database System,DBS)由硬件和软件共同构成。硬件主要用于存储数据库中的数据,包括计算机、存储设备等。软件部分主要包括数据库管理系统、支持数据库管理系统运行的操作系统,以及支持多种语言进行应用开发的访问技术等。 数据库系统是指在计算机系统中引入数据库后的系统。完整的数据库系统结构关系如图所示: 由图可知,一个完整的数据库系统一般由数据库、数据库管理系统、应用开发工具、

  • 我理解数据库事务概念的一般理解。我们在事务中访问数据库以确保ACID属性。 在Hibernate中有一个称为会话的概念。会话的用途是什么?何时应该在两个会话中而不是在同一会话中访问数据库? 为了解释更多,我看到了hibernate代码 从会话工厂获取会话 打开会话 开始事务 提交事务 关闭会话 我需要知道的是会话在这里的重要性是什么?为什么没有像事务工厂这样的东西,开始事务并提交事务?

  • 本文向大家介绍数据库三范式是什么?相关面试题,主要包含被问及数据库三范式是什么?时的应答技巧和注意事项,需要的朋友参考一下 用自己的话解释,而不是背概念。 第一范式:字段不能有冗余信息,所有字段都是必不可少的。 第二范式:满足第一范式并且表必须有主键。 第三范式:满足第二范式并且表引用其他的表必须通过主键引用。 员工内部→自己的老大→外部的老大 记忆顺序:自己内部不重复→别人引用自己→自己引用别人