- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于NoSQL数据库大数据查询技术研究与应用
基于NoSQL数据库大数据查询技术研究与应用
摘 要本文将就基于NoSQL数据库的大数据查询技术及其应用展开探讨。
【关键词】NoSQL数据库 大数据 数据查询
NoSQL数据库根据应用场景不同,可以分为三种类型,即面向分布式计算、面向文档和高性能读写,本文将简要分析基于NoSQL数据库的大数据查询技术的可行性,针对存在的问题提出建议。
1 NoSQL的由来
CAP定理是NoSQL定理的基础,对于CAP定理来说,有一致性、可用性和分区容错性三点要求,但是只能同时满足其中两点,不可能同时满足上述三点要求。如果数据库管理系统是关系型的,那么只能满足定理中一致性和可用性的要求,分布式应用无法满足,因此关系型数据库管理系统比较适用于数据量规模较小的状况,如果数据库应用范围扩展,数据量增加,就会严重影响管理系统的性能。大部分数据不需要很高的系统一致性,而是对系统可用性有较高的要求,由此产生了一种理论――弱一致性。NoSQL的分区容错性、可用性是由其一致性来满足的,因此我们说CAP定理是NoSQL定理的基础。
2 NoSQL数据库类型
根据NoSQL的不同应用场景,可以将其分为以下几种类型:
2.1 面向分布式计算
分布式计算NoSQL数据库要求数据库有较好的横向拓展能力,简单来说,就要不停止服务的情况下仍然能够增加节点,操作其中的任何节点,其他节点也会同步操作。
2.2 面向文档
面向文档的NoSQL数据库除了要求大数据存储,还对查询性能有较高的要求,因此文档存储的形式一般都是json,格式灵活的json能够实现字段索引功能。
2.3 高性能读写
这种数据库要求有很强的读写性能,因此一般用于建设大型网站。
3 NoSQL数据库的相关理论
3.1 一致性哈希算法
通常NoSQL将数据以哈希取模的方法将数据存储在服务节点中,目的是为了能在集群中访问服务器节点数据,这种方法的优点是简单、容易操作,但是一旦扩充了服务节点,就可能出现缓存无法命中等问题,服务节点就会重建缓存并迁移大量的缓存数据,系统负荷大幅上升,可能发生宕机的严重问题。计算机学者David等于1997年提出的consisitent hashing也就是一致性哈希算法解决了上述问题,在NoSQL数据库中,算法过程为:(1)将集群中各个服务节点的哈希值计算出来,服务节点当做圆环上的节点,将哈希值分配给圆环上的节点,同样使用这种方法得到key的哈希值,分配给圆环上的服务节点;(2)沿顺时针方向,以数据映射到的位置为起点,查找服务节点,按顺序将数据保存在第一个服务节点上,服务节点的理论最大值为232个,也就是如果查找232个节点仍然没有找到服务节点,这个数据就要保存在第一个服务节点上;(3)按照上述方法,如果原来的集群上增加了一个节点,节点逆时针的相邻节点key数据要迁移到新节点上,那么数据查找不到服务节点的可能性就大大降低了,缓存的命中率有效提升。
3.2 Bigtable存储模型
Bigtable底层为持久、分布式的稀疏多维度排序Map结构,是一种结构化数据存储系统,一般用于处理服务器上的大型数据。诸如Cassandra、HBase等主流的NoSQL数据库,采用的都是拓展Bigtable存储模型。
4 基于NoSQL数据库大数据查询技术的应用
4.1 背景简介
我国的铁路客票售票系统已经实现了实名制售票,系统在出售车票时,需要将购票人的身份信息、乘车信息等记录下来,长期以来积累了大量数据,为了逐步完善售票系统,为人民提供更加良好的购票体验,必须建立客票实名信息查询分析系统,这也是做好铁路客运客户关系管理工作的基础。在计算机技术飞速发展的今天,各种高性能计算机不断出现,带来了并行计算、分布式计算等新型数据计算技术,也为高性能、低成本数据挖掘计算提供了基础,在这种背景下,基于NoSQL数据库的大数据查询技术能够得到有效应用。
4.2 技术架构
根据查询系统功能,需要应用基于Cassandra数据库和Java设计模式的组织模式,技术架构可以分为四层:数据层,包含实名制身份信息、售票信息等数据,定期将数据抽取出来、转换并将数据加载到数据库中以供调用;服务层的基础是数据,使用Java技术,能够实现统计分析、批量对比、关联查询等功能,服务层是实现查询目的的基础;应用层,能够提供推送、发布、实名制信息管理等功能;展现层,使用浏览器构建用户界面,为用户提供导航功能,将用户需要的信息展现给用户。
4.3 涉及到的信息
铁路客票系统可能经常用到的就是批量或者单独查询乘客的乘车信息和购票信息,也可以根据车次、席次信息查询乘客的身份信息,同样能够实现组合查询
文档评论(0)