mariadb和mongodb区别介绍

mariadb和mongodb区别介绍

ID:8970418

大小:51.70 KB

页数:7页

时间:2018-04-13

mariadb和mongodb区别介绍_第1页
mariadb和mongodb区别介绍_第2页
mariadb和mongodb区别介绍_第3页
mariadb和mongodb区别介绍_第4页
mariadb和mongodb区别介绍_第5页
资源描述:

《mariadb和mongodb区别介绍》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、MongoDB与MariaDB介绍MongoDB:1.MongoDB1.1MongoDB简介MongoDB是一个基于分布式文件存储的数据库,介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。MongoDB支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。MongoDB是高性能开源文档数据库,也是目前最受关注的NoSQL技

2、术之一,以敏捷、可扩展和对企业应用友好(支持事务,一致性和数据完整性保证,有大企业应用案例)而著称。使用MongoDB的公司包括Foursquare,Craiglist,迪士尼,SAP,Intuit,EA等,国内淘宝、大众点评、视觉中国等公司有应用。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。MongoDB有一个强大、灵活和可扩展数据存储区。它结合了能力扩展与关系数据库的许多最有用

3、的功能,如次索引范围查询和排序。MongoDB也具备十分强大的分片功能,如内装的支持处理样式聚集和空间的索引。但MongoDB在机制上仍属于NoSQL,由于NoSQL的使用经验缺乏、CPU占有率过大等缺点也制约了MongoDB的发展。1.2MongoDB特点l面向集合的存储:适合存储对象及JSON形式的数据。l动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。l完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。l查询监视

4、:Mongo包含一个监视工具用于分析数据库操作的性能。l复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。l高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。l自动分片以支持云级别的伸缩性(处于早期alpha阶段):自动分片功能支持水平的数据库集群,可动态添加额外的机器。1.3MongoDB的版本发布1)2012年05月23日,MongoDB2.1开发分支发布了!该版本采用全新架构,包含诸多增强。2)2012年06月06日,Mong

5、oDB2.0.6发布,分布式文档数据库。3)2013年04月23日,MongoDB2.4.3发布,此版本包括了一些性能优化,功能增强以及bug修复。4)2013年08月20日,MongoDB2.4.6发布。5)2013年11月01日,MongoDB2.4.8发布,是目前最新的稳定版。2.与关系型数据库相比,MongoDB的优缺点(1)优点:①弱一致性(最终一致),更能保证用户的访问速度:举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值。这在某些情况下,例如通过ATM查看账

6、户信息的时候很重要,但对于Wordnik来说,数据是不断更新和增长的,这种“精确”的保证几乎没有任何意义,反而会产生很大的延迟。他们需要的是一个“大约”的数字以及更快的处理速度。但某些情况下MongoDB会锁住数据库。如果此时正有数百个请求,则它们会堆积起来,造成许多问题。我们使用了下面的优化方式来避免锁定:每次更新前,我们会先查询记录。查询操作会将对象放入内存,于是更新则会尽可能的迅速。在主/从部署方案中,从节点可以使用“-pretouch”参数运行,这也可以得到相同的效果。 使用多个mongod进程。我们根据访问模式将数据库拆分

7、成多个进程。 ②文档结构的存储方式,能够更便捷的获取数据。对于一个层级式的数据结构来说,如果要将这样的数据使用扁平式的,表状的结构来保存数据,这无论是在查询还是获取数据时都十分困难。举例1:就拿一个“字典项”来说,虽然并不十分复杂,但还是会关系到“定义”、“词性”、“发音”或是“引用”等内容。大部分工程师会将这种模型使用关系型数据库中的主键和外键表现出来,但把它看作一个“文档”而不是“一系列有关系的表”岂不更好?使用“dictionary.definition.partOfSpeech='noun'”来查询也比表之间一系列复杂(往往

8、代价也很高)的连接查询方便且快速。举例2:在一个关系型数据库中,一篇博客(包含文章内容、评论、评论的投票)会被打散在多张数据表中。在MongoDB中,能用一个文档来表示一篇博客,评论与投票作为文档数组,放在正文主文档中。这样数据更易于

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。