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
相关推荐
不羁。。2 小时前
【撸靶笔记】第七关:GET - Dump into outfile - String
数据库·笔记·oracle
yangchanghua1114 小时前
pgsql 如何查询今天范围内的数据(当天0点0分0秒 - 当天23点59分59秒....)
数据库·pgsql
larance4 小时前
SQLAlchemy 的异步操作来批量保存对象列表
数据库·python
python_chai4 小时前
从数据汇总到高级分析,SQL 查询进阶实战(下篇)—— 分组、子查询与窗口函数全攻略
数据库·sql·mysql
在努力的前端小白4 小时前
Spring Boot 敏感词过滤组件实现:基于DFA算法的高效敏感词检测与替换
java·数据库·spring boot·文本处理·敏感词过滤·dfa算法·组件开发
未来之窗软件服务4 小时前
自建知识库,向量数据库 (九)之 量化前奏分词服务——仙盟创梦IDE
数据库·仙盟创梦ide·东方仙盟·自建ai·ai分词
冒泡的肥皂8 小时前
MVCC初学demo(一
数据库·后端·mysql
.Shu.9 小时前
Redis Reactor 模型详解【基本架构、事件循环机制、结合源码详细追踪读写请求从客户端连接到命令执行的完整流程】
数据库·redis·架构
anghost15010 小时前
基于单片机的智能声控窗帘
单片机·嵌入式硬件·mongodb
Bruce_Liuxiaowei11 小时前
MySQL完整重置密码流程(针对 macOS)
mysql