六月丁香五月婷婷,丁香五月婷婷网,欧美激情网站,日本护士xxxx,禁止18岁天天操夜夜操,18岁禁止1000免费,国产福利无码一区色费

學(xué)習(xí)啦>知識(shí)大全>知識(shí)百科>百科知識(shí)>

數(shù)據(jù)庫(kù)連接池的影響因素

時(shí)間: 謝君787 分享

  數(shù)據(jù)庫(kù)連接池負(fù)責(zé)分配、管理和釋放數(shù)據(jù)庫(kù)連接,它允許應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的數(shù)據(jù)庫(kù)連接,而不是再重新建立一個(gè),那么你對(duì)數(shù)據(jù)庫(kù)連接池了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是數(shù)據(jù)庫(kù)連接池的內(nèi)容,希望大家喜歡!

  數(shù)據(jù)庫(kù)連接池的背景

  數(shù)據(jù)庫(kù)連接是一種關(guān)鍵的、有限的、昂貴的資源,這一點(diǎn)在多用戶的網(wǎng)頁(yè)應(yīng)用程序中體現(xiàn)得尤為突出。對(duì)數(shù)據(jù)庫(kù)連接的管理能顯著影響到整個(gè)應(yīng)用程序的伸縮性和健壯性,影響到程序的性能指標(biāo)。數(shù)據(jù)庫(kù)連接池正是針對(duì)這個(gè)問(wèn)題提出來(lái)的。

  數(shù)據(jù)庫(kù)連接池的影響因素

  數(shù)據(jù)庫(kù)連接池在初始化時(shí)將創(chuàng)建一定數(shù)量的數(shù)據(jù)庫(kù)連接放到連接池中,這些數(shù)據(jù)庫(kù)連接的數(shù)量是由最小數(shù)據(jù)庫(kù)連接數(shù)制約。無(wú)論這些數(shù)據(jù)庫(kù)連接是否被使用,連接池都將一直保證至少擁有這么多的連接數(shù)量。連接池的最大數(shù)據(jù)庫(kù)連接數(shù)量限定了這個(gè)連接池能占有的最大連接數(shù),當(dāng)應(yīng)用程序向連接池請(qǐng)求的連接數(shù)超過(guò)最大連接數(shù)量時(shí),這些請(qǐng)求將被加入到等待隊(duì)列中。數(shù)據(jù)庫(kù)連接池的最小連接數(shù)和最大連接數(shù)的設(shè)置要考慮到下列幾個(gè)因素:

  1. 最小連接數(shù)

  是連接池一直保持的數(shù)據(jù)庫(kù)連接,所以如果應(yīng)用程序?qū)?shù)據(jù)庫(kù)連接的使用量不大,將會(huì)有大量的數(shù)據(jù)庫(kù)連接資源被浪費(fèi)。

  2. 最大連接數(shù)

  是連接池能申請(qǐng)的最大連接數(shù),如果數(shù)據(jù)庫(kù)連接請(qǐng)求超過(guò)此數(shù),后面的數(shù)據(jù)庫(kù)連接請(qǐng)求將被加入到等待隊(duì)列中,這會(huì)影響之后的數(shù)據(jù)庫(kù)操作。

  3. 最小連接數(shù)與最大連接數(shù)差距

  最小連接數(shù)與最大連接數(shù)相差太大,那么最先的連接請(qǐng)求將會(huì)獲利,之后超過(guò)最小連接數(shù)量的連接請(qǐng)求等價(jià)于建立一個(gè)新的數(shù)據(jù)庫(kù)連接。不過(guò),這些大于最小連接數(shù)的數(shù)據(jù)庫(kù)連接在使用完不會(huì)馬上被釋放,它將被放到連接池中等待重復(fù)使用或是空閑超時(shí)后被釋放。

  數(shù)據(jù)庫(kù)連接池的原理

  連接池基本的思想是在系統(tǒng)初始化的時(shí)候,將數(shù)據(jù)庫(kù)連接作為對(duì)象存儲(chǔ)在內(nèi)存中,當(dāng)用戶需要訪問(wèn)數(shù)據(jù)庫(kù)時(shí),并非建立一個(gè)新的連接,而是從連接池中取出一個(gè)已建立的空閑連接對(duì)象。使用完畢后,用戶也并非將連接關(guān)閉,而是將連接放回連接池中,以供下一個(gè)請(qǐng)求訪問(wèn)使用。而連接的建立、斷開都由連接池自身來(lái)管理。同時(shí),還可以通過(guò)設(shè)置連接池的參數(shù)來(lái)控制連接池中的初始連接數(shù)、連接的上下限數(shù)以及每個(gè)連接的最大使用次數(shù)、最大空閑時(shí)間等等。也可以通過(guò)其自身的管理機(jī)制來(lái)監(jiān)視數(shù)據(jù)庫(kù)連接的數(shù)量、使用情況等。

  Java數(shù)據(jù)庫(kù)連接池

  在Java中開源的數(shù)據(jù)庫(kù)連接池有以下幾種 :

  1、C3P0:是一個(gè)開放源代碼的JDBC連接池,它在lib目錄中與Hibernate一起發(fā)布,包括了實(shí)現(xiàn)jdbc3和jdbc2擴(kuò)展規(guī)范說(shuō)明的Connection 和Statement 池的DataSources 對(duì)象。

  2、Proxool:是一個(gè)Java SQL Driver驅(qū)動(dòng)程序,提供了對(duì)選擇的其它類型的驅(qū)動(dòng)程序的連接池封裝??梢苑浅:?jiǎn)單的移植到現(xiàn)存的代碼中,完全可配置,快速、成熟、健壯。可以透明地為現(xiàn)存的JDBC驅(qū)動(dòng)程序增加連接池功能。

  3、Jakarta DBCP:DBCP是一個(gè)依賴Jakartacommons-pool對(duì)象池機(jī)制的數(shù)據(jù)庫(kù)連接池。DBCP可以直接的在應(yīng)用程序中使用。

  4、DDConnectionBroker:是一個(gè)簡(jiǎn)單、輕量級(jí)的數(shù)據(jù)庫(kù)連接池。

  5、DBPool:是一個(gè)高效、易配置的數(shù)據(jù)庫(kù)連接池。它除了支持連接池應(yīng)有的功能之外,還包括了一個(gè)對(duì)象池,使用戶能夠開發(fā)一個(gè)滿足自己需求的數(shù)據(jù)庫(kù)連接池。

  6、XAPool:是一個(gè)XA數(shù)據(jù)庫(kù)連接池。它實(shí)現(xiàn)了javax.sql.XADataSource并提供了連接池工具。

  7、Primrose:是一個(gè)Java開發(fā)的數(shù)據(jù)庫(kù)連接池。當(dāng)前支持的容器包括Tomcat4&5、Resin3與JBoss3。它同樣也有一個(gè)獨(dú)立的版本,可以在應(yīng)用程序中使用而不必運(yùn)行在容器中。Primrose通過(guò)一個(gè)WEB接口來(lái)控制SQL處理的追蹤、配置,以及動(dòng)態(tài)池管理。在重負(fù)荷的情況下可進(jìn)行連接請(qǐng)求隊(duì)列處理。

  8、SmartPool:是一個(gè)連接池組件,它模仿應(yīng)用服務(wù)器對(duì)象池的特性。SmartPool能夠解決一些臨界問(wèn)題如連接泄漏(connection leaks)、連接阻塞、打開的JDBC對(duì)象(如Statements、PreparedStatements)等。SmartPool的特性包括:

  支持多個(gè)pool

  自動(dòng)關(guān)閉相關(guān)聯(lián)的JDBC對(duì)象

  在所設(shè)定time-outs之后察覺(jué)連接泄漏

  追蹤連接使用情況

  強(qiáng)制啟用最近最少用到的連接

  把SmartPool“包裝”成現(xiàn)存的一個(gè)pool

  9、MiniConnectionPoolManager:是一個(gè)輕量級(jí)JDBC數(shù)據(jù)庫(kù)連接池。它只需要Java1.5(或更高)并且沒(méi)有依賴第三方包。

  10、BoneCP:是一個(gè)快速、開源的數(shù)據(jù)庫(kù)連接池。幫用戶管理數(shù)據(jù)連接,讓應(yīng)用程序能更快速地訪問(wèn)數(shù)據(jù)庫(kù)。比C3P0/DBCP連接池速度快25倍。

  11、Druid:Druid不僅是一個(gè)數(shù)據(jù)庫(kù)連接池,還包含一個(gè)ProxyDriver、一系列內(nèi)置的JDBC組件庫(kù)、一個(gè)SQL Parser。

  支持所有JDBC兼容的數(shù)據(jù)庫(kù),包括Oracle、MySql、Derby、Postgresql、SQL Server、H2等。

  Druid針對(duì)Oracle和MySql做了特別優(yōu)化,比如:

  Oracle的PS Cache內(nèi)存占用優(yōu)化

  MySql的ping檢測(cè)優(yōu)化

  Druid提供了MySql、Oracle、Postgresql、SQL-92的SQL的完整支持,這是一個(gè)手寫的高性能SQL Parser,支持Visitor模式,使得分析SQL的抽象語(yǔ)法樹很方便。

  簡(jiǎn)單SQL語(yǔ)句用時(shí)10微秒以內(nèi),復(fù)雜SQL用時(shí)30微秒。

  通過(guò)Druid提供的SQL Parser可以在JDBC層攔截SQL做相應(yīng)處理,比如說(shuō)分庫(kù)分表、審計(jì)等。Druid防御SQL注入攻擊的WallFilter,就是通過(guò)Druid的SQL Parser分析語(yǔ)義實(shí)現(xiàn)的
看過(guò)“數(shù)據(jù)庫(kù)連接池的影響因素”的人還看了:

1.關(guān)于計(jì)算機(jī)數(shù)據(jù)庫(kù)技術(shù)的論文

2.中軟java面試題及參考答案

3.JSP學(xué)習(xí)計(jì)劃范文

4.2016中軟國(guó)際面試題整理

5.企業(yè)網(wǎng)絡(luò)安全設(shè)計(jì)論文3篇

2029599