Apache Druid
高性能实时分析数据库,专为快速查询和数据摄入设计。
智能下载
前往项目主页
该项目暂未提供安装包,请直接访问源代码仓库
专为实时分析打造的数据库,查询快、数据接入灵活。
核心功能
- 亚秒级查询延迟,适合实时仪表盘和即席分析
- 原生支持流式(Kafka等)和批量数据摄取
- 内置 Web 控制台,可管理集群、数据源和查询
- 提供 HTTP 和 JDBC API,兼容 SQL 查询
- 高并发、可水平扩展,适合大规模部署
避坑指南
- •不是事务型数据库,不支持 ACID 事务和复杂 JOIN(OLTP 场景不适用),集群部署配置复杂,需了解 Zookeeper、HDFS 或 S3 等依赖,内存消耗较高,建议根据数据量合理规划硬件资源
适用场景
- 实时业务监控与仪表盘
- 用户行为分析与点击流分析
- 物联网时序数据实时查询
- 嵌入式分析(如产品内报表)
详细介绍
Apache Druid 是一款高性能实时分析数据库,专为快速查询和数据摄入而设计。它非常适合用于用户界面支持、操作型(即席)查询以及高并发场景。Druid 同时支持流式和批量数据摄取,内置 Web 控制台方便管理,并提供 HTTP 和 JDBC 接口。广泛应用于实时仪表盘、嵌入式分析和 OLAP 工作负载。相比 ClickHouse 或 Snowflake 等同类工具,Druid 的实时流式摄入流水线更原生,管理界面更友好,特别适合需要低延迟洞察的场景。
常见问题与排障 (2)
故障排除在Apache Druid SQL中使用LIKE和UPPER()时,导致'Function[like] pattern argument must be a literal'错误的原因是什么?
这个错误的发生是因为Druid的SQL优化器(基于Apache Calcite)在查询规划时要求LIKE的模式参数必须是字符串字面量(常量)。当你对模式直接应用像UPPER()这样的函数时,优化器无法在编译时将其规约为字面量,从而导致该错误。一种解决方法是使用公共表表达式(CTE)或子查询预计算函数结果,强制在应用LIKE过滤器之前先计算函数结果。例如:WITH t AS (SELECT 'a string' AS col), t2 AS (SELECT col, UPPER(col) AS upper_col FROM t) SELECT * FROM t2 WHERE upper_col LIKE UPPER('a%')。另一种方法是,如果可能的话,将UPPER()调用移至外部,确保模式是字面常量。这是至少到Druid 30.0.0版本已知的限制,未来版本可能会修复。
故障排除为什么在使用多个副本时,Apache Druid任务会失败并出现“Attempting to publish with empty segment set”错误?
Druid(观察到v33.0.0版本)中存在一个已知的竞态条件,当副本数大于1时,冗余任务在段发布过程中产生冲突,导致此错误。唯一可靠的解决方法是任务副本数设置为1。这可以避免竞态,但可能导致工作节点关闭期间的摄入停机。底层bug仍未修复;请关注issue #18330以获取更新。
标签
快速上手
安装软件
双击下载的安装程序,按提示完成安装
步骤1:下载 Druid 发行包并解压
步骤2:运行 bin/start-druid 启动单机版(需要 Java 8 或 11)
步骤3:打开浏览器访问 http://localhost:8888 进入 Web 控制台
- 步骤1:下载 Druid 发行包并解压
- 步骤2:运行 bin/start-druid 启动单机版(需要 Java 8 或 11)
- 步骤3:打开浏览器访问 http://localhost:8888 进入 Web 控制台
暂未获取到校验码
该项目暂未在 GitHub Release 页面提供 SHA-256 校验码
SHA256 校验码
暂无校验码
建议从 GitHub Releases 页面直接下载,并自行核对文件完整性
本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。
开源透明
查看 GitHub 源码卸载说明
停止 Druid 进程,删除解压目录及相关数据目录(默认 var/ 文件夹)。如需彻底清理,可删除配置文件和环境变量设置。
无额外依赖
下载后即可直接使用,无需安装其他运行环境
遇到问题?查看下方 FAQ
2 FAQs