用于实时通话记录数据的 Google BigQuery
Posted
技术标签:
【中文标题】用于实时通话记录数据的 Google BigQuery【英文标题】:Google BigQuery for realtime call records data 【发布时间】:2017-01-13 12:23:46 【问题描述】:我正在考虑使用 Google Big Query 来存储实时通话记录,每天插入大约 300 万行但从未更新过。
我已经注册了一个试用帐户并进行了一些测试
在继续开发之前我没有什么顾虑
当通过 php 流式传输数据时,大约需要 10-20 分钟才能加载到我的表上,这对我们来说是一个阻碍,因为网络支持工程师需要实时更新这些数据来解决质量问题
分区,我们可以将数据存储在每天划分的分区中,但这也涉及到一个分区在任何一天都是 2.5 GB,这会降低我每月查询数千个数据的成本。有没有其他方法可以降低这里的成本?我们可以存储每小时分区的数据,但没有这样的支持。
如果不是 BigQuery,市场上还有哪些其他解决方案可以提供类似的性能并解决这些问题?
【问题讨论】:
您确定您的成本预测是正确的吗?通常一个月内的thousands
意味着您处理200TB 到2000TB 之间?您真的在这些数字之间进行了预测吗?
就好像我每天计算 2.5GB 一样,一年内你只能达到 1TB,而不是接近 2PB 的上限,仅查询 10k 账单。
您是只运行了一个 count() 查询还是查询本身没有显示数据? (第一次可能发生,因为计数仅在数据进入长期存储后才更新)
@user2682204 我也对计费计算持怀疑态度。您是否尝试过与Cloud salespeople 交谈?他们可以帮助了解成本、能力等。
嗨 Platinum10 和 Elliott。我们每天获得大约 300 万条通话记录,支持工程师和质量团队不断生成通话质量数据报告,以了解通话的连接情况。这增加了它在一天中每小时扫描的数据,并且在一天结束时,我们正在查看大约 3 GB 的表,每个查询成本大约为 100 MB,并且有 10 个用户生成报告,我每天需要扫描大约 20 TB 的数据.由于记录每秒更新一次,因此不使用缓存
【参考方案1】:
您有“流式插入”选项,可以在几秒钟内搜索记录(它有它的价格)。 见:streaming-data-into-bigquery
检查table-decorators 以限制查询扫描。
【讨论】:
以上是关于用于实时通话记录数据的 Google BigQuery的主要内容,如果未能解决你的问题,请参考以下文章
iOS - 带有 WebRTC 的 XMPP 用于实时视频通话或聊天
如何将 Spark-BigQuery_connector 用于现有的 spark 环境(不使用 google dataproc)