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
相关推荐
q***61417 分钟前
Spring中Aware的用法以及实现
java·数据库·spring
红树林0716 分钟前
渗透测试之sql注入--报错注入
数据库·sql·安全·web安全
菜鸟小九42 分钟前
mysql(锁)
数据库·mysql·oracle
c***42101 小时前
【Sql Server】随机查询一条表记录,并重重温回顾下自定义函数的封装和使用
数据库·性能优化
q***44811 小时前
PostgreSQL的备份方式
数据库·postgresql
v***59831 小时前
【SQL Server】超详细SQLServer日期转换、字符串、数学、聚合等常用函数大全(最新版)
数据库·sqlserver
q***23572 小时前
python的sql解析库-sqlparse
数据库·python·sql
云和数据.ChenGuang2 小时前
运维面试题之oracle和mysql单表最大容量
运维·mysql·oracle
q***92512 小时前
sql实战解析-sum()over(partition by xx order by xx)
数据库·sql
gladiator+2 小时前
Redis之BigKey的常见问题以及大厂相关面试题
java·数据库·redis