`
starbhhc
  • 浏览: 657792 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

mysql 与mongodb的特点与优劣

 
阅读更多

介绍:

    MongoDB是一个基于分布式文件存储的数据库。高性能,开源,无模式的文档型数据库,为WEB应用提供可扩展的高性能数据存储,是当前NoSql数据库中比较热门的一种,由C++语言编写。

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引

默认端口:27017

 

特点:

  高性能、易部署、易使用,存储数据非常方便。主要功能特性有:

  • 面向集合存储,易存储对象类型的数据。

  • 模式自由。

  • 支持动态查询。

  • 支持完全索引,包含内部对象。

  • 支持查询。

  • 支持复制和故障恢复。

  • 使用高效的二进制数据存储,包括大型对象(如视频等)。

  • 自动处理碎片,以支持云计算层次的扩展性

  • 支持Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++语言的驱动程序,社区中也提供了对Erlang及.NET等平台的驱动程序。

  • 文件存储格式为BSON(一种JSON的扩展)。

  • 可通过网络访问。

功能:

 

  • 面向集合的存储:适合存储对象及JSON形式的数据。

  • 动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。

  • 完整的索引支持包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。

  • 查询监视:Mongo包含一个监视工具用于分析数据库操作的性能。

  • 复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。

  • 高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)

  • 自动分片以支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器。

首先我们来分析下mysql 与mongodb的特点与优劣。
下面是我以前做的ppt的部分截图。



分享到:
评论

相关推荐

    java jquery mongodb/mysql 分页

    3. **MongoDB与MySQL比较**: MongoDB是一个NoSQL数据库,适合处理大规模非结构化数据,它的文档型数据模型更适合某些应用场景。MySQL是关系型数据库,对ACID有很好的支持,适用于结构化数据和事务处理。在分页上,...

    knowledge:python学习之路,就是不断累积,不断学习的过程。该知识库讲解了Python Web框架内容,如Django、DjangoRestFramework、tornado、flask,redis,MySQL,MongoDB,docker,Vue等内容

    该知识库讲解了Python Web框架内容,如Django、DjangoRestFramework、tornado、flask,redis,MySQL,MongoDB,docker,Vue等内容。如下展示已整理的知识: git知识库 docker知识库 mysql数据库知识库 redis知识库 ...

    mysql-mongo-performance-test-a:RDBMS和MongoDB的性能对比

    本项目“mysql-mongo-performance-test-a”关注的是RDBMS(关系型数据库管理系统)代表MySQL与NoSQL数据库代表MongoDB之间的性能对比。这次更新是对此主题的深入探究,特别是针对数据插入和查询操作的性能测试。 ...

    eBay的MongoDB弹性数据库设计.docx

    在选择数据库时,eBay 的开发人员会根据数据访问模式、用户负载和数据类型等因素,在MongoDB、Oracle、MySQL等数据库之间做出决策。DBA 团队会在可用性、一致性、持久性、可恢复性、可扩展性和性能等六个维度上评估...

    php检测mysql表是否存在的方法小结

    最后,为了提升大家的PHP开发技能,文末还提供了与主题相关的其他专题链接,包括使用pdo操作数据库、PHP与其他数据库如Oracle、MongoDB的程序设计技巧,以及PHP面向对象的程序设计入门教程、字符串处理等多方面的...

    在Mac系统上配置MySQL以及Squel Pro

    近年来NoSQL大红大紫,其中佼佼者mongoDB更是方便易用。二者的优劣细节讨论起来恐怕不是一篇文章能够搞定的。此处大概总结如下: 适合使用SQL开发的项目: 可以预先定义逻辑相关的离散数据的需求 数据一致性是必要的...

    开源项目研究与应用小结.pdf

    通过对《开源项目研究与应用小结》文档的分析,我们可以看到不同技术栈和工具在高并发敏捷WEB架构、消息队列/总线服务、大规模数据存储等方面的优劣比较。企业在选择合适的开源项目时,需要考虑自身业务的具体需求和...

    TheApplicationofHBaseinNewEnergyVehicleMonitoringSystem.pdf

    数据库技术的选择中包括了MySQL、MongoDB、HBase以及OpenTSDB。其中,MySQL作为关系型数据库适合存储静态信息,有ORM支持;MongoDB是基于文档的数据库,也有ORM支持,但维护和扩展困难;HBase作为列式数据库,写入...

    深圳地铁大数据客流分析系统,包含所有常用技术栈,高分毕业设计!

    这个项目涉及很多的技术栈:Spark、Vue、Kafka、mongoDB、redis、MySQL、SpringBoot、docker、Scala、Phoenix等。由于涉及较多的常用技术框架,能加深对各技术栈的理解运用。只有在使用过程中才能体验各框架的差异和...

    数据库区别

    - **关系型数据库**:如MySQL、Oracle等,采用表格形式存储数据,支持SQL语言进行数据查询与管理。 - **非关系型数据库**(NoSQL):如Redis、MongoDB等,不遵循固定的表结构,更加灵活,适用于大数据处理和高并发...

    PHP开发者常犯的10个MySQL错误更正剖析

    其次,关于PHP操作MySQL的方法选择,mysqli与mysql扩展各有优劣。mysqli提供了面向对象和过程化的两种接口,支持预处理语句和更安全的数据库访问方式,但并不是所有服务器都默认支持mysqli扩展。因此,开发者在选择...

    大数据核心技术分析.pptx

    例如,NFS和HDFS在文件系统上的比较,Pig与Hive在数据分析上的差异,MapReduce与Spark在处理速度上的区别,以及不同数据库(如MySQL与HBase,MongoDB与HBase)在处理大规模数据时的优劣。 算法分析部分提到了多种...

    Lumos博客系统 v2.1.zip

    这里可能使用了PHP、Node.js或其他服务器端语言,配合MySQL或MongoDB等数据库,实现动态内容的生成和数据的持久化存储。 对于想要自定义Lumos博客系统的人来说,源代码提供了无限可能性。你可以根据自己的需求修改...

    db_benchmarks:mongodbmysqlother dbs的基准代码

    《数据库性能基准测试:MongoDB、MySQL与其他数据库的对比》 在信息技术领域,数据库系统的选择对应用程序的性能、可扩展性和稳定性起着至关重要的作用。本篇将详细探讨一款名为"db_benchmarks"的项目,它是一个用...

    大数据核心技术对比分析.pptx

    在数据库方面,MySQL适合关系型数据,而HBase和MongoDB更适合非结构化或半结构化数据。 在算法分析方面,大数据系统常常利用机器学习和数据挖掘技术,如支持向量机(SVM)用于分类任务,如性别和年龄预测;时间序列...

    从无到有搭建中小型互联网公司后台服务架构与运维架构(龙果学院)

    - **数据库**:MySQL、MongoDB、Redis 等。 - **服务器**:选择云服务器如阿里云、腾讯云等。 - **其他工具**:Docker、Kubernetes 等用于容器化和编排。 #### 四、系统设计 - **微服务架构**:将应用分解为一系列...

    仿QQ聊天记录

    这可以通过数据库(如MySQL、MongoDB)实现,也可以选择云存储服务(如AWS S3)。对于历史记录,可采用分页加载策略,提高性能。同时,要考虑数据一致性,确保消息的正确顺序。 实时同步是即时通讯应用的重要特性。...

    卢亿雷-Hadoop生态系统分析

    最后,Hadoop生态系统在数据库方面还包括了HBase、MySQL、MongoDB和Cassandra等。这些数据库系统与HBase各有优劣,适用于不同的应用场景。在数据分析和存储方面,ElasticSearch是一个基于Lucene的搜索引擎,它提供了...

    网络游戏服务器编程(高清完整版pdf)

    在实际开发中,网络游戏服务器还会涉及数据库管理,如MySQL、MongoDB等,用于存储玩家数据、游戏进度等。同时,为了提供更好的用户体验,服务器可能会采用缓存技术,如Redis,来减少对数据库的直接访问。 最后,...

    ppt分享后台系统详解

    2. **技术选型**:选择适合的编程语言(如Java、Python、Go)、框架(Spring Boot、Django、Express)、数据库(MySQL、MongoDB、Redis)等,是构建后台系统的关键步骤。技术选型要考虑性能、可维护性、社区支持等...

Global site tag (gtag.js) - Google Analytics