MySQL与MongoDB

声明:

MySQL与MongoDB都是开源的常用数据库,

但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。

它们各有各的优点,关键是看用在什么地方。

所以我们所熟知的那些SQL语句就不适用于MongoDB了,因为SQL语句是关系型数据库的标准语言。

一、关系型数据库-MySQL

1、在不同的引擎上有不同的存储方式。

2、查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。

3、开源数据库的份额在不断增加,mysql的份额页在持续增长。

4、缺点就是在海量数据处理的时候效率会显著变慢。

二、非关系型数据库-MongoDB

非关系型数据库(nosql ),属于文档型数据库。先解释一下文档的数据库,即可以存放xml、json、bson类型系那个的数据。这些数据具备自述性,呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。

1、存储方式:虚拟内存+持久化。

2、查询语句:是独特的MongoDB的查询方式。

3、适合场景:事件的记录,内容管理或者博客平台等等。

4、架构特点:可以通过副本集,以及分片来实现高可用。

5、数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。

6、成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增长。

三、MongoDB优势与劣势

优势:

1、在适量级的内存的MongoDB的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快。

2、MongoDB的高可用和集群架构拥有十分高的扩展性。

3、在副本集中,当主库遇到问题,无法继续提供服务的时候,副本集将选举一个新的主库继续提供服务。

4、MongoDB的Bson和JSon格式的数据十分适合文档格式的存储与查询。

劣势:

1、 不支持事务操作。MongoDB本身没有自带事务机制,若需要在MongoDB中实现事务机制,需通过一个额外的表,从逻辑上自行实现事务。

2、 应用经验少,由于NoSQL兴起时间短,应用经验相比关系型数据库较少。

3、MongoDB占用空间过大。

四、对比

mysql mongodb 集群_MySQL与MongoDB相关推荐

  1. java 连接mongodb 集群_Java 连接MongoDB集群的几种方式

    先决条件 先运行mongodb肯定是必须的,然后导入以下包: import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; im ...

  2. mongodb 集群shard_【mongoDB运维篇④】Shard 分片集群

    简述 为何要分片 减少单机请求数,降低单机负载,提高总负载 减少单机的存储空间,提高总存空间. 常见的mongodb sharding 服务器架构 要构建一个 MongoDB Sharding Clu ...

  3. mongodb 集群shard_【mongoDB运维篇④】Shard分片集群

    ## 简述 ### 为何要分片 1. 减少单机请求数,降低单机负载,提高总负载 2. 减少单机的存储空间,提高总存空间. ![此处输入图片的描述][1] ### **常见的mongodb shardi ...

  4. mysql windows集群_Mysql集群windows服务器版搭建过程

    此文就聊聊在windows服务器上搭建集群遇到的一些问题,具体的安装和配置解释我就不赘述了.供后续遇到问题的朋友们可以更快的找到问题所在,直接搞定以便避免占用太多不必要的时间. 服务器版本winsev ...

  5. mysql数据库 集群_mysql数据库集群

    mysql用来开发中小型项目还是挺好用的,从节约成本的方面来考虑的确是个不错的选择,但是开发并发了比较大的项目显然还是有些吃力的,前几 年解决这种问题通常是通过读写分离来优化数据库,因此出现了amoe ...

  6. 初探mysql innodb集群_MySQL InnoDB Cluster搭建

    MySQL的高可用架构无论是社区还是官方,一直在技术上进行探索,这么多年提出了多种解决方案,比如MMM, MHA, NDB Cluster, Galera Cluster, InnoDB Cluste ...

  7. mysql搭建集群_Mysql搭建集群Mysql Cluster

    MySQL集群技术在分布式系统中为MySQL数据提供了冗余特性,增强了安全性,使得单个MySQL服务器故障不会对系统产生巨大的负面效应,系统的稳定性得到保障. mysql集群和主从复制的区别:   集 ...

  8. mysql percona 集群_MySQL高可用性解决方案—Percona XtraDB Cluster

    MySQL数据库的性能是服务器运维中不可缺少的部分,需要不断的优化数据库的性能,寻找出系统的瓶颈.今天就来分享一款提高数据库高可用性的解决方案.Percona XtraDB Cluster---MyS ...

  9. mysql双机集群_mysql双机集群

    MYSQL集群服务配置 篇文档旨在介绍如何安装配置基于2台服务器的MySQL集群.并且实现任意一台服务器出现问题或宕机时MySQL依然能够继续运行. 注意! 虽然这是基于2台服务器的MySQL集群,但 ...

最新文章

  1. 密切值matlab程序,密切值法
  2. A. Arithmetic Array Codeforces Round #726 (Div. 2)
  3. 使用 position: sticky 达到粘性元素区域悬浮效果
  4. 截短 UTF-8 字符串
  5. SqlServer数据库分离与附加
  6. ul阻燃标准有几个等级_UL 阻燃标准
  7. php 抓取天气显示天气图片,Geektool 使用 python+beautifulsoup 抓取天气显示
  8. 力度更大的当当购书优惠来了!实付满200-50!
  9. [python爬虫] Selenium爬取新浪微博内容及用户信息
  10. 伪终端设备ttySx/ttyx/ptyMN/ttyMN/ptmx/(pts/x)
  11. 浅谈聚合支付系统的安全性
  12. php取网盘真实链接,【已解决】获取蓝奏云真实链接问题?
  13. A002-181-2162
  14. SLAM-Visual Navigation学习之SIFT算法与代码详解
  15. Android版本代号
  16. 大数据的Hadoop架构有哪些优势?
  17. matlab 白平衡,白平衡算法
  18. 阿基米德优化算法AOA附Matlab代码
  19. 感受美国小学生的幸福校园生活! (转)
  20. failure: repodata/repomd.xml from docker-main-repo: [Errno 256] No more mirrors to try.

热门文章

  1. 如何使用 rsync 备份 Linux 系统的一些介绍
  2. 面试官:如果让你设计一个消息中间件,如何将其网络通信性能优化10倍以上?【石杉的架构笔记】...
  3. unity集成openinstall流程
  4. 《Android 应用案例开发大全(第二版)》——2.6节绘制相关类
  5. JAVA 获取文件的MD5值大小以及常见的工具类
  6. datatable导出Excel
  7. SQLAlchemy 使用经验
  8. Fedora19 搭建LAMP环境
  9. 汉诺塔--(数据结构)
  10. png文件头_文件上传总结