来源:美团点评高大月的分享
作者:大数据技术与架构整理
场景描述:虽长久以来,对SQL和权限的支持一直是Druid的软肋。虽然社区早在0.9和0.12版本就分别添加了对SQL和Security的支持,但根据我们了解,考虑到功能的成熟度和稳定性,真正把SQL和Security用起来的用户是比较少的。
关键词:Durid 实践
本文是来自美团点评高大月的分享,大数据技术与架构做了整理和补充。
本次分享主要讲述了社区SQL和Security方案的原理,以及美团点评在落地这两个功能的过程中所遇到的问题、做出的改进、和最终取得的效果。
Druid 是一个分布式的支持实时分析的数据存储系统(Data Store)。美国广告技术公司MetaMarkets 于2011 年创建了Druid 项目,并且于2012年晚期开源了Druid 项目。Druid 设计之初的想法就是为分析而生,它在处理数据的规模、数据处理的实时性方面,比传统的OLAP 系统有了显著的性能改进,而且拥抱主流的开源生态,包括Hadoop 等。多年以来,Druid 一直是非常活跃的开源项目。
Durid在美团的现状和挑战
现状:
挑战:
易用性
安全性
稳定性
Druid SQL的应用和改进
我们来看一段正常的Druid SQL怎么写:
现在我们可以这样写:
Druid SQL简介
简单、稳定、性能开销低
功能受限于JSON查询的能力
例如:嵌套GroupBy,union all,近似TopN
自动选择最适合的queryType
一个Druid SQL的例子:
美团对SQL的优化
DruidSchema性能优化
添加SQL的请求日志和监控指标
强制用户指定__time条件
Druid Security需求
背景
- Druid(0.10)所有API都没有访问控制,业务数据安全得不到保障
需求&目标
- 所有API都要经过认证
- 实现DB粒度的权限控制
- 所有数据访问都有审计日志
- 业务能平滑升级到安全集群
- 对代码的改动侵入性小
社区的权限认证架构
一般配置:
社区方案的不足之处包括:
改进措施:
总结
关于SQL
关于Security