一、NoSql:
说明:
Not Only SQL,不仅仅是SQL。
1.四大分类:
(1)键值对存储数据库:
格式:key-value
场景:内容缓存,处理大量数据高访问负载。
产品:Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB
优势:快速查询
缺点:格式缺少结构化
(2)列存储数据库:
格式:列簇式存储,同一列数据存在一起
场景:分布式文件系统
产品:Cassandra、HBase、Riak
优势:查找速度快,可扩展性强,更容易分布式扩展
缺点:功能相对局限
(3)文档型数据库:
格式:key-value,value结构化
场景:Web应用
产品:CouchDB、MongoDB
优势:数据结构要求不严格
缺点:查询性能不高,缺乏统一查询语法
(4)图形数据库:
格式:图结构
场景:社交网络
产品:Neo4J、InfoGrid、Infinite Graph
优势:利用图结构相关算法
缺点:对整个图做计算才能得结果,不易分布式的集群。
二、Redis:
说明:
C语言实现,key-value存储格式,用于内容缓存,处理大量数据高访问负载。
1.数据类型:
字符串
散列类型
列表类型
集合类型
有序集合类型
2.场景:
缓存(数据查询、短连接、新闻内容、商品内容)
聊天室在线好友列表
任务队列(秒杀、抢购)
应用排行榜
网站访问统计
数据过期处理(精确到毫秒)
分布式集群架构中的session分离