Ⅰ 【超详细】Apache Durid从入门到安装详细教程
Apache Druid是一个集时间序列数据库、数据仓库和全文检索系统特点于一体的分析性数据平台。本文将带你简单了解Druid的特性,使用场景,技术特点和架构。
Apache Druid是一个高性能的实时分析型数据库。
Apache Druid的核心设计融合了OLAP/analytic databases,timeseries database,和search systems的理念,以创造一个适用广泛用例的统一系统。Druid将这三种系统的主要特性融合进其ingestion layer, storage format, querying layer, 和core architecture中。
Apache Druid适用于对实时数据提取,高性能查询和高可用要求较高的场景。Druid通常被作为一个具有丰富GUI的分析系统,或者作为一个需要快速聚合的高并发API的后台。Druid更擅长面向事件数据。
Apache Druid的使用场景包括:
用户活动和行为:Druid经常用于点击流,访问流,和活动流数据上。Druid可以用来做“漏斗分析”,去测量有多少用户做了某种操作,而没有做另一个操作。这在产品追踪用户注册十分有用。
网络流:Druid被用于管理以任意属性切分组合的流数据。Druid能快速对数十个属性组合和排序,有助于网络流分析。
数字营销:Druid常用于存储和查询在线广告数据。Druid在存储广告数据方面有大量的生产实践,支持PB级数据的存储。
应用性能管理:Druid用于追踪应用程序生成的可运营数据。Druid支持快速分析数以千计属性的应用事件,并计算复杂的性能指标。
物联网和设备指标:Druid可以作为时间序列数据库解决方案,用于存储处理服务器和设备的指标数据。
OLAP和商业智能:Druid经常用于商业智能场景。Druid为高并发和亚秒级查询而设计,适合做真实的可视化交互分析。
Apache Druid的特性如下:
列式存储:Druid单独存储并压缩每一列数据,支持快速scan,ranking和groupBy操作。
原生检索索引:Druid为string值创建倒排索引,以达到数据的快速搜索和过滤。
流式和批量数据摄入:Druid开箱即用的连接器支持Apache kafka,HDFS,AWS S3等原始数据源。
灵活的数据模式:Druid优雅地适应不断变化的数据模式和嵌套数据类型。
基于时间的优化分区:Druid基于时间对数据进行智能分区,以达到更快的基于时间的查询。
支持SQL语句:Druid支持基于JSON的查询,同时还能基于HTTP和JDBC提供SQL支持。
水平扩展能力:Druid支持百万/秒的数据摄入速率,海量数据存储,亚秒级查询。
易于运维:通过添加或移除Server进行扩容和缩容,Druid支持自动重平衡和失效转移。
Apache Druid的安装部署分为单机配置和使用Imply方式安装。
单机配置提供从Nano-Quickstart到超大型机器的配置参考。微小配置适合于4CPU/16GB RAM环境,而大型配置则需要考虑集群部署以实现容错和减少资源争用。
使用Imply方式安装时,需先安装Perl环境,关闭防火墙,然后安装JDK。下载并安装Imply后,通过本地存储、默认元数据存储derby,自带zookeeper启动,即可体验Druid。使用后,可通过日志查看Imply和Druid服务的启动状态,访问Imply的管理页面及Druid服务。
通过本文的介绍,您将对Apache Druid有更深入的理解,从其功能特性到实际部署,实现高效的数据分析和管理。