Google cloud platform 如何最好地缓存bigquery表以快速查找单个行?
我在bigquery中有一个原始数据表,它有数亿行。我每24小时运行一次定时查询,以生成一些聚合,这些聚合将生成一个3300万行(6gb)的表,但可能会缓慢增长到当前大小的两倍左右 我需要一种在单独的事件驱动管道中通过id快速访问该聚合表的方法,一次获取1行。i、 e.流程被通知某人A刚刚采取了一项行动,我们从聚合表中了解此人的历史记录吗 显然,bigquery是生成聚合表的正确工具,但不是快速查找的正确工具。所以我需要将它偏移到一个辅助数据存储,比如firestore。但这样做的最佳过程是什么 我可以设想两种策略: 1) 计划将agg表转储到地面军事系统。启动数据流作业,将gcs转储的内容流式传输到pubsub。创建一个无服务器函数来侦听pubsub主题并将行插入firestore 2) 计算引擎上的一个长时间运行的脚本,它直接从BQ流式传输表并运行INSERT。(似乎比策略1慢) 3) 计划将agg表转储到地面军事系统。设置格式,使其可以通过Google cloud platform 如何最好地缓存bigquery表以快速查找单个行?,google-cloud-platform,google-cloud-firestore,google-bigquery,google-cloud-dataflow,Google Cloud Platform,Google Cloud Firestore,Google Bigquery,Google Cloud Dataflow,我在bigquery中有一个原始数据表,它有数亿行。我每24小时运行一次定时查询,以生成一些聚合,这些聚合将生成一个3300万行(6gb)的表,但可能会缓慢增长到当前大小的两倍左右 我需要一种在单独的事件驱动管道中通过id快速访问该聚合表的方法,一次获取1行。i、 e.流程被通知某人A刚刚采取了一项行动,我们从聚合表中了解此人的历史记录吗 显然,bigquery是生成聚合表的正确工具,但不是快速查找的正确工具。所以我需要将它偏移到一个辅助数据存储,比如firestore。但这样做的最佳过程是什么
gcloud beta firestore导入gs://[BUCKET\u NAME]/[EXPORT\u PREFIX]/
4) 可能是某种直接对bigquery表执行查找的数据流作业?以前没有使用过这种方法。不知道成本/性能有多高
5) 我没有考虑过的其他选择
理想的解决方案是允许我在毫秒内快速访问agg行,这将允许我将数据附加到实时事件中
在我应该采用的策略中,是否有一个明显的最佳赢家?记住,您也可以通过id对表进行集群—使您的查找查询更快、数据消耗更少。不过,它们仍然需要一秒钟以上的时间才能运行