360公司Druid实践与优化探索

需积分: 34 23 下载量 58 浏览量 更新于2024-09-09 收藏 777KB PDF 举报
"本文主要介绍了360公司内部对Druid数据存储和查询引擎的实践与优化过程,包括Druid在360的应用情况、功能优化的实现以及未来的规划。" 在360公司,Druid被广泛应用于大数据处理,其实践主要体现在以下几个方面: 1. **Druid的实践**: - 使用的Druid版本基于0.10.0进行了bug修复和功能增强。 - 集群规模:360设有两个Druid集群,分别由20台和10台服务器组成,每台服务器配置有256GB内存、24核CPU和1.2TB的Flask卡存储,网络环境为千兆普通网络。 - 业务量:管理着60个不同的数据源,每天平均导入10亿条原始数据。查询性能表现出色,95%的查询在3秒内完成,平均查询时间仅为1.4秒。 2. **功能优化**: - **Virtualdatasource**:这是为了满足多维度查询需求而引入的概念,它允许组合不同的数据维度,如time, item, location, supplier等,创建出41个维度的查询组合。衍生树(derivetree)被用来组织这些虚拟数据源,提供统一的查询接口。最初的设计,即NaïveVirtualdatasource,将衍生树作为一个整体对外提供服务,其schema与基础数据源保持一致,用户对这个逻辑上的数据源是透明的。 - **ImprovedVirtualdatasource**:针对NaïveVirtualdatasource存在的问题,如构建衍生数据源时的效率低下和资源消耗过大,进行了改进。这可能涉及到更高效的维度组合策略、查询优化和内存管理等方面,以提高查询性能和降低资源消耗。 3. **未来计划**: - 360计划将Druid与Flink集成,实现Druid实时处理能力的提升,即Druidrealtimeonflink项目,这将使得Druid能够更好地支持实时数据分析和流处理场景,进一步提升系统的响应速度和灵活性。 总结来说,360在Druid的实践中不断进行优化,以满足大规模数据处理和复杂查询需求,同时关注系统性能和资源利用率。通过虚拟数据源的功能,提高了多维度查询的便捷性和效率,并且对未来的技术方向有明确的规划,如实时处理能力的增强。这些实践经验对于其他大型企业处理海量数据和提供高效查询服务具有重要的参考价值。