如何解决在 MongoDb 中存储 IOT 数据
我目前正在将 IOT 数据流式传输到在 Docker 容器(托管在 AWS 中)中运行的 MongoDB。我每天都会收到几千个数据点。
我将使用收集到的这些数据进行一些密集的数据分析和机器学习,这些分析和机器学习将每天运行。
那么大数据的存储方式是这样的吗?有哪些行业标准和最佳做法?
解决方法
这取决于很多因素,例如,一个人正在分析的数据类型、一个人拥有多少数据以及您需要它的速度。
- 对于用户行为分析等应用,关系数据库是最佳选择。
- 好吧,如果数据适合电子表格,那么它更适合 SQL 类型的数据库,例如 Postgres、BigQuery,因为关系数据库擅长按行和列分析数据。
- 对于半结构化数据,考虑需要大量文本挖掘或图像处理的社交媒体、文本或地理数据,NoSQL 类型数据库(如 MongoDB、CouchDB)效果最佳。
- 另一方面,在关系数据库中,可以使用 SQL 来查询它们。 SQL 作为一种语言在数据分析师和工程师中广为人知,而且比大多数编程语言更容易学习。
业界常用的存储大数据的数据库有:
- 关系数据库管理系统:作为数据引擎存储,该平台采用B-Tree结构。 B-Tree概念用于组织索引和数据,对数时间用于写入和读取数据。
- MongoDB:如果您需要反规范化,可以使用此平台 表。如果您想求助于在单个文档中包含所有相关嵌套结构的文档以保持一致性,这是合适的。
- Cassandra:这个数据库平台非常适合前期查询和快速写入。但是,查询性能稍差,这使其成为时间序列数据的理想选择。卡桑德拉使用 存储引擎中的长结构合并树格式。
- Apache HBase:这个数据管理平台与 Cassandra 的格式。 HBase 还具有与 Cassandra 相同的性能指标。
- OpenTSDB:该平台非常适合在几秒钟内收集数千条信息的物联网用户案例。仪表板需要收集的问题。
希望有帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。