Druid基础介绍

1.Druid介绍

Druid(“德鲁伊”)是由广告公司MetaMarkets开源的实时大数据分析引擎,主要用于大规模事件流数据(Event Stream Data)的存储和分析。
Druid的设计之初就是支持PB级别数据量。Druid之所以能够保持高效,主要有以下个原因:

  • 预汇总,在数据摄入过程中对数据进行了轻度聚合汇总。
  • 数据结构优化,采用了列式存储和位图索引。
  • 高可用架构,系统无单点,支持滚动升级和在线扩展。
  • 高可扩展,可扩展至处理万亿数据、PB数据和1000+QPS。

2.下载地址

地址

3.使用介绍

3.1druid.properties内容

driverClassName=com.mysql.cj.jdbc.Driver
# 数据库地址和数据库名
url=jdbc:mysql://localhost:3306/TrainTicketSystem?&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
# username/password   webteach
username=root
password=root
initialSize=5
maxActive=10
maxWait=3000
filters=stat
timeBetweenEvictionRunsMillis=60000
minEvictableIdleTimeMillis=300000
validationQuery=SELECT 1
testWhileIdle=true
testOnBorrow=false
testOnReturn=false
poolPreparedStatements=false
maxPoolPreparedStatementPerConnectionSize=200

3.2加载配置获得连接池对象

public class PropertiesUtil {

    private static DataSource ds;

    static {
        //1.加载配置文件
        Properties pro = new Properties();
        //使用getClassLoader()加载配置文件,获取字节输出流
        InputStream input = PropertiesUtil.class.getClassLoader().getResourceAsStream("druid.properties");
        try {
            pro.load(input);//input字节输入流
        } catch (IOException e) {
            e.printStackTrace();
        }

        //2.初始化连接池对象
        try {
            ds = DruidDataSourceFactory.createDataSource(pro);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    //获取连接池对象
    public static DataSource getDataSource(){
        return ds;
    }

    //获取connection对象
    public static Connection getConnection() throws SQLException {
        return ds.getConnection();
    }
}

你可能感兴趣的:(数据库学习)