瞭解一下阿里巴巴Druid

Druid首先是一個數據庫連接池。Druid是目前最好的數據庫連接池,在功能、性能、擴展性方面,都超過其他數據庫連接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。

Druid已經在阿里巴巴部署了超過600個應用,經過一年多生產環境大規模部署的嚴苛考驗。

Druid是一個JDBC組件,它包括三個部分:

基於Filter-Chain模式的插件體系

DruidDataSource 高效可管理的數據庫連接池

SQL Parser

Druid支持所有JDBC兼容的數據庫,包括Oracle、MySql、Derby、Postgresql、SQL Server、H2等等,並且Druid針對Oracle和MySql做了特別優化,比如Oracle的PS Cache內存佔用優化,MySql的ping檢測優化。

通過Druid提供的監控功能,監控SQL的執行時間、ResultSet持有時間、返回行數、更新行數、錯誤次數、錯誤堆棧信息,可以清楚知道連接池和SQL的工作情況,能夠詳細統計SQL的執行性能,這對於線上分析數據庫訪問性能有幫助。


Druid可以做什麼?


替換DBCP和C3P0。Druid提供了一個高效、功能強大、可擴展性好的數據庫連接池。

可以監控數據庫訪問性能,Druid內置提供了一個功能強大的StatFilter插件,能夠詳細統計SQL的執行性能,這對於線上分析數據庫訪問性能有幫助。

數據庫密碼加密。直接把數據庫密碼寫在配置文件中,這是不好的行爲,容易導致安全問題。DruidDriver和DruidDataSource都支持PasswordCallback。

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

擴展JDBC,如果你要對JDBC層有編程的需求,可以通過Druid提供的Filter機制,很方便編寫JDBC層的擴展插件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章