哪个后端数据库适合IoT实施


15

我必须为我的客户提供物联网服务。MQTT,Kafka和Rest Services组件将用于将数据从设备提取到数据库。我需要对后端中的数据进行一些分析。数据大小为135字节/设备和6000设备/秒。我在这里共享了体系结构以了解需求和组件。

在此处输入图片说明

我已经研究了数据存储(MongoDB,Postgresql(TimescaleDB),Redis,Neo4j,Cassandra),每个供应商都证明了他们的数据库适合于IoT用例。我对将经过验证的/最可靠/可扩展的数据库用于物联网感到困惑。

什么是最合适的数据库来吸收大量数据并进行分析?

是否有适用于物联网的合适数据库的成熟基准?

请给出您的想法和建议。


我最近将ElasticSearch用于类似的用例。但是我不能说为什么它比其他更好,这部分主要是基于意见的。我实际上使用Kafka将传感器连接到DB。有不错的库支持使用Elasticsearch进行Kafka的流处理
atakanyenel

2
“物联网用例”范围太广,无法对实施进行排名。每个人都有其优点和缺点。
吉尔斯(Gilles)'“ SO-不要邪恶”

1
不是我的领域,但是如果任何现代数据库看起来不合适,我都会感到惊讶。使用您熟悉的工具或最聪明的工具。
肖恩·霍利哈内

Answers:


4

您只能使用NoSQL数据库,因为任何SQL数据库都不允许直接在服务器上提供6K TPS,也不能使用任何已经专门从事此类操作的SaaS云服务或平台-例如,通过MQTT / Kafka接收远程信息处理数据,将其拆分并存储给这6000个设备,并提供简单的REST API来访问遥测数据。像flespi或类似的东西。


明白了,谢谢。您能告诉我哪种NoSQL数据库最适合我的用例?
Mourish Khan

这实际上取决于您的经验和运行时环境。对于AWS / GoogleCloud,这将是一种选择,对于本地安装,我会建议LevelDB或其任何竞争对手,只需在Google上搜索levelDB,您就会看到它们的完整列表。在任何变体中,您都需要在Web应用程序和数据库之间实现中间API,因此它还取决于您为此使用的后端类型。当您使用mqtt填充数据并从Web访问数据和历史记录时,正是本文所述的情况。
SHAL

1
顺便说一句,我在过去15年中尝试了许多这种NoSQL数据库。从Berkeley DB的早期开始。最后,当您需要应用程序中的全部功能和性能并试图从数据库的最大IOP和吞吐量中压缩时,我别无选择,只能开发自己的数据库引擎,专门针对远程信息处理(IoT)用例和需求。但它是我的经验+)
SHAL

“ 6K TPS”?6TB /秒?
Mawg说要恢复Monica

6.000事务/秒
shal

4

物联网几乎是时间序列数据。这里有一些TSDB:InfluxDB,OpenTSDB,GridDB等。它们都具有社区/ oss版本,因此您可以查看它是否适合您的需求。InfluxDB是一种流行的,但请注意,群集仅适用于付费版本。OpenTSD是纯OSS,GridDB表示它是面向IoT的,并且比InfluxDB更快。根据您的需求,也许您想寻找一种摄取速度快的食物。


2

Timescaledb是为时间序列数据集定制的postgres扩展,效果非常好。您将获得通常的关系数据库功能,SQL的使用,可靠性,索引,可伸缩性。


1

问题很广泛,无法给出准确的答案,但是这些链接可以帮助您:

http://outlyer.com/blog/top10-open-source-time-series-databases/ 在此处输入图片说明

跟踪基准测试:http//outlyer.com/blog/time-series-database-benchmarks/

其他比较:https : //gist.github.com/sacreman/00a85cf09251147175241d334aafa798

我设置了一些规则来尝试限制范围,否则此博客将永远不会结束。

仅比较了免费和开放源时间序列数据库及其功能。因此,有人问“您是否尝试过Kdb +和Informix?”的答案是否定的。他们可能很棒。

该列表仅包括将营销材料归类为时间序列的数据库,或者由一家很酷的公司在博客中撰写的数据库,用于它们用于时间序列数据的数据库。

已经完成的工作是阅读官方文档,阅读StackOverflow,浏览Github问题和代码,以及通常将信息一起整理。考虑到这一点,某些事实可能是不正确的。

如果有人发现任何事实上的错误,请告诉我,我将更新博客。

基准测试是基于营销主张和估计。为什么?因为基准测试是一项很大的工作,并且容易出错。您总是会得到“您应该调整此特殊的未记录设置”。列出的数字对大多数数据库都非常有利。它们是过去某个时候在Twitter上发布或声明的数字。如果您认为任何数字有误,请通知我,我将对其进行更新。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.