博客
关于我
什么是Druid
阅读量:458 次
发布时间:2019-03-06

本文共 1533 字,大约阅读时间需要 5 分钟。

Druid是什么

Druid(德鲁伊)是一种开源的分布式支持实时数据分析的数据存储系统,由MetaMarkets于2011年创建,2012年开源。它专为在线媒体公司提供实时数据服务,解决传统数据库在大数据量查询性能方面的不足。

Druid最初由MetaMarkets开发,后由Apache孵化,目前托管于GitHub,已获得Apache License 2.0授权。与阿里开源的Druid数据库不同,本文提到的Druid是Apache Druid。

Druid特性与基本概念

Druid旨在解决传统数据库无法处理的大数据量查询性能问题。其核心功能包括快速的数据聚合与OLAP查询,支持多租户架构,适合用户分析应用。

Druid特性

  • 快速查询:Druid支持快速聚合和OLAP查询,数据聚合粒度可设置为1分钟、5分钟、1小时或1天等。内存化数据存储显著提升查询速度。

  • 实时数据注入:支持流数据注入,提供事件驱动架构,确保实时与离线环境下的数据一致性和实效性。历史数据不变,实时数据实时接入。

  • 可扩展的PB级存储:集群架构可轻松扩展至PB级别,每秒百万级别数据注入。即使数据规模扩大,仍能保证查询效率。Druid按时间范围分区处理聚合数据。

  • 多环境部署:适用于商业硬件、云环境及多种数据系统(如Hadoop、Spark、Kafka、Storm、Samza等)注入数据。

  • 丰富的社区支持:拥有活跃的开发者社区,便于学习与交流。

  • Druid与其他OLAP方案对比

    Druid在性能、扩展性和实时性方面优于传统OLAP方案。其优势体现在以下几个方面:

    • 高性能:支持亚秒级查询,处理大规模数据。
    • 灵活性:支持多种数据源与存储方式。
    • 可扩展性:集群架构可根据需求自动扩展。

    使用场景

    Druid适用于以下场景:

    • 查询多修改少:适合对数据进行聚合或分组操作的场景。
    • 快速查询:对查询速度有较高要求的场景。
    • 离线与实时数据源:需要同时支持离线与实时数据源的场景。

    Druid在实时计算中表现尤为突出,常用于实时报表、实时大屏等场景。

    基本概念

    Druid的数据模型基于时间、维度和指标三大核心概念。

    1. 数据格式

    • 时间列(TimeStamp):用于定义时间范围,Druid会将相近时间数据聚合在一起。
    • 维度列(Dimension):作为统计维度,用于标识数据类别。
    • 指标列(Metric):用于存储可聚合数据,如计数、求和等。

    2. 数据摄入

    Druid支持实时与批量数据摄入,适用于流数据与静态数据源。

    3. 数据查询

    Druid支持两种查询方式:

    • 原生查询:通过JSON格式发送HTTP请求。
    • SQL查询:支持类似SQL语句的查询,适合熟悉数据库查询方式的用户。

    Druid应用场景

    Druid广泛应用于多个领域:

    • 点击流分析:网络和移动应用的用户行为分析。
    • 风险/欺诈分析:识别异常行为模式。
    • 网络遥测分析:监控网络性能指标。
    • 服务器指标存储:存储服务器运行状态数据。
    • 供应链分析:制造企业的生产指标追踪。
    • 应用程序性能监控:监控应用运行状态。
    • 商业智能/OLAP:提供数据分析支持。

    用户行为分析

    Druid用于点击流、视图流及活动流分析,能够准确或近似计算用户指标,帮助运营部门识别用户趋势。

    数字营销

    Druid用于存储和查询在线广告数据,分析广告系列效果,包括点击率、转化率等关键指标。

    OLAP和BI

    Druid结合BI功能,适用于高并发与亚秒级查询的场景,可通过交互式UI进行数据探索。

    总结

    在实时计算日益普及的今天,Druid凭借其高性能和OLAP优势,在实时BI、大屏展示等领域展现出独特优势。静下心来,持续提升自己,Druid将继续在数据分析领域发光发热!

    转载地址:http://mvrfz.baihongyu.com/

    你可能感兴趣的文章
    Parallel.ForEach的基础使用
    查看>>
    parallels desktop for mac安装虚拟机 之parallelsdesktop密钥 以及 parallels desktop安装win10的办公推荐可以提高办公效率...
    查看>>
    parallelStream导致LinkedList遍历时空指针的问题
    查看>>
    Parameter ‘password‘ not found. Available parameters are [md5String, param1, username, param2]
    查看>>
    ParameterizedThreadStart task
    查看>>
    Paramiko exec_命令的实时输出
    查看>>
    Spring security之管理session
    查看>>
    paramiko模块
    查看>>
    param[:]=param-lr*param.grad/batch_size的理解
    查看>>
    spring mvc excludePathPatterns失效 如何解决spring拦截器失效 excludePathPatterns忽略失效 拦截器失效 spring免验证拦截器不起作用
    查看>>
    Spring Cloud 之注册中心 EurekaServerAutoConfiguration源码分析
    查看>>
    Parrot OS 6.2 重磅发布!推出全新 Docker 容器启动器
    查看>>
    Parrot OS 6.3 发布!全面提升安全性,新增先进工具,带来更高性能
    查看>>
    ParseChat应用源码ios版
    查看>>
    Part 2异常和错误
    查看>>
    Pascal Script
    查看>>
    Spring Boot集成Redis实现keyspace监听 | Spring Cloud 34
    查看>>
    Spring Boot中的自定义事件详解与实战
    查看>>
    Passport 密码模式
    查看>>
    Spring Boot(七十六):集成Redisson实现布隆过滤器(Bloom Filter)
    查看>>