NoSQL与Redis概述
2018-09-25 本文已影响0人
王哈哈哈哈哈
NoSQL概述
非关系型数据库
NoSQL = Not Only SQL
为什么需要nosql?
High performance -高并发读写
关系型数据库表与表的关联多,耦合性大,查询会造成资源浪费,性能也不好,关系型数据库扛不住
Huge Storage 海量数据的高效率存储和访问
比如海量数据 查询其中一条记录是非常慢的
High Scalability && High Availability -高可扩展和高可用性
nosql只用增加机器节点,而关系型可能需要停机维护
Nosql比较
分类 | 相关产品 | 典型应用 | 数据模型 | 优点 | 缺点 |
---|---|---|---|---|---|
键值(key-value) | Redis | 内容缓存,主要用于处理大量数据的高访问负载 | 键值对 | 快速查询 | 存储的数据缺少结构化 |
列存储数据库 | HBase | 分布式文件系统 | 以列簇式存储,将同一列数据存在一起 | 查询速度快,可扩展性强,更容易进行分布式扩展 | 功能相对局限 |
文档型数据库 | MongoDb | WEB应用(与key-value类似 value是结构化的) | 键值对 | 数据结构邀请不严格 | 查询性能不高,缺乏统一查询语法 |
图形数据库 | Infinite Graph | 社交网络,推荐系统等专注于构建关系图谱 | 图结构 | 利用图结构相关算法 | 需要对整个图做计算才能得出结果,不容易做分布式的集群方案 |
NoSQL的特点
- 易扩展
- 大量数据,高性能
- 灵活的数据模型
- 高可用
Redis 概述
高性能键值对数据库,支持的键值数据类型
- 字符串类型
- 列表类型
- 有序集合类型
- 散列类型
- 集合类型
Redis的应用场景
- 缓存
- 任务队列
- 应用排行榜
- 网站访问统计
- 数据过期处理
- 分布式集群架构中的session分离
官方曾给出测试数据 50个并发程序来执行10万次请求,读:每秒11万,写:每秒8万1千次
Redis目录结构描述
redis-server.exe:服务程序
redis-check-aof.exe:更新日志检查
redis-benchmark.exe:性能测试,用于模拟同时由N个客户端发送M个set/get查询
redis-cli.exe:服务端开启后,我们的客户端就可以输入各种命令测试