"该资源是关于美团点评在实际运营中使用Druid SQL和Security的实践经验分享,内容包括Druid在美团的应用现状、面临的问题、SQL的引入与改进以及安全性方面的实践经验。"
在美团点评,Druid作为一个重要的数据分析系统,扮演着关键的角色。当前,Druid在美团有两个集群,涉及70多个数据节点,使用的是0.12版本,主要通过Tranquility进行数据摄入。整个系统拥有500多张表,存储容量达到100TB,其中最大的表每天处理的消息量高达百亿级别。系统的日查询量达到1700万次,且超过80%的查询在TP99响应时间内低于1秒。Druid不仅服务于外卖业务,还覆盖了酒店、旅游、金融和广告等多个主要业务线。
然而,随着Druid在美团的广泛应用,也面临着一些挑战。易用性是首要问题,新用户需要花费较长时间才能熟练运用Druid满足业务需求,同时在遇到问题时,用户自行定位和解决的难度较大。安全性问题同样突出,作为公司的重要资产,如何确保业务数据的安全成为了亟待解决的问题。此外,系统的稳定性也受到考验,尤其是在多租户环境下,如何快速有效地定位并解决不熟悉的业务逻辑问题,以及提供可靠的SLA承诺。
为了解决这些问题,美团点评引入了Druid SQL,它是在0.10版本中新增的核心模块,基于Calcite实现了SQL到JSON的翻译层,提供了简单、稳定且性能开销低的查询能力。尽管功能受到JSON查询能力的限制,但支持HTTP和JDBC两种调用方式,几乎可以表达所有JSON查询能够实现的逻辑,包括嵌套GroupBy、unionall以及近似TopN等复杂操作。SQL查询的优化过程包括Parser、Sql2RelConverter、Optimizer和QueryExecution等步骤,通过一系列规则集和查询执行来完成对SQL的处理。
Druid Security方面,美团点评可能采取了访问控制、审计日志、数据加密等措施,以确保只有授权用户可以访问特定数据,并对所有的查询和操作进行跟踪,防止未经授权的数据访问和篡改。同时,通过监控和报警系统,确保在出现问题时能够及时发现并采取相应措施,以维护系统的稳定性。
美团点评在Druid的实践中不断优化和扩展其功能,尤其是在SQL支持和安全性方面,以提升用户体验和数据安全性,同时也致力于提高系统的稳定性和服务等级承诺。这些实践为其他企业提供了有价值的参考,展示了大数据分析平台在实际业务场景中的应用与挑战。