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
相关推荐
考虑考虑9 小时前
数据库中的EXISTS
运维·数据库·后端
Wang's Blog10 小时前
Java框架快速入门: Spring Security+OAuth2之数据库和实体类的RBAC改造
java·数据库·spring
梦想平凡11 小时前
百游棋牌源代码开发搭建教程(十):隔离部署、备份恢复与双端验收
java·前端·javascript·数据库·源代码管理
xcLeigh11 小时前
让大模型长出手脚,自己写SQL查数据库(Function Calling初探)
数据库·人工智能·sql·时序数据库·timechoai
yume_sibai12 小时前
06-Rust Web 开发实战(Axum 框架 + 数据库 + JWT 认证 + 中间件 + 部署)
前端·数据库·rust
AugustRed13 小时前
Neo4j 图数据库原理 + 应用场景简单介绍
数据库·neo4j
Gl�ria13 小时前
Redis 高可用架构对比
数据库·redis
唐青枫14 小时前
MongoDB 从零到能用:文档、CRUD、聚合与 Node.js 实战
mongodb
IpdataCloud14 小时前
高可用的IP数据接口平台有哪些?从可用性、P99延迟到离线部署的评估框架(含代码)
数据库·tcp/ip·ip
呆萌很14 小时前
MySQL 数据库和表的管理操作(命令行)
数据库·mysql