当前位置: 首页 > 科技观察

更适合物联网的开源数据库

时间:2023-03-21 18:19:08 科技观察

物联网会产生大量的数据,包括流式数据、时间序列数据、RFID数据、传感器数据等,要有效管理这些数据,就需要使用一个数据库。物联网数据的本质需要不同类型的数据库。以下是一些与IoT一起使用时会产生非常好的结果的数据库。物联网可以看作是各种事物通过一个公共平台相互连接的网络。试想这样一个场景,家里和工作场所的每台设备都连接在一起,当室外温度升高时空调会自动降低温度,当任何公共聚会的人数很容易知道时,A可以每天监测人的健康参数。这就是物联网可以做到的。物联网的当前状态非常分散。有不同的公司和组织正在为他们的客户或他们的个人需求构建他们自己的平台。然而,没有一个通用平台可以让所有设备,无论其公司如何,都可以通过用户友好的界面相互连接。预计未来5年物联网设备数量将达到万亿级。物联网需要数据库吗?物联网带来了许多繁琐的挑战,尤其是在数据库管理系统领域,例如实时集成海量数据、流式处理事件、处理数据安全等。例如,应用于智慧城市的基于物联网的交通传感器可以实时生成大量交通数据。数据库在充分处理物联网数据方面发挥着非常重要的作用。因此,正确的数据库与正确的平台同样重要。由于物联网在世界上不同的环境中运行,选择合适的数据库变得非常具有挑战性。在为IoT应用程序选择数据库之前应考虑的因素包括:大小、规模和索引处理大量数据的效率用户友好的架构可移植性查询语言流程建模和事务异构性和集成时间序列聚合归档安全性和类型IoT中的数据有:RFID:射频识别地址/唯一标识符过程、系统和对象描述性数据普适环境数据和位置数据传感器数据:多维时间序列数据历史数据物理模型:现实模板模型执行器状态和控制命令数据A适用于物联网InfluxDB的数据库InfluxDB:InfluxDB于2013年首次发布,是最新的数据库之一。该数据库完全基于键值数据库LevelDB,使用Go编程语言开发。InfluxDB是一个时间序列数据库,用于优化和处理时间序列数据。时间序列数据最早由Kdb于2000年发布,但随着物联网的兴起,随着NoSQL、NewSQL的出现以及数据的海量增长,InfluxDB开始流行起来。使用InfluxDB处理物联网数据的优势包括:允许序列索引它具有类似SQL的查询语言为缺失数据提供内置线性插值支持数据自动下采样支持连续查询计算聚合CrateDB:CrateDB是一个分布式SQL数据库管理系统.它是开源的,用Java编写,包括来自FacebookPresto、ApacheLucene、Elasticsearch和Netty的组件——因此它专为高可扩展性而设计。CrateDB旨在使物联网数据发挥作用。从工业互联网到联网汽车再到可穿戴设备,CrateDB是新物联网解决方案创新者的首选数据库。将CrateDB用于IoT数据的优势包括:每秒数百万个数据点:快速、线性可扩展的数据摄取实时查询:列索引和字段缓存提供内存中SQL性能动态模式:动态添加和查询新的传感器数据结构物联网分析:快速、稳健的时间序列、人工智能、地理空间、文本搜索、连接、聚合始终在线:内置数据复制和集群重新平衡确保不间断的性能ANSISQL:无锁定,随时随地轻松开发人员使用和集成内置MQTT代理:直接将设备与数据库集成物联网生态系统:使用流行的物联网堆栈软件,如Kafka、Grafana、NodeRED等。可以在任何地方运行,在边缘或云端进行高效处理MongoDBMongoDB:MongoDB是一个免费、开源、跨平台的平台,面向文档的数据库程序。它被归类为NoSQL数据库程序。MongoDB使用带有模式的类似json的文档。它是IoT组织的首选,因为它允许他们存储来自任何上下文的数据、实时分析数据并随时更改模式。MongoDB用于物联网数据的优势包括:强大的数据库面向文档具有通用性作为NoSQL数据库,它使用类JSON文档和模式RethinkDBRethinkDB:??在开源数据库列表中,RethinkDB位居榜首。它是一个可扩展的实时WebJSON数据库,从头开始构建。RethinkDB通过改变传统的数据库架构引入了一个令人兴奋的新访问模型。随着开发人员向它发出命令,它可以不断地将更新的查询结果实时推送到应用程序。这是开发人员称为更改提要的功能。RethinkDB充当数据库、实时存储库和系统状态的消息代理,这是变更源允许的。其实时推送架构大大减少了构建可扩展实时应用程序所需的时间和精力。将RethinkDB用于IoT传感器数据的优势包括:RethinkDB具有适应性强的查询语言来检查API,并且非常易于设置和学习。如果主服务器发生故障,命令会自动传输到新服务器。节点实时即插即用功能,一秒都不需要停,方便添加节点。在Ruby和Tornado中通过Eventmachine进行异步查询,提供异步API。它仅为通过公共互联网安全访问RethinkDB提供SSL访问。floor、ceil和round是RethinkDB提供的各种数学运算符。SQLite数据库引擎是一个流程库,提供无服务器(自包含)事务性SQL数据库引擎。由于其便携性和小内存占用,它对游戏和移动应用程序开发产生了重大影响。SQLite适用于不需要任何人工支持的设备,因为数据库不需要管理权限。非常适用于手机、机顶盒、电视、游戏机、相机、手表、厨房电器、恒温器、汽车、机床、飞机、遥感器、无人机、医疗设备和机器人以及物联网.客户端/服务器数据库引擎被设计为位于网络核心的数据中心。SQLite也在那里工作,但SQLite也在网络边缘蓬勃发展,为具有不可靠连接的应用程序提供服务,同时为自身提供快速可靠的数据。将SQLite用于IoT数据的优势包括:内存占用小它是真实的使用前无需设置无依赖性它旨在处理跨许多商品服务器的大量数据,提供高可用性且无单点故障。在物联网中,由于连接的设备数量庞大,在各种网络上生成、跟踪和共享数据的规模是巨大的。Cassandra非常擅长利用直接来自不同地理位置的设备、用户、传感器和类似机制的大量时间序列数据。在IoT数据中使用ApacheCassandra的优势包括:容错展示高性能去中心化:集群中的每个节点都是相同的弹性:实时执行读取和写入,任何应用程序都不会停机专业支持:加强第三方提供的合同和服务派对。