为什么需要NOSQL数据库?

为什么需要NOSQL数据库?


1、灵活性高。 NOSQL数据库不用提前设计表结构,可以根据实际情况自由地存储和组织。
2、适合复杂、高变化、高并发的场景。


体现灵活性:


假设要存储用户数据
{
    '名字': "John Doe",
    '邮箱': "johndoe@example.com",
    '年龄': 30,
    '借书信息': [
        {'书名':"西游记",'借出时间':"2000-01-01 10:00:00"},
        {'书名':"红楼梦",'借出时间':"2000-02-01 11:00:00"}
    ]
}

Mysql:需要构建两张表。User(名字、邮箱、年龄、借书信息id),borrow_book(id,书名,借出时间)。
NOSQl:需要一个集合User,然后直接存储用户信息,不需要预定义字段。
很明显,NOSQL存储要更简单,灵活。


相关知识

关系型数据库:


是指采用了关系模型来组织数据的数据库,以行和列的形式来存储数据。数据库中包含1张或多张表,每一张表包含了行和列。(格式相当于excel)。
主要代表如Mysql和Oracle等。

特点:


1、便于理解,二维表构造非常贴近逻辑。
2、应用方便,使用通用的SQL语言来查询。
3、复杂操作,可以用SQL句子多个表之间做非常繁杂的查询。
4、事务处理,非常强调数据的一致性。


非关系型数据库

也就是NoSQL。不保证数据的ACID特性。去掉关系数据库的关系型特性,非常容易扩展。存储方式是基于键值来存储的。主要代表如Redis、MongoDB等。
 

特点:


1、格式灵活:数据存储格式非常多样,而关系型数据库则只适用基础的关系模型。
2、性能优越:NOSQL是根据键值对的,不用历经SQL层的分析,性能非常高。
3、可扩展性:基于键值对,数据之间耦合度极低,因此容易水平扩展。
4、低成本:非关系型数据库部署简易,且大部分可以开源使用。



两者区别:


1、存储数据的形式不同:关系型数据库以表的形式进行存储数据,而非关系型数据库以Key-value的形式存储数据。
2、数据一致性:关系型数据库注重数据整个生命周期的强一致性。,非关系型数据库注重最终一致性。
3、查询方式不同:关系型数据库可以通过表中的任意字段进行查询,非关系型数据库需要通过key进行查询。
4、存储方式不同:关系型数据库是基于硬盘存储,非关系型数据库一般基于内存存储。
5、支持复杂查询:关系型数据库支持各种范围查询、公式计算。非关系型数据库不一定支持。
6、查询速率:关系型数据库将数据储存在电脑硬盘中,非关系型数据库将数据储存于缓存当中,不用历经SQL层的分析;查询速率非关系型数据库远快于关系型数据库。
7、事务处理:关系型数据库支持事务原子性粒度控制,且方便进行事务回滚;非关系型也支持事务处理,但可靠性不足,其价值在于可扩展性和大数据量处理。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值