MongoDB和MySQL应用和结构分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MongoDB和MySQL应用和结构分析

MongoDB和MySQL应用和结构分析   摘要:随着大数据的发展,原有的数据存储方式已经很能满足业务需求,很多数据的存储使用了NoSQL(非关系型数据库)。例如MongoDB、Redis就是如今很好的两种NoSQL代表。但传统关系型数据库的应用还是占据了很大的比重,很多项目的数据库还是选用Oracle、MySQL、SQL Server、DB2等。目前很多实际项目中使用关系型数据库结合NoSQL作为数据存储方式,如何选择数据库需要根据具体项目业务要求而定。通过MongoDB与MySQL作为两种数据库的代表,分析具体应用场景与数据存储结构原理。   关键词:NoSQL;关系型数据库;MongoDB;MySQL;数据存储结构   中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)32-0005-02   1 概述   处在互联网科技高速发展的今天,信息大爆炸时期。当数据量过大,就需要一种新的数据存储方式,这时候的关系型数据库就显得有些力不从心,这时可以使用NoSQL―非关系型数据库。   关系型数据库中的MySQL在市场中的占有率仅次于Oracle,并且呈上升的趋势。MySQL数据库在在系统的应用中,和其他关系型数据库(Relational DBMS)有着类似的SQL语句。同时MySQL在系统中数据的查询也是比较快。通过创建MySQL的索引查找数据,其本质就是查询B+树上存储的值。查询效率也是很高的,但是在某些方面也会显得短板明显。   信息过剩时代有时?P系型数据库并不能很好地解决这些问题,技术发展将会考虑使用与之对立的非关系型数据库来弥补其中的不足。MongoDB是非关系型数据库中的一种,其市场占有率已然到了前五。常用的非关系型数据库也有Redis、Cassandra、HBase等。   MongoDB在某些方面可以弥补一些关系型数据库的短板。MongoDB属于NoSQL数据的一种,NoSQL可以为Web应用数据的存储提供关系型数据库无法满足的可扩展、高性能的解决方案。同时NoSQL支持的数据结构比较松散,内部数据存储结构使用类似JSON的数据存储格式BSON(BinaryJSON),因此可以很好的弥补关系型数据库的不足,存储复杂类型数据。   MongoDB中数据索引使用B-Tree数据结构存储。它并不是传统的关系性数据库,而是以JSON格式作为存储的NoSQL,目的就是高性能,高可用,易扩展。   2 应用场景   2.1 MongoDB   MongoDB作为NoSQL数据库家族一员,具有NoSQL数据库的特性和应用价值。MongoDB内部结构使用了BSON存储数据,BSON同时也作为网络数据交换的类型。BSON是schema-free类型,所以在MongoDB中文档对应也有此特征。MongoDB中一个文档Document也类似于关系数据库中的一条记录(Record),但这Document的使用的数据类型、存储方式更丰富,例如多个Document可以相互嵌套使用。   同时MongoDB拥有高可用、易扩展性,使得以MongoDB为代表的NoSQL数据库被广泛应用在游戏、物流、电商、内容管理、社交、物联网、视频直播等。   2.2 MySQL   MySQL不同于MongoDB的文档类型数据存储格式,MySQL使用索引存储数据。MySQL数据库支持多种存储引擎,不同存储引擎对索引的支持也不相同。如全文索引、B-Tree索引、B+Tree索引和哈希索引等等。InnoDB与MyISAM存储引擎在应用中使用最为广泛。其索引内部数据结构使用B-Tree和B+Tree。   MySQL是符合三范式的标准关系型数据库,支持事物。在传统应用领域有着得天独厚的优势以及应用的成熟度。最常见的应用在Web网站、日志系统、数据仓库、嵌入式系统等。   3 内部结构   3.1 MongoDB内部数据结构   3.1.1 BSON(BinaryJSON)   在MongoDB中数据是以文档Document的形式展现,广泛被应用在服务器和客户端的交互中。   BSON是一个轻量级且类似于JSON的二进制数据存储格式。MongoDB中的数据以BSON格式存储在磁盘。   BSON数据存储结构主要拥有以下几个优点:(1)更快的遍历速度;(2)操作简易;(3)数据字段、类型易于扩展。   3.1.2 内部结构   一个集合命名空间中拥有多个数据域(extent),集合命名空间里存储集合元数据,比如集合名称,第一个数据域和最后一个数据域的位置等等。而一个数据域由若干条文档(document)组成,每个数据域都有一个头部,记录着第一条文档和最后一条文档的为知,以及该数据域的一些

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档