关系型数据库VS非关系型数据库

关系型数据库及其优缺点

关系型数据库(Mysql和Oracle):指采用了关系模型来组织数据的数据库,关系模型指的就是二维表模型,关系型数据库就是由二维表以及表与表之间的联系组成;常见的关系型数据库有Oracle、SQLServer、MySql
在这里插入图片描述
先来看一下关系型数据库的常见概念
关系:关系是一张表,像上图那样的一张表,
元组:表中的每行(即数据库中的每条记录)就是一个元组,也称记录,
属性:二维表中的每列就是属性,在数据库中被称为字段;数据库之间列无联系,行有联系
域:属性的取值范围,数据库中每一列的取值限制
关键字:一组可以唯一标识元组的属性,称为主键

优点

1、数据之间有关系,进行数据的增删改查的时候是非常方便的
2、容易理解,结构类似于常见的表格,非常容易理解;
3、易于维护:丰富的完整性大大减少了数据冗余和数据不一致的概率
4、关系型数据库是有事务操作的,保证数据的完整性和一致性。
5、使用方便,SQL语句非常的成熟
缺点
1、因为数据和数据是有关系的,底层是运行了大量的算法,这会降低系统的效率,会降低性能
2、面对海量数据的增删改查的时候会显的无能为力,网站每天产生的数据量是巨大的,在一张包含海量数据的表中查询,效率非常低
3、海量数据对数据进行维护变得非常的无力

使用场景:适合处理一般量级的数据(银行转账和钱)

非关系数据库的(redis和NoSql)

为了处理海量数据,非关系数据库设计之初就是为了替代关系型数据库的关系,有四大分类:键值(Redis)、列存储数据库(HBase)、文档型数据库(MongoDb)、图形数据库(Graph)
在这里插入图片描述

MongoDB:面向文档的数据库,使用JSON风格的数据格式。它非常适合于网站的数据存储、内容管理与缓存应用,并且通过配置可以实现复制与高可用性功能。

Redis键值存储
这是个开源、高级的键值存储。由于在键中使用了hash、set、string、sorted set及list,因此Redis也称作数据结构服务器。这个系统可以帮助你执行原子操作,比如说增加hash中的值、集合的交集运算、字符串拼接、差集与并集等。Redis通过内存中的数据集实现了高性能。此外,该数据库还兼容于大多数编程语言。

优点
1、海量数据的增删改查是可以的
2、海量数据的维护和处理非常轻松
3、无须经过sql层的解析,读写性能很高
4、基于键值对、数据没有耦合性,容易扩展
5、存储数据的格式丰富多样,有key-value、文档形式、图片形式,
缺点
1、数据和数据没有关系,他们之间就是单独存在的
2、非关系数据库没有关系,没有强大的事务关系,没有保证数据的完整性和安全性
3、不提供SQL支持,学习和使用的成本很高
使用场景:适合处理海量数据,保证效率,不一定安全(统计数据,例如微博数据)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值