NoSQL
K-V存储
解决关系数据库无法存储数据结构的问题,以 Redis 为代表
文档数据库
解决关系数据库强 schema 约束的问题,以 MongoDB 为代表
列式数据库
解决关系数据库大数据场景下的 I/O 问题,以 HBase 为代表
全文搜索引擎
解决关系数据库的全文搜索性能问题,以 Elasticsearch 为代表
数据存储选型
1.管理型系统,如运营类系统,首选关系型
2.大流量系统,如电商单品页的某个服务,后台选关系型,前台选内存型
3.日志型系统,原始数据选列式,日志搜索选倒排索引
4.搜索型系统,指站内搜索,非通用搜索,如商品搜索,后台选关系型,前台选倒排索引
5.事务型系统,如库存、交易、记账,选关系型+缓存+一致性协议,或新型关系数据库
6.离线计算,如大量数据分析,首选列式,关系型也可以
7.实时计算,如实时监控,可以选时序数据库,或列式数据库
缓存
缓存穿透
缓存穿透是指缓存没有发挥作用,<br>业务系统虽然去缓存查询数据,<br>但缓存中没有数据,<br>业务系统需要再次去存储系统查询数据
缓存雪崩
缓存雪崩是指当缓存失效(过期)后引起系统性能急剧下降的情况
缓存热点
虽然缓存系统本身的性能比较高,但对于一些特别热点的数据,<br>如果大部分甚至所有的业务请求都命中同一份缓存数据,<br>则这份数据所在的缓存服务器的压力也很大<br>
缓存热点的解决方案就是复制多份缓存副本,<br>将请求分散到多个缓存服务器上,<br>减轻缓存热点导致的单台缓存服务器压力