1.NoSQL概述
NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
虽然NoSQL的流行与火起来才短短一年的时间,但是不可否认,现在已经开始了第二代运动。尽管早期的堆栈代码只能算是一种实验,然而现在的系统已经更加的成熟、稳定。不过现在也面临着一个严酷的事实:技术越来越成熟——以至于原来很好的NoSQL数据存储不得不进行重写,也有少数人认为这就是所谓的2.0版本。该工具可以为大数据建立快速、可扩展的存储库。
a.为什么需要NoSQL?原因不过如下三点:
1>高并发读写(High performance)
2>海量数据的高效率存储和访问(Huge Storage)
3>高可扩展性和高可用性(High Scalablity &&HIgh Availability)
b.常见的NoSQL数据库如下:
c.NoSQL数据库的四大分类
1>键值对存储(如Redis)
2>列存储(如HBase)
3>文档数据库(如MongoDB)
4>图形数据库(如Neo4J)
d.四类NoSQL数据库的比较(如下图)
f.NoSQL的特点
1>易扩展
2>大数据量,高性能
3>灵活的数据模型
4>高可用
2.Redis概述
a.Redis是高性能键值对数据库,它支持的数据类型如下:
1>字符串类型
2>散列类型
3>列表类型
4>集合类型
5>有序集合类型
b.Redis常见的应用场景
1>缓存
2>任务队列
3>应用排行榜
4>网站访问统计
5>数据过期处理
6>分布式集群架构中的Session分离