【发布时间】:2022-05-05 00:01:34
【问题描述】:
目前我正在使用 Apache Druid Warehouse 存储近 3 亿行,大小为 44GB。我们正在开发一个使用 Gunicorn 和 Celery 在 Druid 中开发 SQL 查询的 Flask API。它存在一个 React 应用程序,它生成对 Flask API 的多个请求,然后在正确的 SQL 查询中向 Druid 请求数据。我们的问题是德鲁伊响应持续了很长时间。即当我们向德鲁伊发送接近 50 个请求时,可能需要接近 1.3 分钟才能返回最后一个响应。我们在前端和 API 优化方面做了很多工作,但是,我们怀疑问题出在 Druid 数据源中。
我们的 Druid 数据源具有以下功能:
- 总数据大小 44.01 GB
- 段大小(行)最小:1,平均:0.151M,最大:0.637M
- 段粒度:天
- 总行数:295.465.723
- 平均行数:148
- 复制大小:44.01 GB
- 压缩:未启用。
然后我们对数据源运行查询,我们发现行数最多的段有 636688 行,字节大小为 80859007。
我认为我们需要在我们的数据源中进行压缩操作,目的是增加每个段的行数,这是根据 Druid 文档中关于段的建议。在再次摄取我们的数据源之前,我想知道段的压缩是否会提高查询性能?或者我们需要对这个问题采取另一种方法。
非常感谢
标签: druid