一、SQL和NoSQL
1, SQL
1,一个结构化的数据库,创建在关系模型基础上,一般面向于记录;
2,包括甲骨文,Mysql, SQL Server, Microsoft Access, DB2等。
<>强优点:强>
1,易于维护:都是使用表结构,格式一致。
2,使用方便:SQL语言通用,可用于复杂查询;
3,复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
<强>缺点:强>
1,读写性能比较差,尤其是海量数据的高效率读写;
2,固定的表结构,灵活度稍欠,
3,对于高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
2, NoSQL
1,除了主流的关系型数据库以外的数据库,都认为是非关系型的;
2,包括复述,MongBD, Hbase, CouhDB, Memcache等;
3,非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。
<>强优点:强>
1,格式灵活:存储数据的格式可以是键值(键-值)形式,文档形式,图片形式等等,文档形式,图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型;
2,速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
3,高扩展性;
4,成本低:nosql数据库部署简单,基本都是开源软件。
<强>缺点:强>
1,不提供sql支持,学习和使用成本较高。
2,不支持事务,容错率低;
3,数据结构相对复杂,复杂查询方面稍欠。
3, NoSQL产生的背景介绍
(1)高性能:对数据库高并发读写需求,
(2)巨大的存储:对海量数据高效存储与访问需求,
(3)高可伸缩性,,高可用性:对数据库高可扩展性与高可用性需求。
二,复述,
(1)复述,基于内存运行并支持持久化;
(2)采用键值(键值对)的存储形式;
<强>(3)优点:强>
具有极高的数据读写速度;
支持丰富的数据类型;
支持数据的持久化;
原子性;
支持数据备份
<>强(4)复述和Memcache的比较:强>
1,存储方式:
Memecache把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小;
复述,有部份存在硬盘上,这样能保证数据的持久性。
2,数据支持类型:
Memcache对数据类型支持相对简单,
复述,有复杂的数据类型。
3,使用底层模型不同:
它们之间底层实现方式以及与客户端之间通信的应用协议不一样,
复述,直接自己构建了VM机制,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。
4,价值大小:
复述最大可以达到1 gb,而Memcache只有1 mb。
<强>(5)使用复述,有哪些好处? 强>
1,速度快,因为数据存在内存中,类似于HashMap, HashMap的优势就是查找和操作的时间复杂度都是O (1)
2支持丰富数据类型,支持字符串,列表,设置,设置排序,散列
3支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行。
4,丰富的特性:可用于缓存,消息,按键设置过期时间,过期后将会自动删除。
<强>复述,相比memcached的优势:强>
memcached所有的值均是简单的字符串,复述,作为其替代者,支持更为丰富的数据类型;
复述的速度比memcached快很多。
复述,可以持久化其数据;
Memcache支持结构化,但是复述,支持结构化和非结构化。
三、安装部署复述,
<强> 1,安装复述,环境强>
最新安装包:redis-5.0.7.tar。广州
系统:Linux
<强> 2,操作步骤强>
复述,详情- - - - - -介绍,优化....