Comments

MongoDB 是NoSQL 数据库,适合存JSON格式数据,MySQL是关系型数据库,适合存table格式数据

MongoDB扩展性更好,MySQL支持主从和cluster但是感觉不咋样

mongodb 没有事务、联表(join)查询的支持,其实有inlook 简单的联表查询支持的

mongodb 插入更新大量数据比较快,mysql 查询大量相关数据比较快

MongoDB有很好的HA和恢复支持

some important quotes:

  • MongoDB is an ideal choice if you have unstructured and/or structured data with the potential for rapid growth while MYSQL is a great choice if you have structured data and need a traditional relational database.
  • In general, a project with frequently updated data will benefit more from a relational database than a nonrelational one. An example of such a project would be any kind of transactional system, like an ecommerce platform, a workflow application, or a payment processor.

    On the other hand, a project that rarely updates information, such as an analytics application where data doesn't change after it has been collected, will benefit more from a nonrelational database.

可以考慮使用 NoSQL (譬如 MongoDB),如果

  1. 想快速啟動小專案測試 idea
  2. 資料格式不確定 (unstable schema),而未來很有可能調整
  3. 資料之間沒有複雜的關聯、或未來讀取資料時不需要使用 JOIN 的功能
  4. 著重在快速讀取資料與可用性,而非 ACID

可以考慮使用 RDBMS  (譬如 MySQL),如果

  1. 已經有明確的資料格式,未來不會大幅的變動
  2. 資料之間的關聯很重要
  3. 想要更有效率的讀取資料,未來會大量使用到 JOIN 的功能
  4. 更著重在資料操作的準確性與一致性 (ACID)

上述的情境主要是在個人專案上,如果實際在業界開發,還需要考量到

  1. 商業邏輯的設計
  2. 目前使用的系統(如何加入,需不需要做調整或轉移)
  3. 部署方式
  4. 成本計算
  5. 維護與營運考量
  6. 未來的擴充性
MongoDB MYSQL
MongoDB represents data
as JSON documents.
MySQL represents data
in tables and rows.
In MongoDB, you don’t need to define the schema. Instead, you just drop in documents don’t even need to have the same fields. MySQL requires you to define your tables and columns before you can store anything, and every row in a table must have the same columns.
MongoDB has a pre-defined structure that can be defined and adhered to, but also, if you need different documents in a collection, it can have different structures. MySQL uses Structured Query Language (SQL) for database access. You can’t change the schema.
Supported languages are C++, C Supported languages are C++, C and JavaScript
Ongoing development is done by MongoDB, Inc. Constant development is done by the Oracle Corporation.
MongoDB supports built-in replication, sharding, and auto-elections. MySQL supports master-slave replication and master replication.
If an index is not found, every document within a collection must be scanned to select the documents which offer a match to the query statement. If an index is not defined, then the database engine needs to scan the complete table to find all relevant rows.
GPL v2/ Commercial license available OD GNU AGPL v3.0/ Commercial licenses available OD
If most of your services are cloud based MongoDB is the best suited for you. If data security is your priority then MYSQL is the best option for you.
MongoDB places no restrictions on schema design. MySQL requires you to define your tables and columns before you can store anything. Every row in a table must have the same columns.
MongoDB uses JavaScript as query language. MySQL uses the Structured Query Language (SQL).
MongoDB doesn’t support JOIN. MySQL supports JOIN operations.
It has the ability to handle large unstructured data MySQL is quite slow in comparison to MongoDB while dealing with large databases.
Real-time analytics, content management, internet of things, mobile apps Structured data with clear schema
No schema definition required so lesser risk of attack due to design Risk of SQL injection attacks
An ideal choice if you have unstructured and/or structured data with the potential for rapid growth. A great choice if you have structured data and need a traditional relational database.

Ref:

https://www.bmc.com/blogs/mongodb-vs-mysql/#Disadvantages_of_both

https://blog.panoply.io/mongodb-and-mysql

https://www.guru99.com/mongodb-vs-mysql.html

mysql vs mongodb的更多相关文章

  1. MySQL、MongoDB、Redis数据库Docker镜像制作

    MySQL.MongoDB.Redis数据库Docker镜像制作 在多台主机上进行数据库部署时,如果使用传统的MySQL的交互式的安装方式将会重复很多遍.如果做成镜像,那么我们只需要make once ...

  2. MySQL与MongoDB的操作对比,以及区别

    MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库.它们各有各的优点,关键是看用在什么地方 ...

  3. MySQL vs. MongoDB: Choosing a Data Management Solution

    原文地址:http://www.javacodegeeks.com/2015/07/mysql-vs-mongodb.html 1. Introduction It would be fair to ...

  4. [转]MySQL与MongoDB的操作对比

    MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库.它们各有各的优点,关键是看用在什么地方 ...

  5. 转:视觉中国的NoSQL之路:从MySQL到MongoDB

    起因 视觉中国网站(www.chinavisual.com)是国内最大的创意人群的专业网站.2009年以前,同很多公司一样,我们的CMS和社区产品都构建于PHP+Nginx+MySQL之上:MySQL ...

  6. 阿里云下Linux服务器安装Mysql、mongodb

    阿里云下Linux服务器安装Mysql.mongodb 一.MySQL的安装和配置 1.安装rpm包 rpm -Uvh http://dev.mysql.com/get/mysql-community ...

  7. MySQL、MongoDB、Redis 数据库之间的区别

    NoSQL 的全称是 Not Only SQL,也可以理解非关系型的数据库,是一种新型的革命式的数据库设计方式,不过它不是为了取代传统的关系型数据库而被设计的,它们分别代表了不同的数据库设计思路. M ...

  8. MySQL和Mongodb的区别与应用场景对比

    MySQL是关系型数据库 优势: 在不同的引擎上有不同 的存储方式. 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高. 开源数据库的份额在不断增加,mysql的份额页在持续增长. 缺点 ...

  9. python mysql redis mongodb selneium requests二次封装为什么大都是使用类的原因,一点见解

    1.python mysql  redis mongodb selneium requests举得这5个库里面的主要被用户使用的东西全都是面向对象的,包括requests.get函数是里面每次都是实例 ...

  10. 从MySQL和MongoDB的对比,看SQL与NoSQL的较量

    张家江,网易乐得高级工程师. 贵金属(注:贵金属为笔者部门业务)的行情系统提供的接口通过Redis获取数据,目前使用Redis最多只存储了大概8000条左右的分钟k的行情数据,考虑到将来可能会有更大数 ...

随机推荐

  1. 3款C#开源且实用的工具类库,工作效率提升利器!

    前言 在日常工作开发中工具类库是软件开发中不可或缺的一部分,它们通过提供代码重用.通用功能.隐藏复杂性.提高代码质量.扩展性等方面的优势,帮助开发者更高效.更稳定地构建软件应用程序.今天大姚给大家分享 ...

  2. 羊城杯决赛Misc

    羊城杯决赛Misc easy00aes比赛时没离线0宽环境摆了 LmqHmAsk没思路,赛后看着群里各位师傅讨论才明白预期解,wp里直接放toto师傅的脚本了 这里放个toto师傅博客: https: ...

  3. 27 首页banner文库失效

    安卓app 首页banner文库没有连接功能

  4. [oeasy]python019_ 如何在github仓库中进入目录_找到程序代码_找到代码

    继续运行 回忆上次内容 上上次 真写了万行代码 这 万行代码 都是写在明面上的 这次 使用git命令 下载了 github上面的仓库       添加图片注释,不超过 140 字(可选)   下载仓库 ...

  5. [oeasy]python0053_ 续行符_line_continuation_python行尾续行

    续行符与三引号 回忆上次内容 上次还是转义序列 类型 英文 符号 \a bell 响铃 \b backspace 退格 \t tab 水平制表符 \v vertical tab 垂直制表符换行不回车 ...

  6. 【SQL】Lag/Rank/Over窗口函数揭秘,数据分析之旅

    七月的夏日,阳光如火,但小悦的心中却是一片清凉与激情.在数据分析项目组的新岗位上,她仿佛找到了自己新的舞台,这里让她得以将深厚的后端技术实力与数据分析的精髓深度融合.每天,她都沉浸在业务需求的分析与数 ...

  7. CCF 任务调度

    样例的示意图 查了一圈,然后很烦,不想学习方法,好卡.查了一些题解,发现都是10分,30分先搁置的博客,最后翻到 堪称官方标称的思路 (CCF题目pat题目各大poj/hdoj好戏那个都没有标程,这里 ...

  8. httpclient,轻量级idea集成测试工具

    优点:不用新开一个网页,具有测试数据保存功能,不需要配置即用(对比swagger)     不会特别占内存(对比postman) 使用方法:idea中安装插件 controller方法中点击 选择对应 ...

  9. 【MySQL】拆分经纬度字段

    数据结构: 表中一字段存储经度和纬度: +---------------------------+ | INSTALL_LOLA_NUM | +---------------------------+ ...

  10. 路径规划综述博客:A* Optimizations and Improvements

    地址: https://lucho1.github.io/JumpPointSearch/ 原作者还开发了A* 算法的Windows系统上的小程序:(重点:小程序意义不大,这个综述还是不赖的) 项目地 ...