APP下载

基于NoSQL数据库的大数据查询技术探讨

2018-12-24梁红颖辽宁现代服务职业技术学院

数码世界 2018年7期
关键词:键值数据模型结构化

梁红颖 辽宁现代服务职业技术学院

前言:大数据时代的来临,对现代人的生活方式产生了很大的影响。而NoSQL数据库因其具有高性能、高可用、易扩展及数据模型灵活等优势在众多互联网公司应用。而且NoSQL作为一种非关系型的数据库存数在使用上已经超过了关系型的数据库,因此基于NoSQL数据库的大数据查询技术引起了各界的关注。

1.NoSQL数据库的概念及相关理论

NoSQL泛指非关系型数据库,是“Not Only SQL”的缩写。由于数据在数据库中存储的方式为非关系型,和传统数据库中所使用的结构化数据形式差异明显。传统数据库中表与表间的关联问题导致其性能受限,而NoSQL数据库的不固定键值对结构突破了性能上的局限,有效降低了数据库的存储、计算及查询等各项操作在时空上的开销。因此,NoSQL与传统数据库最关键的不同就是,NoSQL以非关系为核心,而传统数据库则以关系为核心。

1.1 CAP原理

CAP是“Consistency Availability Partition tolerance”的缩写。CAP理论简单来说就是指分布式系统具有一致性、可用性和分区容错性三个特性,但是任何分布式系统只能同时满足以上两点,不能兼顾三者。其中的一致性(C)即所有的数据变动都是同步进行的,数据一致更新,可用性(A)指分布式系统具有良好的响应性能,而分区容错性(P)也可以称为可靠性,如果分布式系统中有一个或几个机器出现故障,而其他的机器还可以正常运行,因此具有良好的容错性。

1.2 BASE思想

BASE思想主要强调基本的可用性,与ACID在单机环境中数据属性不同,BASE是在分布式情况中数据的属性。如果想要纯粹的高性能,则须以一致性或是分区容错性为牺牲。BASE思想的方案在性能上具有挖掘的潜力,主要实现有:按功能划分数据库和共享分片。

2.NoSQL数据库的类型

2.1 列存储数据库

该类数据库的数据模型为采用列的形式存储,同一列的数据将会被存放在一起。主要应用于信息检索系统和分布式的文件系统中。具有查找速度快、查询效率高、可扩展性强、易于分布式扩展等优势。不足之处就是在功能上存在一定的局限性,例如没有SQL查询语言、没有二级索引。

2.2 键值保存的数据库

此类数据库所采用的数据结构主要是哈希表,哈希表由两部分组成:指针和键值信息。键值保存的数据库其数据模型为一系列的Key-Value键值对存储,可以实现内容缓存,适用于混合工作负载且需要扩展的数据集,可以进行快速查询。不足之处在于存储的数据缺少结构化。

2.3 图形数据库

图形数据库通过使用灵活的数据模型,比较关注数据之间的关系。主要应用于社交网络、推荐系统中。图形数据的建模、查询都十分简单。优势在于能够利用图形结构的相关算法。不足之处是必须对整个图做计算才可以得出结果,不易进行分布式的集群。

2.4 文档型数据库

文档型数据库的数据模板为形式化的文档,对于半结构和非结构文档则要以具体的形式进行保存。数据模型为一系列键值对,主要应用于Web。此类数据库具有丰富的查询语言与索引机制,因此查询性能较强。对于数据的结构没有严格的要求,不需要定义表结构。不足之处在于此类数据库不支持JOIN查询与事物处理。

3.基于NoSQL框架的数据查询技术特点分析

NoSQL框架的数据查询技术与传统关系型数据库查询技术相比,具有其独特的特点,这是由适用于NoSQL框架的数据特点所决定的,主要包括以下几个特点:(1)分布式的备份特点。NoSQL将高扩展性与高可用性作为目标,如果想要达成这个目标则需通过分布式的备份来实现。分布式能够体现高扩展性,而备份则实现了高可用性。因此在整体上显著提高了系统的容错性能。(2)数据的海量性特点。随着社交网络的不断发展与扩大,推动了传感技术与移动设备的普及与应用,尤其是现代化智能手机的兴起,方便了人与人之间的交流与沟通,有关娱乐方面的信息呈现出爆炸式的增长态势,例如微信、微博、手机游戏等的数据量已达TB、PB,甚至更高水平。(3)数据类型多元化特点。当前多数的WEB应用都需处理半结构化或是非结构化的数据,例如视频、图像、音频等数据,而此类数据不适于存储在像MySQL这类的关系型数据库中,但是对于此类数据的查询与储量在非关系数据库中往往能表现出较好的性能。

4.NoSQL数据库的优势

4.1 NoSQL数据库是可扩展性的关键

在数据库发展过程中,从纵向到横向的拓展变化推动了NoSQL的发展与应用。NoSQL数据库作为一种分布式横向扩展技术,通过使用分布式节点集提供高度弹性拓展功能,用户只要添加节点就可以进行对负载的动态处理。与纵向扩展做法相比,分布式横向扩展的做法更加经济实惠。而且NoSQL数据库多是开源技术,根据运行的服务器集群进行收费,在价格上更加便宜。

4.2 NoSQL数据库是灵活性的关键

NoSQL数据库数据为非关系型,不需依赖表与表之间的关系,就可以进行信息的存储与组织。如采用文档型数据库获取想要存储的数据,以JSON的格式整合到文档中。每个JSON文档都能被应用程序视为一个对象,而且JSON文档能够实现提取跨越多个表的数据,并将数据汇集到一个文档中,虽然聚合这些数据信息会存在信息重复的现象,但由于不用考虑存储问题。因其数据模型灵活、发布产生的文档简便,而且读取与写入的性能高,所以应用广泛

4.3 NoSQL数据库是大数据应用程序的关键

现阶段,通过第三方,就可以访问和捕捉数据。包括用户个人信息、用户生产的内容、地理位置数据、及其记录数据等。企业通过大数据来推动关键任务型应用程序,因为NoSQL数据库适合现代的新型数据类型,所以很多企业正转向该数据库。大多数新型数据都是半结构化或非结构化,通过灵活的数据库,很容易适应新的数据类型,即便第三方数据供应商的内容结构发生变化,也不会受到影响。

5.基于NoSQL数据库的大数据查询技术的具体应用

以我国的铁路网路售票系统为应用对象,在对其进行系统设计和技术架构环节时,从数据层、服务层、应用层及展现层都可以体现大数据的优势与特点。数据层主要体现为当购票者信息数据访问系统时,可以通过Java的设计模式快速调度其实名制信息,结合Kettle对购票者的个人信息数据进行快速的调取与转换,为应用层的出票提供了有力的保障。服务层的重点在于工作流程可以对所有任何数据层快速调用,从而为应用层提供如分析、统计、查询等功能上的支持,为系统对售票信息的判断、管理与推送提供便捷。展现层更多的是关注用户的体验。不仅能够为用户提供全面、准确的快速访问导航,还可以满足系统自身的发展需要。即使在铁路售票的高峰期,出现海量的访问需求,也可以为用户提供良好的购票体验,有效避免了网站堵塞或崩溃现象的发生。与此同时,还实现了在升级与改造成本上的控制,通过充分利用大数据查询技术优势对系统进行升级与改造,能够避免过多使用高成本、高性能设备,降低了投入成本。

总结:综上所述,当前基于NoSQL数据库的大数据查询技术在众多领域被广泛应用,为数据库的发展和应用提供了有力的技术保障。其在互联网数据访问需求方面具有明显的优势,提高了数据的扩展能力与查询速率。

猜你喜欢

键值数据模型结构化
基于区块链的微网绿电交易数据模型研究
改进的非结构化对等网络动态搜索算法
深度学习的单元结构化教学实践与思考
非请勿进 为注册表的重要键值上把“锁”
结构化面试方法在研究生复试中的应用
左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习
基于Pro/E 的发射装置设计数据快速转化方法
一键直达 Windows 10注册表编辑高招
经济全球化对我国劳动收入份额影响机制研究——基于面板数据模型
注册表值被删除导致文件夹选项成空白