前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我应该在什么时候使用 Apache Druid

我应该在什么时候使用 Apache Druid

原创
作者头像
HoneyMoose
修改2021-07-24 10:05:23
6020
修改2021-07-24 10:05:23
举报
文章被收录于专栏:CWIKIUSCWIKIUS

许多公司都已经将 Druid 应用于多种不同的应用场景。请访问?使用 Apache Druid 的公司?页面来了解都有哪些公司使用了 Druid。

druid_architecture_diagram
druid_architecture_diagram

如果您的使用场景符合下面的一些特性,那么Druid 将会是一个非常不错的选择:

  • 数据的插入频率非常高,但是更新频率非常低。
  • 大部分的查询为聚合查询(aggregation)和报表查询(reporting queries),例如我们常使用的 “group by” 查询。同时还有一些检索和扫描查询。
  • 查询的延迟被限制在 100ms 到 几秒钟之间。
  • 你的数据具有时间组件(属性)。针对时间相关的属性,Druid 进行特殊的设计和优化。
  • 你可能具有多个数据表,但是查询通常只针对一个大型的分布数据表,但是,查询又可能需要查询多个较小的?lookup?表。
  • 如果你的数据中具有高基数(high cardinality)数据字段,例如 URLs、用户 IDs,但是你需要对这些字段进行快速计数和排序。
  • 你需要从 Kafka,HDFS,文本文件,或者对象存储(例如,AWS S3)中载入数据。

如果你的使用场景是下面的一些情况的话,Druid?不是一个较好的选择:

  • 针对一个已经存在的记录,使用主键(primary key)进行低延迟的更新操作。Druid 支持流式插入(streaming inserts)数据,但是并不很好的支持流式更新(streaming updates)数据。 Druid 的更新操作是通过后台批处理完成的。
  • 你的系统类似的是一个离线的报表系统,查询的延迟不是系统设计的重要考虑。
  • 使用场景中需要对表(Fact Table)进行连接查询,并且针对这个查询你可以介绍比较高的延迟来等待查询的完成。

https://www.ossez.com/t/apache-druid/13604

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com