database - 以高频率将大量物联网数据存储到云端

标签 database google-cloud-platform bigdata iot

我正在构建一个每秒将产生 200Kb 数据的物联网设备,我需要将这些数据保存到存储器中。我目前有大约 500 台设备,我想弄清楚存储数据的最佳方式是什么?为此目的最好的数据库是什么?以前我把数据存到GCP的BigQuery上,用计算引擎实例组做处理,但是数据量要小很多。

最佳答案

根据您问题中的有限信息,这是我的最佳答案。

第一步是记录/描述您正在处理的数据类型。它是结构化数据 (SQL) 还是非结构化数据 (NoSQL)?您需要进行什么类型的查询?您需要存储数据多长时间以及预期的总数据大小是多少。这将决定执行查询处理和分析的后端的选择。

接下来您需要查看传输数据的速率。在 200 Kbits(或 200 KBytes)乘以 500 个设备时,这是每秒 100 Mbits(或 800 MBits)。数据有多有值(value),您的设计对数据丢失的容忍度如何?每个设备(蜂窝、无线等)的数据传输速率和连接可靠性是多少?

要将数据推送到云端,我会使用 Pub/Sub。然后处理数据以进行合并、组合、压缩、清除等,并推送到 Google Cloud Storage 或 BigQuery(但其他选项可能更好,例如 Cloud SQL 或 Cloud Datastore/BigTable)。中间处理器的答案取决于前面的问题,但您将需要一些能力来处理该速率的数据流。选项可能是运行 Spark 的 Google Cloud Dataproc 或 Google Cloud Dataflow。

此类设计需要考虑很多因素。我的回答引发了一堆问题,希望这能帮助您构建合适的解决方案。

关于database - 以高频率将大量物联网数据存储到云端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52920359/

相关文章:

java - 无需 ODBC 驱动程序即可读取 MS Access 数据库

database - 具有 2 个字段但一次只能使用一个字段的表

php - 为 Google Compute Engine 托管的 Wordpress 激活邮件的最佳方式?

git - 将文件从 git 传输到谷歌云存储桶

python - 如何在 python 中打开格式为 [[skill1, skill, skill3, ...], [skill 1, skill 4, skill 6, ...], ...] 的大文本文件

mysql - 如何设计 Multi-Tenancy mysql数据库

php - 似乎无法通过 id 编辑/修改我的 php 表

google-cloud-platform - Terraform:如何在 google_container_cluster 资源之后创建 named_port?

matlab - 根据标题读取 ASCII 文件 Matlab

database - 我应该使用什么数据库来存储大量潜在的大型嵌套哈希结构?