ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2021-06-11 18:54:25  阅读:148  来源: 互联网

标签:美团 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怎么写:

640?wx_fmt=png 现在我们可以这样写:
640?wx_fmt=png
Druid SQL简介
  • 0.10新增的核心模块 

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

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

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

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

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

640?wx_fmt=png


美团对SQL的优化

DruidSchema性能优化 640?wx_fmt=png 640?wx_fmt=png
添加SQL的请求日志和监控指标 640?wx_fmt=png 640?wx_fmt=png 强制用户指定__time条件 640?wx_fmt=png
 

Druid Security需求

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

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

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

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

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

  • 缺少审计日志


改进措施:

  • 基于DB的访问控制

  • 自动管理权限DB

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

640?wx_fmt=png 640?wx_fmt=png 640?wx_fmt=png
 

总结

关于SQL

640?wx_fmt=png 关于Security
640?wx_fmt=png

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

640?wx_fmt=jpeg640?wx_fmt=jpeg

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

标签:美团,Druid,认证,SQL,Security,数据
来源: https://blog.51cto.com/u_9928699/2897077

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有