接下来用电商作为案例分享 电商包括的基本功能:商品、订单、用户
1.单机称王的时代
业务刚刚开始,一般用单服务、单机器就快速落地
2.单机 缓存的时代
当业务取的初步成功,用户量上涨,单机数据库就无法支撑业务了,这时候我们可以通过缓存 单机的方式解决
3.主从复制:读写分离
当业务快速发展,单机数据库无法支撑业务,可以采用主从复制:读写分离的数据库模式
4.垂直拆分业务数据
当业务再次增长,单个主从模式也无法支撑业务的时候,就可以根据业务拆分,实现业务级别的多个主从
5.水平分表
垂直分库解决单个数据库的压力,但是当单表数据量增长超过2000W的时候,就需要对单表进行水平分表
6.集群部署
当业务指数增长后,垂直分库和水平分表后,数据库的资源得到合理利用,但是多个数据库仍然在相同的集群里面,无法解决单集群带来的弊端,可以实现集群部署
7.多元化数据模型
当我们实现了集群模式之后,对于数据库利用就达到了最大化,后面也没有针对数据库更好的扩展方式了,这时候我们就可以考虑是否引入多种数据模型,各司其职,比如ES做关键字检索,redis做内存数据库,mysql负责存储数据等