下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Druid连接池基础知识

作者:课课家教育     来源: http://www.kokojia.com点击数:1211发布时间: 2017-06-04 16:00:55

标签: 数据库数据库连接池Druid

  Durid是在2013年底开源出来的,当前最新版本0.9.2,主要解决的是对实时数据以及较近时间的历史数据的多维查询提供高并发(多用户),低延时,高可靠性的问题。对比Druid与其他解决方案,Kylin对数据按照分区每天构建前一天的cube数据提供给用户查询,用户查询的是历史数据。而Druid不断的从ingest去拉取数据,持续构建cube,提供实时查询。那么究竟Druid有哪些具体内容需要我们了解呢?下面先来认识一些基础内容!

  一、Druid简介

  Druid是一个为在大数据集之上做实时统计分析而设计的开源数据存储。这个系统集合了一个面向列存储的层,一个分布式、shared-nothing的架构,和一个高级的索引结构,来达成在秒级以内对十亿行级别的表进行任意的探索分析。

  互联网技术的快速增长催生了各类大体量的数据,Hadoop很大的贡献在于帮助企业将他们那些低价值的事件流数据转化为高价值的聚合数据,这适用于各种应用

  但Hadoop擅长的是存储和获取大规模数据,但是它并不提供任何性能上的保证它能多快获取到数据。此外,虽然Hadoop是一个高可用的系统,但是在高并发负载下性能会下降

  Hadoop是一个很好的后端、批量处理和数据仓库系统。在一个需要高并发并且保证查询性能和数据可用性的并需要提供产品级别的保证的需求,Hadoop并不能满足,因此创建了Druid,一个开源的、分布式、列存储、实时分析的数据存储。在许多方面,Druid和其他OLAP系统有很多相似之处,交互式查询系统,内存数据库(MMDB),众所周知的分布式数据存储。其中的分布式和查询模型都参考了当前的一些搜索引擎的基础架构

  同时Druid不仅仅是一个数据库连接池,它包括四个部分

  ①Druid是一个JDBC组件,它包括三个部分:

  ②基于Filter-Chain模式的插件体系。

  ③DruidDataSource高效可管理的数据库连接池。

  ④SQLParser

SQLParser

  二、Durid特性

  ①亚秒级查询:druid提供了快速的聚合能力以及亚秒级的OLAP查询能力,多租户的设计,是面向用户分析应用的理想方式

  ②实时数据注入:druid支持流数据的注入,并提供了数据的事件驱动,保证在实时和离线环境下事件的实效性和统一性

  ③可扩展的PB级存储:druid集群可以很方便的扩容到PB的数据量,每秒百万级别的数据注入。即便在加大数据规模的情况下,也能保证时其效性

  ④多环境部署:druid既可以运行在商业的硬件上,也可以运行在云上。它可以从多种数据系统中注入数据,包括hadoop,spark,kafka,storm和samza等

  ⑤丰富的社区:druid拥有丰富的社区,供大家学习

  三、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层的扩展插件。

  四、使用场景

  第一:适用于清洗好的记录实时录入,但不需要更新操作

  第二:支持宽表,不用join的方式(换句话说就是一张单表)

  第三:可以总结出基础的统计指标,可以用一个字段表示

  第四:对时区和时间维度(year、month、week、day、hour等)要求高的(甚至到分钟级别)

  第五:实时性很重要

  第六:对数据质量的敏感度不高

  第七:用于定位效果分析和策略决策参考

  小编结语:

  阿里巴巴是一个重度使用关系数据库的公司,我们在生产环境中大量的使用Druid,通过长期在极高负载的生产环境中实际使用、修改和完善,让Druid逐步发展成最好的数据库连接池。Druid在监控、可扩展性、稳定性和性能方面都有明显的优势。

  更多内容尽在课课家教育!

赞(20)
踩(0)
分享到:
上一篇:Druid入门须知
华为认证网络工程师 HCIE直播课视频教程