什么是nosql
非关系型数据库
为什么要用nosql
- web2.0大规模动态网站的兴起
- high performance ,高并发读写,动态页面展示与交互,比如微博点赞评论等操作,实时统计在线人数排行榜等
- huge storage,海量数据的高效存储和访问,大型网站的用户登录系统
- high scalability && high availability,高可扩展性和高可用性
主流NOSQL产品
- redis,mongodb,couchdb
NoSQL的特点
- 易扩展
- 灵活数据模型
- 大数据量,高性能
- 高可用
NoSQL数据库的四大分类
- 键值存储,redis
- 优势,快速查询
- 劣势,存储数据缺少结构化
- 列存储,hbase
- 优势,快速查询
- 劣势,功能局限
- 文档数据库,mongodb
- 优势,数据结构要求不严格
- 劣势,查询性能并非特别高,缺少统一查询的语法
- 图形数据库,infogate
- 优势,社交网络,利用图结构的相关算法
- 劣势,需要对整个图做算法分析,不利于分布式方案
redis概述
C语言编写的高性能键值对数据,支持的键值数据类型:
- 字符串类型
- 列表类型
- 有序集合类型
- 散列
- 集合类型
Redis的应用场景:
- 缓存
- 网站访问统计
- 任务队列
- 数据过期处理
- 应用排行榜
- 分布式集群架构中的session分离