1. 程式人生 > >連線池 Druid 詳細介紹

連線池 Druid 詳細介紹

Druid的簡介

Druid首先是一個數據庫連線池。Druid是目前最好的資料庫連線池,在功能、效能、擴充套件性方面,都超過其他資料庫連線池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid已經在阿里巴巴部署了超過600個應用,經過一年多生產環境大規模部署的嚴苛考驗。

同時Druid不僅僅是一個數據庫連線池,它包括三個部分:

 1.    基於Filter-Chain模式的外掛體系。

  2.  DruidDataSource 高效可管理的資料庫連線池。

   3.  SQLParser

Druid的功能

1、替換DBCP和C3P0。Druid提供了一個高效、功能強大、可擴充套件性好的資料庫連線池。

2、可以監控資料庫訪問效能,Druid內建提供了一個功能強大的StatFilter外掛,能夠詳細統計SQL的執行效能,這對於線上分析資料庫訪問效能有幫助。

3、資料庫密碼加密。直接把資料庫密碼寫在配置檔案中,這是不好的行為,容易導致安全問題。DruidDruiver和DruidDataSource都支援PasswordCallback。

4、SQL執行日誌,Druid提供了不同的LogFilter,能夠支援Common-Logging、Log4j和JdkLog,你可以按需要選擇相應的LogFilter,監控你應用的資料庫訪問情況。

5、擴充套件JDBC,如果你要對JDBC層有程式設計的需求,可以通過Druid提供的Filter機制,很方便編寫JDBC層的擴充套件外掛。


Druid可以做什麼? 

1) 可以監控資料庫訪問效能,Druid內建提供了一個功能強大的StatFilter外掛,能夠詳細統計SQL的執行效能,這對於線上分析資料庫訪問效能有幫助。 

2) 替換DBCPC3P0。Druid提供了一個高效、功能強大、可擴充套件性好的資料庫連線池。 

3) 資料庫密碼加密。直接把資料庫密碼寫在配置檔案中,這是不好的行為,容易導致安全問題。DruidDruiver和DruidDataSource都支援PasswordCallback。 

4) SQL執行日誌,Druid提供了不同的LogFilter,能夠支援Common-LoggingLog4j和JdkLog,你可以按需要選擇相應的LogFilter,監控你應用的資料庫訪問情況。 

擴充套件JDBC,如果你要對JDBC層有程式設計的需求,可以通過Druid提供的Filter-Chain機制,很方便編寫JDBC層的擴充套件外掛。 

如下是一個基於Druid內建擴充套件StatFilter的監控實現:

Druid 的 JavaDoc 文件請看