物联网时代,大量的数据从不同的设备传感器产生,单机数据库系统肯定无法存储这么大量的数据,在选择数据库方面,肯定要选择具有分布式能力存储的数据库。
在物联网时代,数据之间还有一个非常重要的特性,那就是数据之间的关联性。不同的数据从相互连接的互联网设备传感器中产生,由于不同的传感器相互连接,协同工作和采集数据,如何将大量具有相互关联的数据保存在数据库,这里我推荐使用图数据库来进行存储。
图数据库相对于其他数据库来说,最大的优势就是查询数据之间的关联性会更加快速,消耗的时间会更短。打个比方,在社交网络中,我们想要查询在用户A的粉丝中,粉丝关注了B的用户。如果使用传统关系型数据库来存储用户的关注关系,在上面的数据统计中,要使用两层Join才能算出结果,而关系型数据库Join *** 作会很慢。使用图型数据库存储数据的话,图中的点为用户,边为用户的关注关系,在查询A的粉丝,同时粉丝也关注B的用户,只需要遍历两层关注关系就能很快查询到结果。
图数据库也属于NoSql数据库的一种,常用的图形数据库有,JanusGraph、Neo4j、Cayley、dgraph。不同的图数据库,底层实现也不尽相同。
JanusGraph是一种分布式图数据库,由Java语言开发,可以使用Hadoop生态存储系统作为数据源,构建出数据大图。是TiTan图数据库的开源版本,支持事务的ACID。
Neo4j是一种单机的图数据库,其优势就是能够快速安装并且使用,便于新同学上手。你的数据量一般不大的话,我推荐使用Neo4j,直接使用Neo4j相关的API就可以将数据模型图构建而出,然后使用Neo4jCypher查询语言,就可以分析数据,Cypher是一种类SQL的语言。
Cayley和Dgraph都是使用Go语言实现的图数据库,Go语言的最大特性就是其编译速度和开发便捷性,Cayley和Dgraph都支持分布式存储,不过都不支持SQL语言查询数据,Dgraph不支持事务,而Cayley支持事务,不过在开源社区,Dgraph比Cayley更加活跃,这里优先建议使用Dgraph作为物联网的存储数据库。
总体来说,在物联网时代,一定要学会使用图数据库,在分析大量数据之间的关联性时,图数据库就能够派上用场,图数据库最大的优势就是分析不同数据之间的关联性。
云计算与大数据概述云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。狭义云计算指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。它意味着计算能力也可作为一种商品通过互联网进行流通。
大数据(big data),或称海量数据,指的是所涉及的资料量规模巨大到无法透过目前主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。大数据的4V特点:Volume、Velocity、Variety、Veracity。
从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不可分。大数据必然无法用单台的计算机进行处理,必须采用分布式计算架构。它的特色在于对海量数据的挖掘,但它必须依托云计算的分布式处理、分布式数据库、云存储和虚拟化技术。
大数据管理,分布式进行文件系统,如Hadoop、Mapreduce数据分割与访问执行;同时SQL支持,以Hive+HADOOP为代表的SQL界面支持,在大数据技术上用云计算构建下一代数据仓库成为热门话题。从系统需求来看,大数据的架构对系统提出了新的挑战:
1、集成度更高。一个标准机箱最大限度完成特定任务。
2、配置更合理、速度更快。存储、控制器、I/O通道、内存、CPU、网络均衡设计,针对数据仓库访问最优设计,比传统类似平台高出一个数量级以上。
3、整体能耗更低。同等计算任务,能耗最低。
4、系统更加稳定可靠。能够消除各种单点故障环节,统一一个部件、器件的品质和标准。
5、管理维护费用低。数据藏的常规管理全部集成。
6、可规划和预见的系统扩容、升级路线图。
云计算与大数据的关系
简单来说:云计算是硬件资源的虚拟化,而大数据是海量数据的高效处理。虽然从这个解释来看也不是完全贴切,但是却可以帮助对这两个名字不太明白的人很快理解其区别。当然,如果解释更形象一点的话,云计算相当于我们的计算机和 *** 作系统,将大量的硬件资源虚拟化后在进行分配使用。
可以说,大数据相当于海量数据的“数据库”,通观大数据领域的发展我们也可以看出,当前的大数据发展一直在向着近似于传统数据库体验的方向发展,一句话就是,传统数据库给大数据的发展提供了足够大的空间。
大数据的总体架构包括三层:数据存储,数据处理和数据分析。数据先要通过存储层存储下来,然后根据数据需求和目标来建立相应的数据模型和数据分析指标体系对数据进行分析产生价值。
而中间的时效性又通过中间数据处理层提供的强大的并行计算和分布式计算能力来完成。三者相互配合,这让大数据产生最终价值。
不看现在云计算发展情况,未来的趋势是:云计算作为计算资源的底层,支撑着上层的大数据处理,而大数据的发展趋势是,实时交互式的查询效率和分析能力,借用Google一篇技术论文中的话:“动一下鼠标就可以在妙极 *** 作PB级别的数据”,确实让人兴奋不能止。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)