首页 > 解决方案 > 如何在不到一秒的时间内从 bigquery 表中获取单个行?

问题描述

我在 bigquery 中有一个聚合数据表,它有数百万行。这张桌子每天都在增长。

我需要一种以毫秒为单位从该聚合表中获取 1 行的方法,以便在实时事件中附加数据。

解决这个问题的最佳方法是什么?

标签: pythonjenkinsgoogle-bigqueryreal-timedata-dump

解决方案


BigQuery 不是为了在毫秒内做出响应而构建的,因此您需要其他解决方案。使用 BigQuery 进行大型聚合计算是完全可以的。但是你永远不应该直接从响应时间是毫秒问题的 BQ 提供服务。

另请注意,如果这是一个 Web 应用程序,例如,页面的多次重新加载可能会花费您很多钱......因为您为每个查询付费。

有许多架构解决方案可以解决此类问题,但是如果没有任何项目上下文和目标,很难判断您应该使用什么。

对于实时数据,我们经常使用 PubSub 来连接两者之间的某个地方,但如果(近)实时需求是一个聚合体,这可能是一个问题。

您还可以通过将聚合数据导出到子组件来使用物化视图概念。例如云存储 -> pubsub 或 SQL 实例/内存存储.. 或任何其他类型的微服务。


推荐阅读