> 硕士毕业论文 > 57600字硕士毕业论文NoSQL数据库的技巧及应用分析。

57600字硕士毕业论文NoSQL数据库的技巧及应用分析。

论文类型:硕士毕业论文
论文字数:57600字
论点:数据库,互联网,数据
论文概述:

随着NoSQL数据库技术的不断发展,它在当今互联网应用中的使用越来越广泛。本文介绍了NosQL数据库技术的起源,从NosQL的概念与特性、数据模型、数据可靠性和分布式扩展方面对NoSQL数据库技

论文正文:

第一章导言

1.1主题背景

自20世纪90年代以来,互联网应用经历了用户通过互联网获取信息的网络1.0时代,现在它们已经发展成为更加关注用户交互的网络2.0时代。在此期间,互联网应用程序的用户基数高达2000至100多万。应用内容已经从严格的业务流程(如机票预订和股票交易)发展到各种领域(如通信、购物、娱乐和社交)。数据量也从结核病上升到了结核病,并继续激增。互联网应用已经进入大数据时代。
在此期间,计算机网络和硬件水平发展迅速。为应对互联网应用的转型,应用架构也从集中式处理和纵向扩展的交互系统架构演变为现代网络应用的分布式横向扩展系统架构,通过添加更多的网络服务器来支持更多的用户。为了应对大数据时代海量数据的分析和处理,出现了基于大规模廉价计算平台的云计算和分布式大数据集处理模型MapReduce
。与快速转换应用架构和数据处理技术相比,关系数据库技术在过去几十年发展缓慢。面对不断变化的互联网应用,传统关系数据库面临以下问题。
(1)高并发读写时代的互联网
网页2.0需要根据用户的个性化信息实时生成动态页面并提供动态信息。因此,数据库的并发负载非常高,每秒达到数万个读写请求
(2)海量数据的高效存储和访问
Renren.com和新浪微博等社交网站,用户每天都在这些网站上产生巨大的用户动态。例如,新浪微博拥有2.6亿条社交网络数据。对于关系数据库来说,在2.6亿条记录的列表中查询SQL是极其低效的。另一个例子是盛大网络和腾讯等大型网站,它们的用户登录系统拥有数亿个账户。关系数据库的管理和查询性能非常低
C3)高可扩展性和可用性
关系数据库技术是为早期的集中式计算模型而设计的。为了适应更多的用户和负载,它采用了向上扩展的方法,即使用更大的服务器来升级中央处理器、内存和硬盘输入/输出(I/O),导致硬件成本急剧上升。关系数据库很难仅仅通过添加更多的硬件和服务器节点(如网络服务器)来扩展性能和负载能力。数据库的升级和扩展需要停机维护和数据迁移,这降低了许多需要提供24小时服务的网站的可用性。
关系数据库很难满足上述三项互联网要求。然而,对于网络2.0时代的互联网应用和大数据时代的海量数据管理,关系数据库的许多主要特性往往不适用:
(1)事务一致性
许多互联网实时系统不需要严格的数据库事务,对读取一致性的要求较低,在某些情况下对写入一致性的要求较低。关系数据库的严格事务管理已经成为数据库高负载下的一个沉重负担
(2)读写实时
关系数据库确保查询能够在插入数据后立即读出数据。然而,许多互联网应用不需要如此高的实时性能。例如,新浪微博上的用户发布一个只有十秒钟甚至几分钟后才被粉丝看到的微博是完全可以接受的。
(3)复杂SQL查询
关系数据库中的复杂SQL查询,尤其是多表关系查询,需要很长时间。具有大量数据的网络系统将在设计阶段避免这种情况。通常,单表主键查询和单表简单条件分页查询不需要复杂的SQL函数
关系数据库。目前,越来越多的互联网应用不再适用。然而,NoSQL是一种非关系数据库技术的通用名,它是为满足这种应用需求而生成的。自其概念提出以来,发展迅速,出现在各种流行的数据库产品中,并广泛应用于互联网应用中。本文将对这一新的数据库技术进行分析和研究,介绍其概念和特点,分析其服务机制,代表蒙古银行重点研究NoSQL数据库核心服务机制的实现和应用优化,给出其在网络信息采集系统中的解决方案,并进行性能测试。

1.2国内外研究现状

nosql数据库可以追溯到1991年伯克利数据库的第一版。伯克利数据库(Berkeley DB)是一个键值存储哈希数据库,适用于数据类型相对简单但需要极高插入和读取速度的嵌入式场合。自2007年以来,NoSQL一直蓬勃发展。谷歌和亚马逊的工程师分别在BigTable和Dynamo数据库上发表了论文,描述了他们已经使用的新数据库的设计思想。BigTable提出了一个列存储模型,证明数据持久存储可以扩展到数千个Dynam节点。然后提出了最终一致性的概念,以实现更高的可用性和可扩展性。分布式缓存系统Memcached证明了内存分布式数据存储可以达到极高的性能。事实上,谷歌的BigTable、亚马逊的Dynamo和分布式缓存系统Memcached可以说是所有NoSQL数据库的发起者。受他们想法的启发,许多公司和组织开发了自己的开源NoSQL数据库产品。例如,Hypertable是BigTable的开源实现。
目前,国外有100多个NoSQL数据库品种。除了谷歌的BigTable、亚马逊的Dynamo之外,主流数据库还包括FaceBook的卡珊德拉、lOgen的MongoDB、亚马逊的SimpleDB、Apache的HBase、Redis、CouchDB、东京内阁/暴君、Memcached等。这些数据库广泛应用于互联网,性能良好。卡珊德拉的用户包括推特、思科、城市和其他公司。已知最大的卡珊德拉集群有400多个节点,最受欢迎的MongoDB数据库存储了300多万个数据,广泛应用于电子商务、政府、数据存储、实时统计、社交网络、游戏等诸多领域。其中,github、sourceforge、迪士尼等知名品牌,淘宝、电平和中国视觉也在使用中。

第三章存储机制和反正常模式设计22-34
3.1数据模型22-25
3.1.1逻辑模型22-23
3.1.2物理模型23-25
3.2网格文件系统25
3.3存储架构25-28
3.4反正常模式设计28-33
3.4.1理论研究28-1 4.1.1分区算法34-35
4.1.2负载平衡35-37
4.2复制集技术37-40
4.2.1数据同步37-38
4.2.2主节点选举38-39
4.2.3应用程序设置39-40
4.3碎片部署策略40-42
4.4碎片密钥选择机制44 5.4查询优化改进51-54
5.4.1优化算法51
5.4.2问题51-52
5.4.3算法改进52-54
5.5索引使用54-55
5.6本章摘要55-56

摘要
随着NoSQL数据库技术的不断发展,它在当今的互联网应用中得到越来越广泛的应用。摘要:介绍了NosQL数据库技术的起源,从NosQL的概念和特点、数据模型、数据可靠性和分布式扩展等方面总结了NoSQL数据库技术。重点研究了流行的NoSQL数据库的代表——蒙古数据库内部服务机制的实现、应用和优化,给出了蒙古数据库在网络信息采集系统中的解决方案,并在性能测试中与SQL Server进行了比较。
本文的主要工作和成果如下:
(1)阐述了NoSQL的概念、数据模型、可靠性、哈希划分和值域划分。
(2)分析蒙古数据库存储、分发、查询等机制的具体实现;
(3)根据文档数据模型的特点,提出了一种反范式设计方法。基于数据依赖理论,针对不同的依赖关系,采用分别分解或组合数据项的策略,实现非关系数据库的逻辑模式设计。