nosql和mysql的区别

发布时间 2024-01-07 18:54:49作者: 北·岛

一:

nosql与mysql的区别是:

1、MySQL是一个基于表格设计的关系数据库,而NoSQL本质上是非关系型的基于文档的设计;

2、MySQL的严格模式限制并不容易扩展,而NoSQL可以通过动态模式特性轻松扩展等等。

3、MySQL中使用的标准语言是SQL;而NoSQL中缺乏标准的查询语言。

二:

nosql与mysql的CRUD语句:

1.nosql查询: db.表名.find({}) mysql查询:select * from 表名

2.nosql添加: db.表名.insert({}) mysql添加:insert into 表名() values ()

3.nosql删除: db.表名.delete({}) mysql删除:delete 表名 where 条件

4.nosql修改: db.表名.update({$set:{字段名称:'字段值'}}) set如果存在这个字段则更新,不存在则创建 mysql修改: update 表名 set where 字段名称=字段值

三:

nosql和mysql的优缺点:

nosql非关系数据库:

<1>NoSQL数据库的特点是:

- 非结构化的存储。

- 基于多维关系模型。

- 具有特有的使用场景。

<2>优点:

- 高并发,大数据下读写能力较强。

- 基本支持分布式,易于扩展,可伸缩。

- 简单,弱结构化存储。

<3>缺点:

- join等复杂操作能力较弱。

- 事务支持较弱。

- 通用性差。

- 无完整约束复杂业务场景支持较差。

mysql关系型数据库:

<1>关系数据库的特点是:

- 数据关系模型基于关系模型,结构化存储,完整性约束。

- 基于二维表及其之间的联系,需要连接、并、交、差、除等数据操作。

- 采用结构化的查询语言(SQL)做数据读写。

- 操作需要数据的一致性,需要事务甚至是强一致性。

<2>优点:

- 保持数据的一致性(事务处理)

- 可以进行join等复杂查询。

- 通用化,技术成熟。

<3>缺点:

- 数据读写必须经过sql解析,大量数据、高并发下读写性能不足。

- 对数据做读写,或修改数据结构时需要加锁,影响并发操作。

- 无法适应非结构化存储。

- 扩展困难。

- 昂贵、复杂。

虽然在云计算时代,传统数据库存在着先天性的弊端,但是NoSQL数据库又无法将其替代,NoSQL只能作为传统数据的补充而不能将其替代,所以规避传统数据库的缺点是目前大数据时代必须要解决的问题