Druid SQL和Security在美团点评的实践

来源:美团点评高大月的分享 作者:大数据技术与架构整理

点击右侧关注,大数据开发领域最强公众号!

点击右侧关注,暴走大数据!


By  大数据技术与架构

场景描述:虽长久以来,对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在美团的现状和挑战


现状:

  • 2个集群,70多个数据节点(物理机) 

  • 0.12版本,数据摄入主要采用Tranquility 

  • 500多张表,100TB存储,最大的表日摄入消息量在百亿级别 

  • 日查询量1700万次,TP99响应低于1秒的表占到80% 

  • 支撑外卖、酒店、旅游、金融、广告等主要业务线


挑战:

易用性 

  • 新用户花多长时间能用Druid实现他的业务需求?

  • 遇到问题后用户能不能自己定位和解决问题?

     

安全性 

  • 数据是业务最重要的资产之一,如何保障业务的数据安全?

稳定性 

  • 面对不熟悉的业务逻辑,如何在一个多租户环境中定位和解决问题?

  • 能给业务提供什么样的SLA承诺?


 

Druid SQL的应用和改进 

我们来看一段正常的Druid SQL怎么写:

Druid SQL和Security在美团点评的实践 现在我们可以这样写:
Druid SQL和Security在美团点评的实践
Druid SQL简介
  • 0.10新增的核心模块 

  • 基于Calcite实现的SQL到JSON翻译层 

    简单、稳定、性能开销低      功能受限于JSON查询的能力 

  • 支持 HTTP 和 JDBC 两种调用方式 

  • 几乎能表达所有JSON查询能实现的逻辑 

    例如:嵌套GroupBy,union all,近似TopN     自动选择最适合的queryType
一个Druid SQL的例子:

Druid SQL和Security在美团点评的实践


美团对SQL的优化

DruidSchema性能优化 Druid SQL和Security在美团点评的实践Druid SQL和Security在美团点评的实践
添加SQL的请求日志和监控指标 Druid SQL和Security在美团点评的实践Druid SQL和Security在美团点评的实践强制用户指定__time条件 Druid SQL和Security在美团点评的实践
 

Druid Security需求

背景  - Druid(0.10)所有API都没有访问控制,业务数据安全得不到保障  需求&目标  - 所有API都要经过认证  - 实现DB粒度的权限控制  - 所有数据访问都有审计日志  - 业务能平滑升级到安全集群  - 对代码的改动侵入性小
社区的权限认证架构
Druid SQL和Security在美团点评的实践 一般配置: Druid SQL和Security在美团点评的实践

社区方案的不足之处包括:

  • Web控制台对BA认证的支持较差 

  • 未认证用户的权限不能修改 (0.13修复) 

  • 权限管理只提供了low-level API,使用不方便 

  • 缺少审计日志


改进措施:

  • 基于DB的访问控制

  • 自动管理权限DB

  • 支持SSO认证和非认证访问

Druid SQL和Security在美团点评的实践Druid SQL和Security在美团点评的实践Druid SQL和Security在美团点评的实践
 

总结

关于SQL

Druid SQL和Security在美团点评的实践关于Security
Druid SQL和Security在美团点评的实践

欢迎点赞+收藏+转发朋友圈素质三连

Druid SQL和Security在美团点评的实践Druid SQL和Security在美团点评的实践

文章不错?点个【在看】吧! ?

上一篇:SpringBoot配置Druid数据库连接池


下一篇:druid和hikariCP 数据库连接池