首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何设计OLAP系统来支持每小时(甚至更细粒度) API使用统计数据的仪表板

如何设计OLAP系统来支持每小时(甚至更细粒度) API使用统计数据的仪表板
EN

Stack Overflow用户
提问于 2020-06-20 19:35:12
回答 1查看 66关注 0票数 1

作为后台,我收集应用程序的API使用日志(请求、响应、延迟、userId等)。典型的一天会累积2-3亿条记录。这些数据目前以拼图格式存储在s3上,我使用AWS Athena进行即席查询。我想要构建一个基于web的仪表板,它将显示每个客户的指标;一个示例查询将是过去6小时内按客户的请求量。我只需要之前30天的详细使用数据。

理想情况下,我将继续利用AWS生态系统来实现此解决方案。我试图确定的是一个大致的方向。Redshift能否在1s左右的时间内,根据原始日志数据高效地计算出这些类型的查询,使其在web上可用?有没有更好的工具?或者,我是否应该考虑运行ETL和rollup类型的操作来生成这些指标,填充不同的表(可能是redshift),然后使用它为仪表板提供服务?

欢迎任何想法,甚至是建议阅读--谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-06-20 20:02:01

对于这类问题,你可以使用的方法有很多,我将尝试根据上面的问题详细介绍一些你可以使用的产品。

  • 可以对任何您能处理的东西进行预处理,而不是即时计算。总结您的每小时指标,例如,在一个键值存储中,而不是跨大量指标进行计算。您可以有效地将这些指标存储在retrieve.
  • Redshift中,并且DynamoDB可以根据您的模式定义(分布键、排序键)快速返回数据,但是,如果您正在编写单个事务,则写入效率将不会很高。您将希望在一段时间内执行此批量操作。它将需要解决作为一个近乎实时的solution.
  • Common仪表盘,需要大量的计算,但不需要是实时的(即每小时或每天的统计数据)可以生成并存储在S3中,因此它将是快速的,但不需要在每次user.
  • Athena用于查询数据湖时从数据库读取,如果你使用它来查询大部分接近实时的数据,它将不会那么有效地获得数据结果给你。也就是说,如果您使用Redshift,您可以使用Redshift Spectrum.

连接来自数据湖的查询

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62485282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档