0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

物联网需要数据库吗?适合物联网的数据库

454398 来源:今日头条 作者:首席架构师智库 2020-11-26 14:26 次阅读

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

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

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

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

物联网需要数据库吗?

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

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

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

大小、规模和索引

处理海量数据的有效性

用户友好的模式

可移植性

查询语言

流程建模和事务

异构性和集成

时间序列聚合

归档

安全和成本

物联网中的数据类型有:

RFID:射频识别

地址/惟一标识符

过程、系统和对象的描述性数据

普适环境数据和位置数据

传感器数据:多维时间序列数据

历史数据

物理模型:作为现实模板的模型

执行器状态及控制命令数据

适合物联网的数据库

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的优点

数据包括:

  • 容错
  • 展示了高性能
  • 去中心化:集群中的每个节点都是相同的
  • 可伸缩
  • 持久性
  • 确保可控:每次更新都可以选择同步复制和异步复制
  • 弹性:读写都是实时执行的,任何应用都不存在停机
  • 专业支持:加强第三方提供的合同和服务。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2902

    文章

    44170

    浏览量

    370627
  • 数据库
    +关注

    关注

    7

    文章

    3754

    浏览量

    64253
收藏 人收藏

    评论

    相关推荐

    数据库数据恢复—通过拼接数据库碎片恢复SQLserver数据库

    一个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成一个NDF文件,每个NDF几百GB大小。数据库包含两个LDF文件。 存储损坏,数据库
    的头像 发表于 10-31 13:21 117次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—通过拼接<b class='flag-5'>数据库</b>碎片恢复SQLserver<b class='flag-5'>数据库</b>

    Oracle数据恢复—异常断电后Oracle数据库报错的数据恢复案例

    Oracle数据库故障: 机房异常断电后,Oracle数据库报错:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开
    的头像 发表于 09-30 13:31 220次阅读
    Oracle<b class='flag-5'>数据</b>恢复—异常断电后Oracle<b class='flag-5'>数据库</b>启<b class='flag-5'>库</b>报错的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—SQL Server数据库出现823错误的数据恢复案例

    SQL Server数据库故障: SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库
    的头像 发表于 09-20 11:46 265次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—SQL Server<b class='flag-5'>数据库</b>出现823错误的<b class='flag-5'>数据</b>恢复案例

    恒讯科技分析:sql数据库怎么用?

    SQL数据库的使用通常包括以下几个基本步骤: 1、选择数据库系统: 选择适合您需求的SQL数据库系统,如MySQL、PostgreSQL、Microsoft SQL Server、SQ
    的头像 发表于 07-15 14:40 296次阅读

    时序数据库是什么?时序数据库的特点

    时序数据库是一种在处理时间序列数据方面具有高效和专门化能力的数据库。它主要用于存储和处理时间序列数据,比如传感器数据、监控
    的头像 发表于 04-26 16:02 590次阅读

    数据库数据恢复】Oracle数据库ASM实例无法挂载的数据恢复案例

    oracle数据库ASM磁盘组掉线,ASM实例不能挂载。数据库管理员尝试修复数据库,但是没有成功。
    的头像 发表于 02-01 17:39 458次阅读
    【<b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复】Oracle<b class='flag-5'>数据库</b>ASM实例无法挂载的<b class='flag-5'>数据</b>恢复案例

    无模式数据库的利与弊

    模式数据库需要考虑哪些因素?文章速览:什么是无模式数据库?无模式数据库是如何工作无模式VS.有模式常见问题解答一、什么是无模式数据库无模式
    的头像 发表于 12-16 08:04 474次阅读
    无模式<b class='flag-5'>数据库</b>的利与弊

    数据库数据恢复—未开启binlog的Mysql数据库数据恢复案例

    mysql数据库数据恢复环境: 本地服务器,windows server操作系统 ,部署有mysql单实例,数据库引擎类型为innodb,独立表空间,无数据库备份,未开启binlog
    的头像 发表于 12-08 14:18 1071次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—未开启binlog的Mysql<b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复案例

    关于JSON数据库

    如何理解JSON数据库?作为NoSQL数据库的一种类型,JSON数据库有哪些优势呢?JSON数据库如何运作,它为应用程序开发者带来了哪些价值呢?
    的头像 发表于 12-06 13:46 829次阅读
    关于JSON<b class='flag-5'>数据库</b>

    oracle数据库的基本操作

    、创建表、插入数据、查询数据、更新数据和删除数据等。 首先,连接到Oracle数据库是进行任何操作的第一步。在连接之前,
    的头像 发表于 12-06 10:14 645次阅读

    tcmsp数据库怎么用

    详细介绍TCMSP数据库的使用方法和特点。 首先,TCMSP数据库的主要功能是提供中药化学的大规模高通量筛选数据和药理活性数据。用户可以通过多种方式搜索和获取感兴趣的中药和相关化合
    的头像 发表于 12-06 10:11 4108次阅读

    oracle数据库的使用方法

    数据库的使用方法,包括安装和配置、基本操作、高级功能等方面。 一、安装和配置 安装Oracle数据库前,您需要先下载合适的安装包,根据操作系统的要求选择相应的版本。安装Oracle数据库
    的头像 发表于 12-06 10:10 1169次阅读

    什么是JSON数据库

    数据库的显著优势关于JSON数据库的Q&A一、什么是JSON?首先,我们得明确“JSON”的含义。开发人员在创建业务逻辑、用户界面、数据库或后端系统时,需要一种描述
    的头像 发表于 12-02 08:04 812次阅读
    什么是JSON<b class='flag-5'>数据库</b>

    NoSQL 数据库如何选型

    什么是NoSQL数据库?为什么要使用NoSQL数据库?键值数据库内存键值数据库文档数据库列式数据库
    的头像 发表于 11-26 08:05 434次阅读
    NoSQL <b class='flag-5'>数据库</b>如何选型

    数据库数据恢复—SQLserver数据库被加密如何恢复数据

    一台服务器上的SQLserver数据库被勒索病毒加密,无法正常使用。该服务器上部署有多个SQLserver数据库,其中有2个数据库及备份文件被加密,文件名被篡改,数据库无法使用。
    的头像 发表于 11-23 14:42 873次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—SQLserver<b class='flag-5'>数据库</b>被加密如何恢复<b class='flag-5'>数据</b>?