前言
单机MySQL时代
这种模式存在一定的性能问题:
- 若数据量太大,一个机器放不下
- 若数据的索引太大一个机器放不下
- 若访问量(读写)太大,放不下
缓存和读写分离
网站上的访问大部分都是在读、写数据库,效率很低,因此需要中间引入缓存机制,第一次去MySQL读取数据,将数据返回给用户的同时,会将数据存储在缓存中,第二次访问时,就能直接在缓存中读取。
分库分表和集群
分库分表+水平拆分
NoSQL
NoSQL(Not Only SQL):泛指非关系型数据库。
NoSQL数据库用来解决数据爆发式增长的问题。
NoSQL特点
- 方便扩展(数据之间没有关系)
- 大数据量高性能(redis 写8w/s,读11w/s)
- 数据类型是多样性的,不需要事先设计数据库,随时取用
- 存储方式多样性;有:键值对,列存储,文档存储,图形数据库等
- 没有固定的查询语句
NoSQL四大分类
分类:
- Key-Value键值对数据库:Redis、memcached
- 文档型数据库:MongoDB
- 列存储数据库:HBase
- 图形数据库:Neo4J
下面给出具体的实例:
应用场景
- 文档型数据库:例如:博客系统;
- 列式数据库:例如:打车时的行车轨迹;
- 图形数据库:例如:个人的人际关系图;
更多关于Redis的内容,详戳【Redis合集】,更多内容,详戳主页