首页>>互联网>>物联网->如何选择物联网数据库类型(2023年最新分享)

如何选择物联网数据库类型(2023年最新分享)

时间:2023-12-18 本站 点击:0

导读:很多朋友问到关于如何选择物联网数据库类型的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!

物联网需要什么样的数据库

应该是像几年前提倡的智慧医疗一样 用大数据驱动智能产品帮助管理设备运行状态 能够通过大数据采取最佳的运行方式

物联网平台那么多,我们如何选择?

物联网技术涵盖感知层、网络层、平台层和应用层四个部分。

感知层的主要功能就是采集物理世界的数据,其是人类世界跟物理世界进行交流的关键桥梁。比如在智能喝水领域会采用一种流量传感器,只要用户喝水,流量传感器就会立即采集到本次的喝水量是多少,再比如小区的门禁卡,先将用户信息录入中央处理系统,然后用户每次进门的时候直接刷卡就行。(了解更多智慧人脸识别解决方案,欢迎咨询 汉玛智慧 )

网络层主要功能就是传输信息,将感知层获得的数据传送至指定目的地。物联网中的“网”字其实包含了2个部分:接入网络、互联网。以前的互联网只是打通了人与人之间的信息交互,但是没有打通人与物或物与物之间的交互,因为物本身不具有联网能力。后来发展出将物连接入网的技术,我们称其为设备接入网,通过这一网络可以将物与互联网打通,实现人与物和物与物之间的信息交互,大大增加了信息互通的边界,更有利于通过大数据、云计算、AI智能等先进技术的应用来增加物理和人类世界的丰富度。

平台层可为设备提供安全可靠的连接通信能力,向下连接海量设备,支撑数据上报至云端,向上提供云端API,服务端通过调用云端API将指令下发至设备端,实现远程控制。物联网平台主要包含设备接入、设备管理、安全管理、消息通信、监控运维以及数据应用等。

应用层是物联网的最终目的,其主要是将设备端收集来的数据进行处理,从而给不同的行业提供智能服务。目前物联网涉及的行业众多,比如电力、物流、环保、农业、工业、城市管理、家居生活等,但本质上采用的物联网服务类型主要包括物流监控、污染监控、智能交通、智能家居、手机钱包、高速公路不停车收费、远程抄表、智能检索等。

大数据常用哪些数据库

通常数据库分为关系型数据库和非关系型数据库,关系型数据库的优势到现在也是无可替代的,比如MySQL、SQL Server、Oracle、DB2、SyBase、Informix、PostgreSQL以及比较小型的Access等等数据库,这些数据库支持复杂的SQL操作和事务机制,适合小量数据读写场景;但是到了大数据时代,人们更多的数据和物联网加入的数据已经超出了关系数据库的承载范围。

大数据时代初期,随着数据请求并发量大不断增大,一般都是采用的集群同步数据的方式处理,就是将数据库分成了很多的小库,每个数据库的数据内容是不变的,都是保存了源数据库的数据副本,通过同步或者异步方式保证数据的一致性,每个库设定特定的读写方式,比如主数据库负责写操作,从数据库是负责读操作,等等根据业务复杂程度以此类推,将业务在物理层面上进行了分离,但是这种方式依旧存在一定的负载压力的问题,企业数据在不断的扩增中,后面就采用分库分表的方式解决,对读写负载进行分离,但是这种实现依旧存在不足,且需要不断进行数据库服务器扩容。

NoSQL数据库大致分为5种类型

1、列族数据库:BigTable、HBase、Cassandra、Amazon SimpleDB、HadoopDB等,下面简单介绍几个

(1)Cassandra:Cassandra是一个列存储数据库,支持跨数据中心的数据复制。它的数据模型提供列索引,log-structured修改,支持反规范化,实体化视图和嵌入超高速缓存。

(2)HBase:Apache Hbase源于Google的Bigtable,是一个开源、分布式、面向列存储的模型。在Hadoop和HDFS之上提供了像Bigtable一样的功能。

(3)Amazon SimpleDB:Amazon SimpleDB是一个非关系型数据存储,它卸下数据库管理的工作。开发者使用Web服务请求存储和查询数据项

(4)Apache Accumulo:Apache Accumulo的有序的、分布式键值数据存储,基于Google的BigTable设计,建立在Apache Hadoop、Zookeeper和Thrift技术之上。

(5)Hypertable:Hypertable是一个开源、可扩展的数据库,模仿Bigtable,支持分片。

(6)Azure Tables:Windows Azure Table Storage Service为要求大量非结构化数据存储的应用提供NoSQL性能。表能够自动扩展到TB级别,能通过REST和Managed API访问。

2、键值数据库:Redis、SimpleDB、Scalaris、Memcached等,下面简单介绍几个

(1)Riak:Riak是一个开源,分布式键值数据库,支持数据复制和容错。(2)Redis:Redis是一个开源的键值存储。支持主从式复制、事务,Pub/Sub、Lua脚本,还支持给Key添加时限。

(3)Dynamo:Dynamo是一个键值分布式数据存储。它直接由亚马逊Dynamo数据库实现;在亚马逊S3产品中使用。

(4)Oracle NoSQL Database:来自Oracle的键值NoSQL数据库。它支持事务ACID(原子性、一致性、持久性和独立性)和JSON。

(5)Oracle NoSQL Database:具备数据备份和分布式键值存储系统。

(6)Voldemort:具备数据备份和分布式键值存储系统。

(7)Aerospike:Aerospike数据库是一个键值存储,支持混合内存架构,通过强一致性和可调一致性保证数据的完整性。

3、文档数据库:MongoDB、CouchDB、Perservere、Terrastore、RavenDB等,下面简单介绍几个

(1)MongoDB:开源、面向文档,也是当下最人气的NoSQL数据库。

(2)CounchDB:Apache CounchDB是一个使用JSON的文档数据库,使用Javascript做MapReduce查询,以及一个使用HTTP的API。

(3)Couchbase:NoSQL文档数据库基于JSON模型。

(4)RavenDB:RavenDB是一个基于.NET语言的面向文档数据库。

(5)MarkLogic:MarkLogic NoSQL数据库用来存储基于XML和以文档为中心的信息,支持灵活的模式。

4、图数据库:Neo4J、InfoGrid、OrientDB、GraphDB,下面简单介绍几个

(1)Neo4j:Neo4j是一个图数据库;支持ACID事务(原子性、独立性、持久性和一致性)。

(2)InfiniteGraph:一个图数据库用来维持和遍历对象间的关系,支持分布式数据存储。

(3)AllegroGraph:AllegroGraph是结合使用了内存和磁盘,提供了高可扩展性,支持SPARQ、RDFS++和Prolog推理。

5、内存数据网格:Hazelcast、Oracle Coherence、Terracotta BigMemorry、GemFire、Infinispan、GridGain、GigaSpaces,下面简单介绍几个

(1)Hazelcast:Hazelcast CE是一个开源数据分布平台,它允许开发者在数据库集群之上共享和分割数据。

(2)Oracle Coherence:Oracle的内存数据网格解决方案提供了常用数据的快速访问能力,一致性支持事务处理能力和数据的动态划分。

(3)Terracotta BigMemory:来自Terracotta的分布式内存管理解决方案。这项产品包括一个Ehcache界面、Terracotta管理控制台和BigMemory-Hadoop连接器。

(4)GemFire:Vmware vFabric GemFire是一个分布式数据管理平台,也是一个分布式的数据网格平台,支持内存数据管理、复制、划分、数据识别路由和连续查询。

(5)Infinispan:Infinispan是一个基于Java的开源键值NoSQL数据存储,和分布式数据节点平台,支持事务,peer-to-peer 及client/server 架构。

(6)GridGain:分布式、面向对象、基于内存、SQL+NoSQL键值数据库。支持ACID事务。

(7)GigaSpaces:GigaSpaces内存数据网格能够充当应用的记录系统,并支持各种各样的高速缓存场景。

物联网系统那么多,我们如何选择?

物联网这个范围太广,里面行业众多,既然您要选择,那肯定是别人已经开发好的,这个时候您可以在您的候选范围内,找每家要一个权限较大的试用账号,登录后看看。

比如在线设备数量,离线数量,覆盖范围,有没有地图,图标显示,以及是否有收益,远程控制等等,通过多家对比,找最适合自己的!

另外很多平台花里胡哨的,一眼看过去各种功能都有,就差把大数据三个字怼你脸上,这种要多考虑实用性。你要明确你最需要的功能是什么,哪家有,没有的那家有哪些优势,最好找那家的技术人员了解一下。

结语:以上就是首席CTO笔记为大家整理的关于如何选择物联网数据库类型的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/IOT/40876.html