比较适合物联网的开源数据库

article/2025/10/3 16:28:34

物联网产生大量的数据,包括流数据、时间序列数据、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的优点包括:

1.允许对序列进行索引;

2.它有一个类似sql的查询语言;

3.对缺失数据提供内置的线性插值;

4.支持数据自动降采样;

5.支持连续查询计算聚合。

CrateDB

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

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

1.每秒百万个数据点:快速、线性可扩展的数据摄取;

2.实时查询:柱状索引和字段缓存提供内存中的SQL性能;

3.动态模式:动态添加和查询新的传感器数据结构;

4.物联网分析:快速、健壮的时间序列、人工智能、地理空间、文本搜索、连接、聚合;

5.Always on:内置的数据复制和集群再平衡确保不间断的性能;

6.ANSI SQL:无锁定,易于任何开发人员使用和集成;

7.内置的MQTT代理:直接将设备与数据库集成;

8.物联网生态系统:使用Kafka、Grafana、NodeRED等流行的物联网栈软件;

9.可以在任何地方运行,以便在边缘或云中进行高效处理。

MongoDB

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

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

1.强大的数据库;

2.面向文档的;

3.具有一般用途

4.作为一个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的优点包括:

1.内存占用小;

2.它是真实的;

3.使用前无需设置;

4.没有依赖性。

Cassandra

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

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

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

数据包括:

1.容错;

2.展示了高性能;

3.去中心化:集群中的每个节点都是相同的;

4.可伸缩;

5.持久性;

6.确保可控:每次更新都可以选择同步复制和异步复制;

7.弹性:读写都是实时执行的,任何应用都不存在停机;

8.专业支持:加强第三方提供的合同和服务。

 


http://chatgpt.dhexx.cn/article/JuV7wXJl.shtml

相关文章

阿里巴巴开源的免费数据库工具Chat2DB

Chat2DB 是一款由阿里巴巴开源的免费数据库工具,它为开发人员提供了一个强大且易于使用的平台,用于存储和查询数据。与传统的数据库工具相比,Chat2DB 具有以下特点和优势: 多数据库支持:Chat2DB 可以与多种类型的数据库…

21款最优秀的开源数据库

摘要:几乎所有软件项目的开发都需要数据库的支持,目前,随着开源技术的迅速发展,越来越多的数据供应商选择开源数据库,为开源事业添砖加瓦。 作为一名软件开发人员或DBA,其中一份必不可少的工作就是与数据库…

一文带你了解开源数据库中的佼佼者 TOP 10

当今,大多数应用程序都需要在某个地方存储数据。对于 Web 应用程序,数据库是关键的“齿轮”。 很多企业和开发者在选择数据库时,会主要考虑的几个因素——一是它的成本,二是托管服务提供商的灵活性和支持力度。 出于多种原因&…

15个nosql数据库

1、MongoDB 介绍 MongoDB是一个基于分布式文件存储的数据库。由C语言编写。主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存储解决方案。当数据量达到50GB以上的时候,MongoDB的数据库访问速度是MySQL的10倍以上。MongoDB的并发读…

盘点2013:21款最优秀的开源数据库

作为一名软件开发人员或DBA,其中一份必不可少的工作就是与数据库打交道,比如MS SQL服务器、MySQL、Oracle、PostgreSQL、MongoDB等等。众所周知,其中MySQL是目前使用最广泛最好的免费开源数据库,此外,还有一些你不知道…

数据库设计学习总结

近期学习数据库也整理了一些笔记放上来供大家参考分享,相对来说比较基础。学习数据库个人觉得应该先把SQL语句熟悉了,然后再回头过来把数据库的整个设计过程强化下。别人说数据库设计(难度比较大)需要经验,可能吧&…

为什么要学习数据库以及数据库的选择

一、为什么要学习数据库 1.数据库概念 数据库(Database),就是暗转数据结构来组织、存储和管理数据,建立在计算机存储设备上的仓库。我们可以吧数据库看成电子化的文件库,也就是存储电子文件的处所,用户可以…

数据库学习资料和视频

数据库 博主在公众号后台设置了关键字回复, 回复下面的【】里面的内容, 可免费获得数据库视频和资料。 如回复:数据库 【数据库】 【1】oracle介绍和体系结构 【2】启动oracle服务和连接oracle数据库 【3】表的介绍和sqlplus相关操作 …

深度学习图像数据库总结(收藏用)

深度学习数据库总结 感谢感谢~收藏用! 原文出自:https://blog.csdn.net/chaipp0607/article/details/71403797 数据的准备工作是训练模型前的必要工作,显然这也是非常耗时的,所以在入门阶段我们完全可以用现有的开源图片库快速完…

数据库学习整理之常见运算符

运算符概述 1) 算术运算符 执行算术运算,例如:加、减、乘、除等。 2) 比较运算符 包括大于、小于、等于或不等于、等等。主要用于数值的比较、字符串的匹配等方面。 3) 逻辑运算符 包括与、或、非和异或、等逻辑运算符。其返回值为布尔型&#xff…

SQL Server 数据库学习

一、认识数据库 1、数据库的基本概念 2、数据库常用对象 3、数据库的组成 数据库主要由文件和文件组组成。数据库中所有的数据和对象都被存储在文件中。 二、创建数据库 1、创建数据库 对象资源管理器—数据库——右击——新建数据库 三、操作数据表与视图 1、创建数据表 空…

Access数据库学习

Access数据库学习 一. 新建数据库 二. 使用命令实现增删改查 直接增删改查命令增删改查查询 追加 更新 删除 新建Score表实现联合查询 喜欢的小伙伴可以尝试一下哦 这是小编公众号,请动动您可爱的小手手,关注一下💓&#x1f6…

推荐几个亲测好用高质量学习SQL的网站(建议收藏)

打开我的收藏夹,找出我曾经苦苦寻觅但却尘封已久的小网站—— 想什么呢,是正经学习SQL的网站,看完赶紧收藏学习起来! ①LintCode LintCode是我常用来刷算法题的网站,最近他们开发了一个SQL教程模块特好用&#xff0c…

推荐几个适合新手入门学习的SQL网站,在线就能练习

这里整理推荐几个我自己学习时用过的在线学习网站,对新手非常友好,帮助初学者快速入门SQL,在交互式的环境里学习,既不用安装也不用导入数据,在线就能思考和练习。 1.自学SQL网 适合小白学习,这里由浅及深的介绍了SQL的知识,每一个…

在线练习sql的各类网站

文章目录 1.LeetCode2.牛客网2.LintCode3.SQL Bolt4.SQL exercises5.Tutorialspoint6.SQL Fiddle7.MODE8.GeeksForGeeks 想练习SQL语句,又不想配置麻烦的环境,又或者想学习SQL,下面几个网站可能满足你的需求 1.LeetCode 网站:数据…

第6章 数据库编程---数据库原理及应用

第6章 数据库编程 1、理解ODBC连接数据库的方法 2、掌握数据库连接技术(JDBC) 3、掌握JavaWeb数据库编程 4、掌握数据库存储过程原理与编程 5、掌握数据库触发器原理与编程 6、掌握数据库游标的原理与编程 7、理解嵌入式SQL编程的过程 6.1 数据库…

数据库原理与应用--数据库系统概述

数据库系统的核心任务是数据管理 。数据库技术是一门研究如何存储、使用和管理数据的技术。 数据库的四个基本概念: 1、数据(Data) 数据即信息,用于描述事物与变化的符号记录,有着它的语法和语义。 2、数据库(DataBase , DB) 位于计算机…

MYSQL数据库原理与应用-个人总结(上)

序言 此复习为个人整理的有关MySql的复习,大量知识点来自老师上课复习、个人总结、以及部分网上资料,以便能够提供给自己复习时的内容。此资料含有大量的执行语句,并且每一条都是自己亲自试验,只得没问题之后才敢放上来&#xff…

《数据库原理及应用》 课程设计

《数据库原理及应用》 课程设计 【实验内容】 本实训以一个简单的“学生选课数据库”为例,使用JSP设计前台页面,访问SQL Server 2008数据库。主要对数据库实现以下功能。 向数据库中指定的表插入数据。查询数据库中表的数据。修改数据库中表的数据。删…

第4章 数据库设计---数据库原理及应用

目录 一、数据库设计方案 1. 数据库应用架构设计:单用户、集中、CS、分布 2. 数据库结构设计:概念、逻辑、物理 3. 数据库应用访问方式设计:访问方式 数据库结构设计模型 概念数据模型:概念,不考虑实时细节 逻辑…