Druid是什么 ?
Apache Druid是一个实时分析数据库,为时间驱动的数据分析而生,广泛应用于OLAP。此Druid,非阿里的那个数据连接池druid。
Druid核心架构整合了数据仓库、时序数据库、日志搜索系统的思想。主要有以下特点:
- 列式存储
- 可扩展分布式系统
- 并行处理
- 实时或离线摄入数据
- 自容错、自平衡、容易操作
- 云化、容错架构不丢失数据
- 基于时间的分区
- 快速过滤的索引
- 应用很多近似算法
- 摄入数据时即时预聚合
什么情况下考虑使用Druid ?
Druid适用的情况:
- 插入远大于修改
- 大量的group by查询或搜索、扫描查询
- 查询延迟100ms ~ 几秒
- 数据基于时序的
Druid不适用的情况:
- 不支持对现有数据低延迟的修改
- 一般不作为离线报表系统,尽管查询延迟没那么重要
- 不支持大表连接
常用案例
- B端/移动端用户行为分析
- 网络吸能监控分析
- 服务器性能指标存储
- 供应链生产指标分析
- 应用程序性能指标分析
- 市场/广告数字分析
- BI / OLAP