google-app-engine - 用于存储大量事件的 Google Bigtable 与 BigQuery

标签 google-app-engine google-bigquery bigtable google-cloud-bigtable

背景

我们希望将不可变事件存储在(最好)托管服务中。一个事件的平均大小小于 1 Kb,我们每秒有 1-5 个事件。存储这些事件的主要原因是一旦我们创建了可能对这些事件感兴趣的 future 服务,就能够重放它们(可能使用表扫描)。由于我们在谷歌云中,我们显然将谷歌的服务视为首选。

我怀疑Bigtable很适合这个,但根据 price calculator我们每月要花费超过 1400 美元(这对我们来说是一笔交易):

enter image description here

看着像 BigQuery 这样的东西呈现每月 3 美元的价格(如果我没有遗漏一些重要的东西):

enter image description here

即使无模式数据库更适合我们,我们也可以将我们的事件本质上存储为带有一些元数据的 blob。

问题

我们可以为此使用 BigQuery 而不是 Bigtable 来降低成本吗?例如 BigQuery 有一个叫做 streaming inserts 的东西这对我来说似乎是我们可以使用的东西。如果沿着这条路走下去,有什么我可能没有意识到的短期或长期问题吗?

最佳答案

Bigtable 非常适合大型 (>= 1TB) 可变数据集。它在负载下具有低延迟并由 Google 管理。对于您的情况,我认为您使用 BigQuery 的方向是正确的。

关于google-app-engine - 用于存储大量事件的 Google Bigtable 与 BigQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34437572/

相关文章:

google-app-engine - 如何在没有裸域的情况下仅将子域映射到 App Engine?

python - 防止在 GAE/memcache 上丢失更新/竞争条件的策略/模式

google-bigquery - 如何在 Big Query 中使用不忽略 Null 的 where 语句

google-cloud-platform - 为 Pubsub 到 Bigquery 流构建此 GCP 数据流示例时出错

database - 数据如何物理存储在 Bigtable 中

google-app-engine - google appengine和实际大表的区别

python路径问题? "python2.5: can' t 打开文件 'dev_appserver.py' : [Errno 2] No such file or directory"

python - Google Appengine 数据存储 - python

SQL - LAG 相当于使用 OVER 子句检索以前的值并存储在当前行中?

export - 从 Google Cloud Bigtable 导出数据时出错