前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Druid SQL和Security在美团点评的实践

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

作者头像
王知无-import_bigdata
修改2019-10-28 17:54:24
9180
修改2019-10-28 17:54:24
举报
文章被收录于专栏:大数据成神之路

来源:美团点评高大月的分享

作者:大数据技术与架构整理

场景描述:虽长久以来,对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简介

  • 0.10新增的核心模块
  • 基于Calcite实现的SQL到JSON翻译层

简单、稳定、性能开销低

功能受限于JSON查询的能力

  • 支持 HTTP 和 JDBC 两种调用方式
  • 几乎能表达所有JSON查询能实现的逻辑

例如:嵌套GroupBy,union all,近似TopN

自动选择最适合的queryType

一个Druid SQL的例子:

美团对SQL的优化

DruidSchema性能优化

添加SQL的请求日志和监控指标

强制用户指定__time条件

Druid Security需求

背景

- Druid(0.10)所有API都没有访问控制,业务数据安全得不到保障

需求&目标

- 所有API都要经过认证

- 实现DB粒度的权限控制

- 所有数据访问都有审计日志

- 业务能平滑升级到安全集群

- 对代码的改动侵入性小

社区的权限认证架构

一般配置:

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

  • Web控制台对BA认证的支持较差
  • 未认证用户的权限不能修改 (0.13修复)
  • 权限管理只提供了low-level API,使用不方便
  • 缺少审计日志

改进措施:

  • 基于DB的访问控制
  • 自动管理权限DB
  • 支持SSO认证和非认证访问

总结

关于SQL

关于Security

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据技术与架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档