随着互联网技术、传感器技术和人工智能技术的快速发展,物联网技术也应运而生,物联网技术在各类领域能发挥重要性变革,对解放生产力、提高工作效率和推动规模化生产等方面贡献颇大,特别是在农业领域大有可为。实现智慧农业,必须依靠物联网技术为依托,以智慧平台为核心,立足市场需求,构建生产组织智能化、产品质量溯源化、市场经营网络化为一体的产业体系。
物联网是通过智能传感器、射频识别、激光扫描仪、全球定位系统、遥感等信息传感器设备及系统和其他基于物-物通信模式的短距离自组织网络,按照约定的协议,在物品与互联网连接起来,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种巨大智能网络。它是通信网和互联网的扩展应用和网络延伸,主要是实现人与物、物与物的信息交互。
二、物联网四层模型
在信息层面,数据信息经历生成、传输、处理和应用四个阶段,分别对应着物联网的感知识别层、网络构建层、数据处理层和综合应用层。感知识别层是利用感知技术和智能装备对物理世界进行感知识别。网络构建层是按照特定的通信协议搭建各类网络对信息进行传输,以实现物-网互联。数据处理层通过大数据和人工智能技术对网络层采样的数据进行预处理、计算存储和数据挖掘等一系列 *** 作,最大地发挥出信息的生产效能。综合应用层是集成各类技术以实现实时控制、精准管理和科学决策等功能的应用系统,从而改进人的生产方式。各类技术应对不同环境、不同需求独立展开工作,各层面间又是联系紧密,如同链条式协同配合。
感知层作为物联网的“神经末梢”,主要是通过信息感知技术将生活生产各方面映射成数据信息,并能可靠传送到网络层,实现物理世界和信息世界连接起来。信息感知技术是指利用传感器、RFID、GPS和RS等实时实地对农业领域物体进行信息采集和获取。在农业生产现场可以利用无线传感器采集温湿度、光照、溶解氧浓度和农作物长势等参数,利用视频监控设备获取农作物成长现状,利用遥感技术大规模感知农作物表面和环境因素。信息感知层作为物联网的基础,获取大量的数据信息,为信息进一步加工、处理、分析而科学决策和指导生产经营打通“二元”壁垒。
网络层要在感知层和处理层发挥承上启下作用,是以现场总线技术、无线传感器网络技术(WSN)和移动通信技术互为补充的通信网络将传感设备连接“上网”。信息传输技术可分为有线和无线、短距离和长距离,它们有各自特点、应对不同环境、利用不同信道共同组建集成网络体系,以实现高度可靠的信息交流和共享。无线传感器网络成为农业信息传输的“主力军”,通过包括传感器节点、汇聚节点、任务管理节点。大量具有独立处理能力的微型传感器节点布置在监测区域逐跳传输,并路由到汇聚节点,然后通过互联网或卫星抵达任务管理节点,最后用户通过任务管理节点配置和管理传感器网络以实现监测任务发布和数据收集。常见的无线局域网技术有蓝牙、WIFI、ZigBee,无线广域网技术有LPWAN、NB-IOT、4G和5G。特别是以“万物互联”为目标的5G将农业物联网数据传输效率带来“质的跃升”。
处理层是农业物联网的“灵魂”,通过信息处理技术对感知层采集的信息存储和挖掘分析形成预测预警、智能决策、优化控制和疾病诊断等智能模型,从而对农业生产和经营给出科学的指导。农业生产和经营过程中,数据信息是呈指数型爆炸产生,不仅是体量大,而且结构复杂、实时性强、关联度高,必须通过大数据技术处理、存储和管理,才能从海量数据中获取更多的价值。农业大数据技术平台是以Hadoop架构、MapReduce软件模型、其他组件补充的生态软件体系形成的分布式海量数据存储管理、运算处理和分析平台。数据挖掘是指从海量数据中通过算法搜索隐藏的信息关系,主要手段是机器学习、深度学习、计算机视觉等人工智能技术。只要获取隐藏知识,才能帮助决策者做出合理、正确的决定和决策。
应用层是农业物联网的“指挥室”。主要通过感知技术、传输技术、处理技术和设备进行软硬件综合集成,形成智能控制、监控决策、专家系统、物流溯源等等应用。根据生产、经营的和管理不同需求,开发出特定功能的应用,用户通过web端或移动客户端应用实时掌握信息、发出精准控制指令。可以说,先进技术发挥设备的最大生产力,综合应用改变人的工作方式,有利于做出更科学合理决策。
HBase与传统关系数据库的区别?
答:主要体现在以下几个方面:1数据类型。关系数据库采用关系模型,具有丰富的数据类型和储存方式。HBase则采用了更加简单的数据模型,它把数据储存为未经解释的字符串,用户可以把不同格式的结构化数据和非结构化数据都序列化成字符串保存到HBase中,用户需要自己编写程序把字符串解析成不同的数据类型。
2数据 *** 作。关系数据库中包含了丰富的 *** 作,如插入、删除、更新、查询等,其中会涉及复杂的多表连接,通常是借助多个表之间的主外键关联来实现的。HBase *** 作则不存在复杂的表与表之间的关系,只有简单的插入、查询、删除、清空等,因为HBase在设计上就避免了复杂的表与表之间的关系,通常只采用单表的主键查询,所以它无法实现像关系数据库中那样的表与表之间的连接 *** 作。
3存储模式。关系数据库是基于行模式存储的,元祖或行会被连续地存储在磁盘页中。在读取数据时,需要顺序扫描每个元组,然后从中筛选出查询所需要的属性。如果每个元组只有少量属性的值对于查询是有用的,那么基于行模式存储就会浪费许多磁盘空间和内存带宽。HBase是基于列存储的,每个列族都由几个文件保存,不同列族的文件是分离的,它的优点是:可以降低I/O开销,支持大量并发用户查询,因为仅需要处理可以回答这些查询的列,而不是处理与查询无关的大量数据行;同一个列族中的数据会被一起进行压缩,由于同一列族内的数据相似度较高,因此可以获得较高的数据压缩比。
4数据索引。关系数据库通常可以针对不同列构建复杂的多个索引,以提高数据访问性能。与关系数据库不同的是,HBase只有一个索引——行键,通过巧妙的设计,HBase中所有访问方法,或者通过行键访问,或者通过行键扫描,从而使整个系统不会慢下来。由于HBase位于Hadoop框架之上,因此可以使用HadoopMapRece来快速、高效地生成索引表。
6数据维护。在关系数据库中,更新 *** 作会用最新的当前值去替换记录中原来的旧值,旧值被覆盖后就不会存在。而在HBase中执行更新 *** 作时,并不会删除数据旧的版本,而是生成一个新的版本,旧有的版本仍旧保留。
7可伸缩性。关系数据库很难实现横向扩展,纵向扩展的空间也比较有限。相反,HBase和BigTable这些分布式数据库就是为了实现灵活的水平扩展而开发的,因此能够轻易地通过在集群中增加或者减少硬件数量来实现性能的伸缩。
但是,相对于关系数据库来说,HBase也有自身的局限性,如HBase不支持事务,因此无法实现跨行的原子性。
注:本来也想来问这个问题,然后复制一下的。结果找不到,只好自己手打了,麻烦复制拿去用的同学点下赞呗。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。
广义的Hadoop,一般称为Hadoop生态系统,如下所示。
Hadoop生态系统中这些软件的作用:
HDFS 采用了主从(Master/Slave)结构模型,一个HDFS集群包括一个名称节点(NameNode)和若干个数据节点(DataNode)。
HDFS采用Java语言开发,因此任何支持JVM的机器都可以部署名称节点和数据节点。
在配置好Hadoop 集群之后,可以通过浏览器访问 >实际上,HBase中也有索引机制,比如可以通过建立二级索引来提高数据的查询效率。但是,HBase中的索引机制与传统的关系型数据库的索引机制有所不同。
传统的关系型数据库索引机制通常使用B树等数据结构来实现,这种索引机制的优点是查询效率较高,缺点是索引数据量大时,维护索引的开销也会随之增加。而HBase中的数据存储是基于列族(column family)和行键(row key)的,HBase的数据存储结构是按行键排序的有序映射表,可以通过行键的前缀匹配来检索数据。因此,在HBase中,使用行键来查询数据的效率很高,而使用列来查询数据的效率相对较低。因此,为了提高查询效率,通常需要在设计HBase数据模型时,合理设置行键和列族,而不是使用传统关系型数据库中常用的各种索引。
另外,如果在HBase中使用过多的索引,会增加存储和维护的成本,可能会对HBase的性能和可伸缩性产生负面影响。因此,在使用HBase时,需要根据实际情况合理使用索引,权衡索引的优劣和使用成本。当你 *** 作一行数据的时候,这个regionserver 会对这个行进行暂时锁定,来进行 *** 作,
从好的方面看,我们可以并发的进行原子读 *** 作,或者压根不能修改 *** 作。除非可以可以容忍误差(部分更新,数据时效不敏感)
在弊的方面看,这意味着单个行内的吞吐量的写入 *** 作被限制(可能几百每秒)。
对一个row进行 *** 作的负载均衡和分布式单位都在一个region上,所以这个region到底有多忙,他也只会通过这台机器提供服务。如果是多行那么就可以做多台服务进行一个负载均衡。
在一些早起版本有些bug,他会突然加载反序列化整行数据到内存中,所以行column非常多(100MB)的话就会导致OOM, 这些bug可能已经解决了吧?regionserver也会更聪明的选择需要的column进行加载。
这个是需要明确的。
如果你不需要做原子 *** 作,那么可能最好的方式是设计一个高表模型来实现的逻辑在物联网应用系统中使用NoSQL数据库是一个不错的选择,因为NoSQL数据库可以处理海量、多变的数据,并且拥有优秀的横向扩展性。以下是适合物联网应用系统的几种NoSQL数据库类型:
1 文档型数据库:文档型数据库支持存储和查询结构化和非结构化数据,并且能够轻松地存储和检索复杂的数据类型,例如JSON和XML格式。在物联网应用程序中,文档型数据库可以快速存储传感器数据、日志、警报和配置数据等信息。
2 列族型数据库:列族型数据库适用于需要处理大量数据的应用程序,例如数据聚合和时间序列数据分析。在物联网应用程序中,使用列族型数据库可以存储和查询大量时间序列数据,例如传感器读数、状态数据和其他一些深度数据等信息。
3 Key-Value型数据库:Key-Value型数据库是一种简单易用的NoSQL数据库,每个键都关联着一个值。在物联网应用程序中,使用Key-Value型数据库可以存储和查询对象的属性,以及配置数据和元数据等信息。
以上是应用于物联网应用系统中的几种NoSQL数据库类型,也可以根据应用需求和数据类型选择其他适合的NoSQL数据库类型。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)