背景
我们希望将不可变事件存储在(最好)托管服务中。一个事件的平均大小小于 1 Kb,我们每秒有 1-5 个事件。存储这些事件的主要原因是一旦我们创建了可能对这些事件感兴趣的 future 服务,就能够重放它们(可能使用表扫描)。由于我们在谷歌云中,我们显然将谷歌的服务视为首选。
我怀疑Bigtable很适合这个,但根据 price calculator我们每月要花费超过 1400 美元(这对我们来说是一笔大交易):
看着像 BigQuery 这样的东西呈现每月 3 美元的价格(如果我没有遗漏一些重要的东西):
即使无模式数据库更适合我们,我们也可以将我们的事件本质上存储为带有一些元数据的 blob。
问题
我们可以为此使用 BigQuery 而不是 Bigtable 来降低成本吗?例如 BigQuery 有一个叫做 streaming inserts 的东西这对我来说似乎是我们可以使用的东西。如果沿着这条路走下去,有什么我可能没有意识到的短期或长期问题吗?
最佳答案
Bigtable 非常适合大型 (>= 1TB) 可变数据集。它在负载下具有低延迟并由 Google 管理。对于您的情况,我认为您使用 BigQuery 的方向是正确的。
关于google-app-engine - 用于存储大量事件的 Google Bigtable 与 BigQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34437572/