SQL和NOSQL

本文探讨了SQL和NoSQL数据库的特点与区别,包括使用成本、存储形式、查询速度、扩展性、ACID特性和SQL支持。NoSQL在扩展性和高性能读写方面表现出色,适合大数据量场景。SQL数据库则支持ACID特性,适用于需要严格一致性的场景。此外,文章还介绍了MySQL的SQL注入、存储引擎、读写分离和缓存机制,以及Redis和MongoDB的特点和数据结构。
摘要由CSDN通过智能技术生成

一、SQL和NOSQL

常常使用的关系型数据库有 MySQL、Oracle、SQL Server、SQLite、DB2、Teradata、Infomix、Sybase、PostgreSQL、Access、FoxPro 等;相对应的,常见的 NoSQL 数据库有 MongoDB、Memcached、RedisHBase、CouchDB、Neo4j、Cassandra、Riak 等。

1.关系型数据库通过外键关联来建立表与表之间的关系,

2.非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。

3.非关系型数据库中,我们查询一条数据,结果出来一个数组,关系型数据库中,查询一条数据结果是一个对

[https://www.cnblogs.com/lina520/p/7919551.html]:

1.Nosql特点

(1)易扩展,数据之间没有关系的。

(2)大数据量,高性能。高性能读写非常灵活的。

(3)灵活的数据模型。不需要事先对存储数据建立字段。

(4)高可用。

2.两者区别

1) 使用成本

NoSQL:NoSQL 使用简单,易搭建,大部分是开源软件,比较廉价,任何人都可以使用。

关系型数据库:相对于NoSQL,关系型数据库通常需要安装部署,开源的比较少,使用成本比较昂贵。尤其是 Oracle 数据库,需要花费大量资金购买,使用成本比较高。

2) 存储形式

NoSQL:NoSQL 具有丰富的存储形式,如 key-value(键值对)形式、图结构形式、文档形式、列簇形式等,因此,它可以存储各种类型的数据。

关系型数据库:关系型数据库是采用关系型数据模型来组织的,它是行列表结构,通过行与列的二元形式表示出来,数据之间有很强的关联性。它采用二维表结构的形式对数据进行持久存储。

3) 查询速度

NoSQL:NoSQL 将数据存储在系统的缓存中,不需要经过 SQL 层的解析,因此查询效率很高。

关系型数据库:关系型数据库将数据存储在系统的硬盘中,在查询的时候需要经过 SQL 层的解析,然后读入内存,实现查询,因此查询效率较低。

4) 扩展性

NoSQL:NoSQL 去掉了传统关系型数据库表与字段之间的关系,实现了真正意义上的扩展。它采用键值对的形式存储数据,消除了数据之间的耦合性,因此易扩展。

关系型数据库:由于关系型数据库采用关系型数据模型来存储数据,数据与数据之间的关联性较强,存在耦合性,因此不易扩展。尤其是存在多表连接(join)查询机制的限制,使得扩展很难实现。

5) 是否支持 ACID 特性

ACID 特性是指数据库事务的执行要素,包括原子性、一致性、隔离性、持久性。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值