redis基础_NOSQL介绍
1、NOSQL概念
即Not Only SQL 不仅仅是SQL。是一种全新的数据库概念,泛指非关系型数据库。
2、为什么需要NoSQL
目前互联网的`三高`:
1、高负载
短时间内要操作大量的数据,对比以前得简单增删改查,现在很多的项目都包含的太多的东西,买东西送券,这个积分那个积分,以及其他经验值什么的。这就是高负载。
2、高并发
短时间内接受大量的请求,最简单的例子就是每年电商平台指定时间的促销打折。如淘宝的双十一当晚。
3、高可拓展
顾名思义就是系统的拓展性要非常高。
3、NoSQL数据库的四大分类
1、键值储存数数据库
相关产品:Redis、Tokyo Cabinet等
典型应用:内容缓存,主要用于对处理大量数据的高访问负载
数据模型:一系列键值对
优势:存储的数据缺少结构化
2、列存储数据库
相关产品:Cassandra,HBase,Riak
典型应用:分布式文件系统
数据模型:以列簇式存储,将用同一系列数据存放在一起。
优势:查找速度快,可拓展性强,更容易进行分布式拓展
劣势:功能相对局限
3、文档性数据库
相关产品:MongoDB,CouchDB
典型应用:Web应用(与Key-value类似,Value是结构化的)
数据模型:一系列的键值对
优势:数据结构要求不严格
劣势:查询性能不高,而且缺乏统一的查询语法
4、图形数据库
相关数据库:Neo4J,InfoGrid等
典型应用:社交网络
数据模型:图结构
优势:利用图结构相关算法
劣势:需要对这个图形做计算才能得出结果,不容易分布式的集群方案
4、NoSQL特点
1、易扩展性
NoSQL数据库种类繁多,但是一个共同的特点就是都去掉了关系型数据库的关系特性。数据之间没有关系,在架构上提高了可扩展性。
2、大数据量,高新能
NoSQL数据库都具有非常高的读写性能,尤其是在大数据量的情况下,同样表现优秀,这得益于他的无关系型,数据结构简单
3、灵活的数据模型
NoSQL需要事先为要存储的数据建立字段,随时可以储存自定义的数据格式,而在关系数据库里,增删字段是非常麻烦的一件事,如果是数据量非常大的一张表,
那个速度简直感人。
4、高可用性
NoSQL在不太影响性能的情况下,就可以实现高可用的架构,比如Cassandra,HBase模型。