Welcome everyone

了解 nosql

redis 汪明鑫 346浏览 0评论

首先为什么会有nosql?

关系型数据库这么牛逼,这么普及,为什么还会会有nosql?我只有关系型数据库不行吗?

反正都是存储数据,讲究这么多干嘛???

因为关系型数据库是存在瓶颈的

在数据量太大,用户并发量太大,性能会大打折扣

原因是磁盘IO是有瓶颈的,并发量太大也会导致磁盘IO阻塞

那有没有一种技术,可以不再去跟磁盘打交道,于是乎就出现了nosql

内存存储技术

基于内存,但是也支持持久化,所有不能说绝对没有磁盘IO

 

for instance

我们一般每人会有好几个QQ账号,有时候打游戏专门申请小号

也有小时候的QQ账号好几年没登,成为僵尸账号(冷数据),存在了关系型数据库中,说不定哪天想登了还能登上

数据分为热数据和冷数据

热数据就好比你的大号,经常登陆,一般存储在nosql中,如redis缓存,直接从里面取,快的一匹

 

然后我们再认真的介绍一哈nosql

为了解决高并发、高可用、高可扩展,大数据存储等一系列问题而产生的数据库解决方案,就是NoSql。
NoSql,叫非关系型数据库,它的全名Not only sql。它不能替代关系型数据库,只能作为关系型数据库的一个良好补充。

 
 

NoSql的分类
n 键值(Key-Value)存储数据库
相关产品: Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB
典型应用: 内容缓存,主要用于处理大量数据的高访问负载。
数据模型: 一系列键值对
优势: 快速查询
劣势: 存储的数据缺少结构化
n 列存储数据库
相关产品:Cassandra, HBase, Riak
典型应用:分布式的文件系统
数据模型:以列簇式存储,将同一列数据存在一起
优势:查找速度快,可扩展性强,更容易进行分布式扩展
 劣势:功能相对局限
n 文档型数据库
相关产品:CouchDB、MongoDB
典型应用:Web应用(与Key-Value类似,Value是结构化的)
数据模型: 一系列键值对
 优势:数据结构要求不严格
 劣势: 查询性能不高,而且缺乏统一的查询语法
n 图形(Graph)数据库
相关数据库:Neo4J、InfoGrid、Infinite Graph
典型应用:社交网络
数据模型:图结构
优势:利用图结构相关算法。
劣势:需要对整个图做计算才能得出结果,不容易做分布式的集群方案。

虽然有了nosql,但是是不能取代关系型数据库的地位

 

 

redis

主流 k-v 内存存储

redis是键值对存储的   类似我们熟悉的key value(HashMap)

redis的五大存储结构

1. 字符类型 String
2. 散列类型 list
3. 列表类型 Hash
4. 集合类型 Set
5. 有序集合 SortedSet

应用场景:

1. 数据缓存(商品数据、新闻、热点数据) 比如存放QQ大号
2. 单点登录
3. 秒杀、抢购
4. 网站访问排名… 比如QQ音乐排行榜top10 淘宝双十一销量top10

 

转载请注明:汪明鑫的个人博客 » 了解 nosql

喜欢 (0)

说点什么

您将是第一位评论人!

提醒
avatar
wpDiscuz