MongoDB和Mysql区别与各自优缺点

最近使用数据库来做大模型Chat记录和后续的数据处理,对比mysql和mongodb,整理如下:

数据库 mysql mongoDB
介绍 - MySQL 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 MySQL AB 公司开发、发布并支持,由 MySQL 的初始开发人员 David Axmark 和 Michael Monty Widenius 于1995 年建立的。 - 功能强大 - 支持跨平台 - 运行速度快 - 支持面向对象 - 安全性高 - 成本低 - 支持各种开发语言 - 数据库存储容量大 - 支持强大的内置函数 - MongoDB 是一个基于分布式文件存储的数据库。 - 由 C++ 语言编写,是一个开源数据库系统。 - 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 - MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 - MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。 - MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。 - 在高负载的情况下,添加更多的节点,可以保证服务器性能。 - 它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 - MongoDB服务端可运行在Linux、Windows平台,支持32位和64位应用,默认端口为27017。 推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。
官网 https://www.mysql.com/ https://www.mongodb.com/
特性 - 关系型数据库是指采用了关系模型来组织数据的数据库; - 关系型数据库的最大特点就是事务的一致性 - 简单来说,关系模型指的就是二维表格模型,关系型数据库就是由二维表及其之间的关联组成的数据组织 - 使用键值对存储数据 - 分布式 - 不支持ACID特性 - 非关系型数据库严格上来说,不算是一种数据库,应该是一种数据结构化存储方法的集合
优点 - 容易理解; - 使用方便; - 易于维护; - 支持SQL,可用于复杂的查询 - 无需经过sql层的解析,读写性能高; - 基于键值对,数据没有耦合性,容易扩展; - 存储数据的格式,nosql使用key:val的形式,文档的形式,图片形式等等,而关系型数据库则只支持基础类型
缺点 - 为了维护一执行需要消耗大量的性能, - 影响读写 - 固定的表结构 - 高并发读写需求 - 海量数据的高效率读写 - 不提供sql支持,学习成本高 - 无事务处理,附加功能和报表支持也不好
场景 我需求的场景是大模型Chat聊天记录,操作简单,数据结构灵活。有图片和文档。所有选择MongoDB
相关推荐
RestCloud36 分钟前
跨境数据传输:ETL如何处理时区与日期格式差异
mysql·api
RestCloud1 小时前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
得物技术4 小时前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
xiaok5 小时前
mysql中怎么创建一个可控权限数据库账号密码给到开发者
mysql
可涵不会debug8 小时前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库
ByteBlossom8 小时前
MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
数据库·mysql·面试
玉衡子8 小时前
九、MySQL配置参数优化总结
java·mysql
麦兜*8 小时前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud
Slaughter信仰8 小时前
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第十章知识点问答(10题)
java·jvm·数据库
麦兜*8 小时前
MongoDB 在物联网(IoT)中的应用:海量时序数据处理方案
java·数据库·spring boot·物联网·mongodb·spring