ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

使用嵌入式数据库的JDBC连接池有什么好处?

2019-06-11 06:49:57  阅读:317  来源: 互联网

标签:java jdbc connection-pooling embedded-database hikaricp


使用HikariCP等嵌入式数据库(如SQLite,H2或HSQLDB)有什么好处吗? (最后两个也可以在服务器模式下运行,但我对此不感兴趣)

除了性能优势(我认为嵌入式数据库可以忽略不计)之外,我还对连接池提供的其他工具感兴趣,这些工具可以使代码更简洁和/或更健壮.

我认为这个问题与this other one的不同之处在于它更具体,因为它专注于嵌入式数据库,并且在较小程度上关注HikariCP.

解决方法:

存在连接池主要是因为从头开始新连接是一项昂贵的操作.通常,它涉及TCP / IP握手,加密和协议协商和身份验证.关闭连接时也会有一些开销.

所以这最终归结为实现:是否打开一个足够慢的新连接以保证重用?如果打开连接的总时间与其他操作所消耗的时间相比较大,或者打开连接会产生严重延迟,则连接池是有意义的.对于嵌入式数据库,差异应该是最小的,因为它们在与程序本身相同的内存空间中运行.

但是,连接池也有一个有用的副作用,因为它限制了最大同时连接数.在没有连接池的服务器上,攻击者可以轻松发送大量请求,耗尽内存或导致拒绝服务.

从代码清晰度和抽象的角度来看,连接池也很好,因为它们是完全透明的.如果您有一天决定从嵌入式服务器迁移到客户端/服务器,则无需进行任何更改.

标签:java,jdbc,connection-pooling,embedded-database,hikaricp
来源: https://codeday.me/bug/20190611/1216781.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有