1、基本介绍
- 一种
NOSQL
(Not Only SQL,泛指非关系型数据库):作为关系型数据库的补充。是用C语言
开发的一个开源的高性能键值对(key-value)数据库。 - ✨✨作用:应对基于海量用户和海量数据前提下的数据处理问题。
- 特征:
- 可扩容,可伸缩
- 大数据下高性能
- 灵活的数据模型
- 高可用
- 常见的
NOSQL
数据库:Redis、memcache、HBase、MongoDB
解决方案(电商场景) | |
---|---|
1. 商品基本信息 1. 名称 1. 价格 1. 厂商 | MySQL |
2. 商品附加信息 1. 描述 1. 详情 1. 评论 | MongoDb |
3. 图片信息 | 分布式文件系统 |
4. 搜索关键字 | ElasticSearch、Lucene、Solr |
5. 热点信息 1. 高频 1. 波段性 | Redis |
2、使用场景
MySQL的数据先进行分类,交给不同的非关系型数据库集群,再对外提供数据服务。
3、特征
- 数据之间没有必要的关联关系
- 内部采用单线程机制进行工作
- 高性能。官方测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s
- 多数据类型支持。
- 字符串 string
- 列表 list
- 散列 hash
- 集合 set
- 有序集合 sorted set
- 持久化支持。可以进行数据灾难恢复
4、应用
- 热点数据加速查询(主要场景),如热点商品,热点新闻,热点资讯,推广类等高访问量信息等
- 任务队列,如秒杀、抢购、购票排队等
- 即时信息查询,如各位排行榜,各类网站访问统计、公交到站信息、在线人数信息(聊天室、网站)、设备信息等
- 时效性信息控制,如验证码控制、投票控制等
- 分布式数据共享,如分布式集群架构中的session分离
- 消息队列
- 分布式锁