最适合物联网应用的开源数据库

本文探讨了物联网(IoT)对数据库管理系统的挑战,强调了选择合适数据库的重要性。文章列举了几个适用于物联网应用的开源数据库,如InfluxDB(专为时间序列数据设计)、CrateDB(支持SQL和NoSQL,适合机器数据)、RethinkDB(实时数据更新,适合开发者)和MongoDB(灵活、可扩展的文档型数据库)。每个数据库的特点和优势被详细阐述,包括它们的扩展性、高可用性和对不同操作系统的支持。
摘要由CSDN通过智能技术生成
物联网(IoT)由于其固有的特性,需要与其相关的数据库中的某些特征。 本文提供了一小部分适用于物联网的开源数据库管理系统。

术语“物联网”指的是:(i)通过互联网技术互联的智能对象的全球网络,(ii)实现这一点所需的一组支持技术,即RFID,传感器, 机器通信设备,以及(iii)利用这些技术开发新的业务和营销机会的应用和服务集合。

根据Gartner的报告,2017年全球将有84亿个互联设备投入使用。物联网呈现出高度新颖的挑战,特别是对数据库管理系统的挑战,如实时集成大量庞大的数据,将事件处理为他们流,并处理数据的安全性。一个例子就是安装在智能城市中的基于物联网的环境温度传感器,它可以在几分钟内产生大量关于活跃大气温度和湿度的数据。
为了有效处理物联网数据,找到合适的数据库非常重要。但是,物联网应用选择高效的数据库可能非常具有挑战性,因为物联网环境并不总是相同的。在为物联网应用选择数据库时,需要牢记许多因素。其中最重要的是可扩展性,以足够的速度处理大量数据的能力,灵活的模式,可移植性以及各种分析工具,安全性和成本。
物联网数据库应具有容错能力和高可用性。如果数据库集群中的任何节点出现故障,它仍应能够接受读取和写入请求。分布式数据库创建数据的多个副本或副本,并将数据写入多个服务器。如果任何存储数据的服务器失败,则其他服务器接管存储并响应该查询的任务,直到失败的服务器启动。物联网数据库应该具有高度的可用性,因为物联网数据库处理系统可能面临高度庞大的写入和存储。如果任何数据库服务器关闭或实时分布式数据库的数据写入过高,则可以将数据存储在消息传递系统中,直到数据库处理数据积压或添加到主数据库集群的任何其他服务器。


以下是一些可用于基于IoT的应用程序的顶级开放源代码数据库。

InfluxDB
InfluxDB是由InfluxData开发的开源分布式时间序列数据库。它是用Go编程语言编写的,基于KeyDB数据库LevelDB。除了前端之外,HTTP接口和库还提供给用户进行数据库交互。 InfluxDB的主要优势在于它可以实时汇总时间段中的值,而无需任何手动干预。
InfluxDB可以通过像Grafana这样的软件来访问,Grafana是一个功能强大的前端工具,可以为时间序列数据提供可视化功能。 InfluxDB没有外部依赖关系,SQL查询用于查询包含度量,系列和点的数据结构。每个点由不同的键值对组成,称为fieldset和timestamp。值可以是64位整数,64位浮点,字符串和布尔值。点按其时间和标记集进行索引。 InfluxDB通过HTTP,TCP和UDP存储数据。

特征
  • 纯粹用Go编程语言编写,便于将其编译为单个二进制文件,而无需外部依赖。
  • 高性能的定制数据存储,专为时间序列数据编写。 InfluxDB的TSM引擎允许高效和高速的数据存储和压缩。
  • 插件支持其他数据摄入协议,如Graphite,collectd,OpenTSDB。
  • 用于数据库和用户管理的内置Web前端工具。
  • 有能力将多个系列合并在一起。
官方网站
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值