我正在构建一个IoT设备,该设备将每秒产生200Kb的数据,并且需要将此数据保存到存储中。我目前大约有500台设备,我试图找出什么是存储数据的最佳方法?而为此目的最好的数据库?过去,我已经将数据存储到GCP的BigQuery并通过使用计算引擎实例组来完成处理,但是数据的大小要小得多。
根据您问题中的有限信息,这是我的最佳答案。
第一步是记录/描述您正在处理的数据类型。它是结构化数据(SQL)还是非结构化(NoSQL)?您需要进行哪种类型的查询?您需要存储数据多长时间,以及预期的总数据大小是多少?这将确定执行查询处理和分析的后端的选择。
接下来,您需要查看传输数据的速率。在200 Kbits(或200 KBytes)乘以500个设备时,这就是每秒100 Mbits(或800 MBits)。数据的价值如何?数据丢失的设计容忍度如何?每个设备(蜂窝,无线等)的数据传输速率和连接可靠性如何?
要将数据推送到云中,我将使用Pub / Sub。然后处理数据以进行合并,合并,压缩,清除等操作,然后推送到Google Cloud Storage或BigQuery(但其他选项可能更好,例如Cloud SQL或Cloud Datastore / BigTable)。中间处理器的答案取决于前面的问题,但是您将需要一些能力来处理该数据流速率。选项可能是运行Spark的Google Cloud Dataproc或Google Cloud Dataflow。
这种类型的设计要考虑很多因素。我的回答引起了很多问题,希望这将帮助您设计一个合适的解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句