当前位置: 首页 > news >正文

MongoDB与MySQL有区别吗?用一个表格跟你说明

MongoDB

MySQL

数据库模型

非关系型

关系型

存储方式

虚拟内存+持久化

不同引擎有不同存储方式

查询语句

独特MongoDB查询方式

传统SQL语句

架构特点

可通过副本集和分片实现高可用

常见有单点、M-S、MHA、MMM、Cluster等架构方式

数据处理方式

基于内存,将热数据存在物理内存中,从而达到高速读写

不同引擎拥有其自己的特点

成熟度

新兴是数据库,成熟度较低

拥有较为成熟的体系,成熟度较高

优势

  • 无需经过sql层的解析,读写性能高;
  • 基于键值对,数据没有耦合性,容易扩展;
  • 存储数据的格式,nosql使用key:val的形式,文档的形式,图片形式等等,而关系型数据库则只支持基础类型
  • 本身的failover(故障切换)机制,无需使用如MHA之类的方式实现。
  • 容易理解
  • 使用方便
  • 易于维护
  • 事务一致
  • 支持SQL,可用于复杂的查询

缺点

  • 不提供sql支持,学习成本高
  • 无事务处理,附加功能和报表支持也不好
  • 为了维护一执行需要消耗大量的性能
  • 影响读写
  • 固定的表结构
  • 不适合高并发读写需求
  • 不适合海量数据的高效率读写

主要应用场景

  • 数据以文档形式存储,能够有较好的代码亲和性,json格式的直接写入方便。(如日志之类) 
  • 从datamodels设计阶段就将原子性考虑于其中,无需事务之类的辅助。
  • 将mongodb作为类似redis ,memcache来做缓存db,为mysql提供服务,或是后端日志收集分析。

数据库

database

database

数据库表/集合

collection

table

数据记录行/文档

document

row

数据字段/域

field

column

索引

index

index

表连接

不支持

table joins

主键

primary key,自动将_id字段设置为主键

primary key

http://www.lryc.cn/news/33375.html

相关文章:

  • ElasticSearch - 分布式文档索引、搜索、更新和删除文档的过程
  • Python之re库用法细讲
  • MATLAB | 如何绘制github同款日历热力图
  • 认识适配器模式
  • JavaSe第6次笔记
  • 单例设计模式
  • 第七章 opengl之光照(基础光照)
  • 不考虑分配与合并情况下,GO实现GCMarkSweep(标记清除算法)
  • 性能分析利器:火焰图
  • 八股总结(三)操作系统内存管理、进程线程、进程同步与通信、中断与异常、常用命令
  • 概率论小课堂:条件概率和贝叶斯公式(机器翻译的工作原理)
  • 流量与日志分析
  • 英文论文写作常用例句整理汇总(持续更新)
  • [N0wayBack 练习题] My_enc,Euler,EasyLock,RRRRSA,EasyNumber,pwn
  • 网分线缆测试和dc-block
  • Java创建线程的方式只有一种:Thread+Runnable
  • 数据加密--课后程序(Python程序开发案例教程-黑马程序员编著-第3章-课后作业)
  • 【GO】K8s 管理系统项目33[前端部分–登录和登出]
  • Vue 计算属性基础知识 监听属性watch
  • PAT:L1-004 计算摄氏温度、L1-005 考试座位号、L1-006 连续因子(C++)
  • Redis集群方案应该怎么做?
  • 连续点击返回键退出Android 应用
  • 【PyTorch】教程:torch.nn.Hardswish
  • nacos源码入门
  • 【记录】Samba|Windows 11的Samba连接切换用户
  • vue hiprint vue使用hiprint打印控件VUE HiPrint HiPrint简单使用
  • HBase常用Shell命令
  • 【阿里云】Apsara Clouder云计算专项技能认证-云服务器ECS入门,考试真题分享
  • 怎样编写java程序
  • 面向对象设计模式:结构型模式之适配器模式