【物联网架构】最适合物联网的开源数据库

简介: 【物联网架构】最适合物联网的开源数据库

640.jpg


物联网产生大量的数据,包括流数据、时间序列数据、RFID数据、传感数据等。要有效地管理这些数据,就需要使用数据库。物联网数据的本质需要一种不同类型的数据库。以下是一些数据库,当与物联网一起使用时,会给出非常好的结果。

物联网可以看作是一个网络,在这个网络中,各种事物通过一个共同的平台相互连接。只是想象一个场景,在该场景中,每一个设备在家里和工作场所的连接,和一个世界,空调在房间外面的温度上升时自动降低其温度,当在任何公共集会的人数很容易知道,当一个人的健康可以每天监控参数。这就是物联网可能带来的影响。

物联网目前的状态是非常零散的。有不同的公司和组织正在为他们的客户或他们的个人需求建立自己的平台。但是,目前还没有一种通用的平台,可以让所有设备(无论它们是哪家公司的)通过用户友好的界面相互连接。

据估计,未来5年,物联网设备的数量将达数万亿。

物联网需要数据库吗?

物联网带来了许多繁琐的挑战,尤其是在数据库管理系统领域,比如实时整合海量数据、处理流中的事件以及处理数据的安全性。例如,应用于智能城市的基于物联网的交通传感器可以实时生成大量的交通数据。

数据库在充分处理物联网数据方面扮演着非常重要的角色。因此,适当的数据库与适当的平台同等重要。由于物联网在世界上不同的环境中运行,选择合适的数据库变得非常具有挑战性。

在为物联网应用选择数据库之前应该考虑的因素是:

  1. 大小、规模和索引
  2. 处理海量数据的有效性
  3. 用户友好的模式
  4. 可移植性
  5. 查询语言
  6. 流程建模和事务
  7. 异构性和集成
  8. 时间序列聚合
  9. 归档
  10. 安全和成本

物联网中的数据类型有:

  1. RFID:射频识别
  2. 地址/惟一标识符
  3. 过程、系统和对象的描述性数据
  4. 普适环境数据和位置数据
  5. 传感器数据:多维时间序列数据
  6. 历史数据
  7. 物理模型:作为现实模板的模型
  8. 执行器状态及控制命令数据

适合物联网的数据库

InfluxDB

InfluxDB:流感数据库首次发布于2013年,是最近的数据库之一。该数据库完全基于键值数据库LevelDB,采用Go编程语言进行开发。InfluxDB是一个时间序列数据库,用于优化和处理时间序列数据。时间序列数据最早由Kdb在2000年发布,但随着物联网的兴起,随着NoSQL、NewSQL和大量增长的数据的出现,InfluxDB变得流行起来。

对物联网数据使用InfluxDB的优点包括:

  • 允许对序列进行索引
  • 它有一个类似sql的查询语言
  • 对缺失数据提供内置的线性插值
  • 支持数据自动降采样
  • 支持连续查询计算聚合

CrateDB

CrateDB: CrateDB是一个分布式SQL数据库管理系统。它是开源的,用Java编写的,包含了来自Facebook Presto、Apache Lucene、Elasticsearch和Netty的组件——因此它是为高可伸缩性而设计的。CrateDB是为使物联网数据工作而设计的。从工业互联网、联网汽车到可穿戴设备,CrateDB是新型物联网解决方案创新者的首选数据库。

将CrateDB用于物联网数据的优点包括:

  • 每秒百万个数据点:快速、线性可扩展的数据摄取
  • 实时查询:柱状索引和字段缓存提供内存中的SQL性能
  • 动态模式:动态添加和查询新的传感器数据结构
  • 物联网分析:快速、健壮的时间序列、人工智能、地理空间、文本搜索、连接、聚合
  • Always on:内置的数据复制和集群再平衡确保不间断的性能
  • ANSI SQL:无锁定,易于任何开发人员使用和集成
  • 内置的MQTT代理:直接将设备与数据库集成
  • 物联网生态系统:使用Kafka、Grafana、NodeRED等流行的物联网栈软件
  • 可以在任何地方运行,以便在边缘或云中进行高效处理

MongoDB

MongoDB: MongoDB是一个免费的、开源的、跨平台的、面向文档的数据库程序。它被归类为一个NoSQL数据库程序。MongoDB使用具有模式的类似json的文档。它是物联网组织的首选,因为它可以让他们存储来自任何上下文的数据,可以实时分析,也可以在他们进行时改变模式。

MongoDB用于物联网数据的优点包括:

  • 强大的数据库
  • 面向文档的
  • 具有一般用途
  • 作为一个NoSQL数据库,它使用类似JSON的带有模式的文档

RethinkDB

RethinkDB:在开放源码数据库列表中,RethinkDB位于顶部。它是一个可伸缩的实时Web JSON数据库,是从头开始构建的。RethinkDB通过改变传统数据库架构引入了一种令人兴奋的新访问模型。当开发人员向它发出命令时,它可以不断地将更新后的查询结果实时推送到应用程序。这是一个被开发人员称为change feed的特性。RethinkDB充当数据库、实时存储库和系统状态的消息代理,这是change feed允许的。它的实时推送架构大大减少了构建可伸缩实时应用程序所需的时间和精力。

对物联网传感器数据使用RethinkDB的优点包括:

  • RethinkDB有一个可适应的查询语言来检查API,非常容易设置和学习。
  • 如果主服务器出现故障,命令会自动转移到新服务器上。
  • 节点实时即插即用功能,无需停机一秒,方便添加节点。
  • 在Ruby和Tornado中通过Eventmachine提供异步查询,提供异步应用程序编程接口。
  • 它提供SSL访问,只是为了通过公共互联网安全访问RethinkDB。
  • Floor, ceil和round是RethinkDB提供的各种数学运算符。

SQLite

SQLite数据库引擎是一个进程库,它提供了一个无服务器的(自包含的)事务性SQL数据库引擎。由于其可移植性和较小的内存占用,它对游戏和移动应用程序开发产生了重大影响。

SQLite适用于不需要任何人工支持的设备,因为数据库不需要管理权限。它非常适合用于手机、机顶盒、电视、游戏机、相机、手表、厨房电器、恒温器、汽车、机床、飞机、远程传感器、无人机、医疗设备和机器人,以及物联网。

客户端/服务器数据库引擎被设计为驻留在网络核心的数据中心内。SQLite也在那里工作,但SQLite也在网络的边缘蓬勃发展,在为自己提供快速可靠的数据服务的同时,为那些连接不可靠的应用程序提供服务。

对物联网数据使用SQLite的优点包括:

  • 内存占用小
  • 它是真实的
  • 使用前无需设置
  • 没有依赖性

Cassandra

Apache Cassandra: Apache Cassandra是一个免费的开源分布式NoSQL数据库管理系统,最初发布于2008年。它旨在通过许多商用服务器处理大量数据,提供没有单点故障的高可用性。

在物联网中,由于连接的设备数量巨大,通过各种网络产生、跟踪和共享数据的规模非常大。Cassandra非常擅长利用大量的时间序列数据,这些数据直接来自于设备、用户、传感器以及存在于不同地理位置的类似机制。

在物联网中使用Apache Cassandra的优点

数据包括:

  • 容错
  • 展示了高性能
  • 去中心化:集群中的每个节点都是相同的
  • 可伸缩
  • 持久性
  • 确保可控:每次更新都可以选择同步复制和异步复制
  • 弹性:读写都是实时执行的,任何应用都不存在停机
  • 专业支持:加强第三方提供的合同和服务。
相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
13天前
|
SQL Linux 数据库
|
2天前
|
SQL 关系型数据库 MySQL
|
14天前
|
关系型数据库 分布式数据库 数据库
PolarDB,阿里云的开源分布式数据库,与微服务相结合,提供灵活扩展和高效管理解决方案。
【7月更文挑战第3天】PolarDB,阿里云的开源分布式数据库,与微服务相结合,提供灵活扩展和高效管理解决方案。通过数据分片和水平扩展支持微服务弹性,保证高可用性,且兼容MySQL协议,简化集成。示例展示了如何使用Spring Boot配置PolarDB,实现服务动态扩展。PolarDB缓解了微服务数据库挑战,加速了开发部署,为云原生应用奠定基础。
157 3
|
14天前
|
关系型数据库 分布式数据库 PolarDB
**PolarDB开源指南:构建分布式数据库集群**踏上PolarDB开源之旅,了解如何从零开始搭建分布式集群
【7月更文挑战第3天】**PolarDB开源指南:构建分布式数据库集群**踏上PolarDB开源之旅,了解如何从零开始搭建分布式集群。采用存储计算分离架构,适用于大规模OLTP和OLAP。先准备硬件和软件环境,包括Linux、Docker和Git。然后,克隆源码,构建Docker镜像,部署控制节点和计算节点。使用PDCli验证集群状态,开始探索PolarDB的高性能与高可用性。在实践中深化学习,贡献于数据库技术创新。记得在安全环境下测试。
129 1
|
29天前
|
关系型数据库 MySQL Java
|
14天前
|
运维 Cloud Native 安全
荣誉加身!陶建辉被授予 GDOS 全球数据库及开源峰会荣誉顾问
**第二十三届 GOPS 全球运维大会暨 XOps 峰会在京召开,聚焦开源数据库与技术创新。涛思数据CEO陶建辉获GDOS全球数据库及开源峰会荣誉顾问称号,因其在TDengine数据库的开源与研发上的贡献。TDengine,高性能时序数据库,已在多个行业广泛应用,推动数据库技术发展。陶建辉将持续为开源生态和行业创新贡献力量。
19 0
|
2月前
|
Cloud Native 物联网 持续交付
未来科技浪潮:区块链、物联网与虚拟现实的融合创新云原生技术:重塑IT架构的未来
【5月更文挑战第31天】在信息技术飞速发展的今天,新兴技术如区块链、物联网和虚拟现实等正成为推动社会进步的重要力量。本文将探讨这些技术的发展趋势及其在各领域的应用前景,揭示它们如何相互融合,共同塑造一个智能化、互联的未来世界。 【5月更文挑战第31天】本文深入探讨了云原生技术的兴起及其对传统IT架构的颠覆性影响。通过分析云原生的核心概念,如微服务、容器化、以及持续集成/持续部署(CI/CD),文章揭示了这些技术如何促进更高效、灵活和可扩展的软件开发实践。同时,本文还讨论了企业在采用云原生技术时面临的挑战与机遇,并展望了云原生技术在未来IT领域的发展趋势。
|
2月前
|
传感器 数据可视化 JavaScript
物联网架构:感知层、网络层和应用层
【5月更文挑战第30天】物联网(IoT)由感知层、网络层和应用层构成。感知层利用传感器(如DHT11)收集环境数据;网络层通过ESP8266等设备将数据传输至云端;应用层提供用户服务,如Node-RED实现数据可视化。示例代码展示了Arduino读取温湿度,ESP8266连接Wi-Fi及Node-RED数据可视化流程。物联网架构为数据处理与服务提供全面支持,预示其在各领域广阔的应用前景。
57 2
|
29天前
|
存储 NoSQL Java
HBase是一个开源的、分布式的、面向列的NoSQL数据库系统
HBase是一个开源的、分布式的、面向列的NoSQL数据库系统
54 0
|
2天前
|
监控 物联网 区块链
探索未来科技的边界:区块链、物联网与虚拟现实技术的融合趋势
【7月更文挑战第15天】在数字化浪潮的推动下,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正在逐渐渗透到我们生活的各个方面。本文将探讨这些技术的发展趋势以及它们如何相互结合创造出新的应用场景。我们将从各自的技术原理出发,分析其独立发展的同时,如何通过融合创新开辟出一片新天地,特别是在数据安全、智能城市和沉浸式体验等领域的应用前景。

相关产品

  • 物联网平台