Druid

HikariCP介绍

删除回忆录丶 提交于 2019-12-11 20:08:25
HikariCP 什么是数据库连接池: 连接池是一种常用的技术,为什么需要连接池呢?这个需要从TCP说起。假如我们的服务器跟数据库没有部署在同一台机器,那么,服务器每次查询数据库都要先建立连接,一般都是TCP链接,建立连接就需要3次握手了,假设后台服务跟数据库的单程的访问时间需要10ms,那么光是建立连接就花了30ms,并且TCP还有慢启动的机制,实际上一次查询可能还不止1次TCP来回,查询效率就会大大降低。 为什么需要连接池: 为了解决上述问题,我们就需要维护一些长链接,这样就不用每次都去建立连接,毕竟建立连接除了占用时间,还需要一些其他的系统资源。另外的好处,连接池让我们更加容易地管理,一方面是可以避免数据库资源都被某几个API占据,另一方面也可以避免资源泄露。 什么是HikariCP HikariCP是由日本程序员开源的一个数据库连接池组件,代码非常轻量,并且速度非常的快。根据官方提供的数据,在i7,开启32个线程32个连接的情况下,进行随机数据库读写操作,HikariCP的速度是现在常用的C3P0数据库连接池的数百倍。在SpringBoot2.0中,官方也是推荐使用HikariCP。 为什么HikariCP会那么快 1.字节码更加精简,所以可以加载更多代码到缓存。 2.实现了一个无锁的集合类型,来减少并发造成的资源竞争。 3.使用了自定义的数组类型

presto、druid、sparkSQL、kylin的对比分析

走远了吗. 提交于 2019-12-11 10:27:18
开源的OLAP引擎,按照查询类型划分,OLAP一般分为即 席查询和固化查询。 即席查询: 通过手写sql完成一些临时的数据分析需求,这类sql形式多变、逻辑复杂,对查询时间没有严格要求 固化查询: 指的是一些固化下来的取数、看数需求,通过数据产品的形式提供给用户,从而提高数据分析和运营的效率。这类的sql固定模式,对响应时间有较高要求。 按照架构实现划分,主流的OLAP引擎主要有下面三点: MPP架构系统 (Presto/Impala/SparkSQL/Drill等)。这种架构主要还是从查询引擎入手,使用分布式查询引擎,而不是使用hive+mapreduce架构,提高查询效率。 搜索引擎架构的系统 (es,solr等),在入库时将数据转换为倒排索引,采用Scatter-Gather计算模型,牺牲了灵活性换取很好的性能,在搜索类查询上能做到亚秒级响应。但是对于扫描聚合为主的查询,随着处理数据量的增加,响应时间也会退化到分钟级。 预计算系统(Druid/Kylin等) 则在入库时对数据进行预聚合,进一步牺牲灵活性换取性能,以实现对超大数据集的秒级响应。 这几个框架都是OLAP大数据分析比较常见的框架,各自特点如下: presto :facebook开源的一个java写的分布式数据查询框架,原生集成了Hive、Hbase和关系型数据库

The last packet successfully received from the server was xxx milliseconds ago”

蹲街弑〆低调 提交于 2019-12-11 08:50:47
1修改druid配置(如果使用druid的话) spring . datasource . druid . validationQuery = select 1 spring . datasource . druid . testWhileIdle = true spring . datasource . druid . testOnBorrow = true spring . datasource . druid . testOnReturn = true 此方案对性能会有一定影响 2 在数据库连接上,加“ & autoReconnect = true & failOverReadOnly = false”配置 3修改数据库连接有效时间 在数据库配置上设置,把数据库连接有效时间设置长一点,比如设置12小时或者24小时 来源: CSDN 作者: 方方园园 链接: https://blog.csdn.net/qq_22041375/article/details/103465428

SpringBoot集成Druid的最简单的小示例

放肆的年华 提交于 2019-12-10 20:12:22
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 参考网页 https://blog.csdn.net/king_is_everyone/article/details/53098350 建立 maven工程 Pom文件 <? xml version = "1.0" encoding = "UTF-8" ?> < project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < parent > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-parent </ artifactId > < version > 1.4.1.RELEASE </ version > </ parent > < modelVersion > 4.0.0 </ modelVersion > <

阿里巴巴Druid数据源的配置与使用

China☆狼群 提交于 2019-12-10 20:12:10
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Druid是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和SQL解析器组成。该项目主要是为了扩展JDBC的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、统计SQL信息、SQL性能收集、SQL注入检查、SQL翻译等,程序员可以通过定制来实现自己需要的功能。 该项目在阿里巴巴内部得到了广泛的部署,在外部也有大量的用户群。为了使大家更好地了解和使用Druid在此做一些简单的介绍,以帮助大家快速入门。 目前比较流行的数据源还有:c3p0,dbcp,proxool,BoneCP等。其中spring,hibernate都默认推荐使用c3p0,Tomcat默认使用dbcp。 以下是本人连接mysql数据库测试的性能:(本人水平有限,仅做参考,不同的数据库,不同的环境可能存在较大差异) 连续操作1000次数据库写入操作的用时比较: 数据源 用时 ms C3p0 3630 proxool 3240 druid 3190 dbcp 3264 根据分析,druid性能超过其他数据源,但在多次运行过程是druid、proxool出现崩溃两次。C3p0和dbcp在相对比较稳定。其中c3p0有自动回收连接功能,而dbcp没有自动回收连接的功能。 好了,废话少说,下面快速给大家使用druid配置数据连接

DruidDataSource参考配置

元气小坏坏 提交于 2019-12-10 20:07:34
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 以下是一个参考的连接池配置: <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 数据库驱动 --> <property name="driverClassName" value="${jdbc.driverClassName}" /> <!-- 基本属性 url、user、password --> <property name="url" value="${jdbc_url}" /> <property name="username" value="${jdbc_user}" /> <property name="password" value="${jdbc_password}" /> <!-- 配置初始化大小、最小、最大 --> <property name="initialSize" value="1" /> <property name="minIdle" value="1" /> <property name="maxActive" value="20" /> <!-- 配置获取连接等待超时的时间 -->

Tranquility server would not send data to druid

余生颓废 提交于 2019-12-10 19:47:41
问题 I'm using imply-2.2.3 . Here is my tranquility server configuration: { "dataSources" : [ { "spec" : { "dataSchema" : { "dataSource" : "tutorial-tranquility-server", "parser" : { "type" : "string", "parseSpec" : { "timestampSpec" : { "column" : "timestamp", "format" : "auto" }, "dimensionsSpec" : { "dimensions" : [], "dimensionExclusions" : [ "timestamp", "value" ] }, "format" : "json" } }, "granularitySpec" : { "type" : "uniform", "segmentGranularity" : "hour", "queryGranularity" : "none" },

Mysql读写分离(SpringBoot2 + Druid + MybatisPlus + Sharding-JDBC)

痴心易碎 提交于 2019-12-10 18:35:56
开发环境: SpringBoot2 + Druid + MybatisPlus + Sharding-JDBC 一、引入jar包 pom.xml文件中引入以下依赖。 <!-- Sharding-JDBC for spring boot --> < dependency > < groupId > org.apache.shardingsphere </ groupId > < artifactId > sharding-jdbc-spring-boot-starter </ artifactId > < version > 4.0.0-RC1 </ version > </ dependency > <!-- Sharding-JDBC for spring namespace --> < dependency > < groupId > org.apache.shardingsphere </ groupId > < artifactId > sharding-jdbc-spring-namespace </ artifactId > < version > 4.0.0-RC1 </ version > </ dependency > <!-- Druid --> < dependency > < groupId > com.alibaba </ groupId > <

Add a druid cluster as a SQL database in Apache Superset

我只是一个虾纸丫 提交于 2019-12-09 13:37:38
问题 I currently connect to the druid cluster through the druid connector in Apache Superset. I heard that SQL can be used to query druid. Is it possible to point my SQL database connection to druid? 回答1: Follow the steps below You need to use latest version of pydruid for enabling sqlalchemy support. For me pydruid 0.4.1 is working fine. On Superset, in the Databases section you need to provide the SQLAlchemy URI druid://XX.XX:8082/druid/v2/sql/ using a broker ip/host. Third thing you need to do

SpringBoot2 使用 Druid的数据库连接池并使用监控

左心房为你撑大大i 提交于 2019-12-09 13:24:53
SpringBoot2 使用 Druid的数据库连接池并使用监控 首先引入pom文件 <!--引入自定义的数据源--> <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.9</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot<