redis数据库(1)

一、关系型数据库与非关系型数据库

(1)关系型数据库

关系型数据库有什么组成

关系型数据库,是建立在关系模型的基础上的数据库。

关系型数据库是由多张能互相连接的二维行列表格组成的数据库。

关系模型由关系数据结构,关系操作集合,关系完整性约束的三部分组成。
当前主流的关系型数据库有Oracle 、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access 、Mysql、浪潮K-DB、MariaDB、SqLite等。

纵向扩展 ;比如硬件中添加内存

关系型数据库的优缺点

优点
1.结构简单、易于维护;都是使用表结构,格式一致,数据库设计和规范化过程也简单易行和易于理解。
2.使用方便灵活:使用标准查询语言SQL,允许用户几乎毫无差别地从一个产品到另一个产品存取信息。与关系数据库接口的应用软件具有相似的程序访问机制,提供大量标准的数据存取方法。
3:复杂操作:可以进行join等复杂查询
4.保持数据一致性
5.由于以标准为前提,数据更新的开销小
6.存在很多实际成果和专业技术信息(成熟的技术)
sql数据库支持对事物原子性细粒度控制,并易于回滚事务。(一直执行一个事务直到出错)

缺点
1.数据类型表达能力差;关系数据模型不直接复杂的数据类型。
由于第一范式的要求,所有的数据必须转换为简单的类型,如整数,实数,双精度数和字符串。面对复杂数据类型的就是需要额外地分解数据结构工作,这些被分解的结构不能直接表示应用数据,且从基本成分重构时也非常繁琐和费时间。
2.复杂读写功能差;关系型数据库的规范化,一个实体数据可能被分割成很多部分存入数据库不同的表中。那么,这种复杂信息的查询过程通常会产生大量的简单表。在这种情况下,由存取信息产生的查询必须处理大量的表和复杂的码联系以及连接运算
3.支持长事务能力差
4.环境应变能力差
5.读写性能;面对海量数据的高并发读写需求时,效率就会变差,磁盘i/o是一个很大的瓶颈
6.扩展方式;固定的表结构,灵活度稍欠,如字段不固定时的应用。

关系型数据库的特征

1.原子性
2.一致性
3.独立性
4.持久性

非关系型数据库

除了主流的关系型数据库外的数据库,都认为是非关系型数据库
主流的Nosql 数据库有redis 、MongBD 、Hbase、CouhDB等。

非关系型数据库特点

1、不以表结构存储数据
2、事务弱化,没有事务
3、数据存储在内存
4.大数据相关项目,核心考虑,程序运行效率,弱化事务。
横向扩展: 天然分布式
数据写入交给一个集群平均分
满足对数据库的高扩展性与高可用性需求

存储数据处理效率
内存快(Nosql)
硬盘慢(sql)
内存硬盘
便宜

redis

内存、缓存型数据库
高热数据

命中机制

通过LRU算法
频繁访问的数据

淘汰机制

内存负载高于限制,优先淘汰。在最近没有被访问到的数据优先淘汰(淘汰策略)

redis持久化

1.定期快照
2.类似日志记录方式保存(定期增量备份)

redis优点

1.具有极高的数据读写速度 110000次/s
写入次数最高可达81000次/s

2.支持丰富的数据类型
:支持key-value、Strings、Hashes、Sets及Sorted stes 等数据类型操作。

3.支持数据的持久化
:可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

4.原子性
:Redis所有操作都是原子性的

5.支持数据备份 ,即master-salve模式的数据备份

redis快的原因

redis是一款纯内存结构,避免了磁盘i/o等耗时操作

redis命令处理的核心模块为单线程,减少了锁竞争,以及频繁创建线程和创建线程和销毁线程的代价,减少了线程上下文切换的消耗。

采用了i/o多路复用机制,打的提升了并发效率

总结

非关系数据库
1.数据保存在缓存中,利于读取速度/查询数据
2.架构中位置灵活
3.分布式,扩展性高

关系型数据库
1.安全性高(持久化)
2.事务处理能力强
3.任务控制能力强
4.可以坐日志备份,恢复,容灾(在异地建立2套或多套功能相同的服务器其中一台产生意外,另一台能够顶上)的能力更强一些

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值