深圳黑马JavaEE第104期基础班+就业班+高手课件(笔记))
企业级分布式数据库架构实践
概述
大型网站的系统架构并不是从一开始就具备高性能、高可用、高伸缩等特性的。小型创业公司通常不需要设计非常复杂的系统架构,能将基本的业务跑起来就行。
随着用户和业务量的增加,系统架构需要根据具体情况重新设计,这其中就包括容易出现瓶颈的数据库服务器。
针对数据库架构的优化要根据业务特点、以及实施的成本逐步进行,通常不会一上来就设计出一个非常复杂的架构。cmL46679910
数据库的优化可以从这些方面进行
– SQL 优化
– 索引优化
– 缓存系统
– 主从复制、读写分离
– 垂直拆分
– 水平拆分
数据库扩展思想
– 热备
> 在数据库服务器运行过程中对数据进行备份操作。相对的是冷备,冷备份需要停机操作。
– 多活
> 多个数据库服务器,保证高可用,避免单点故障。
– 故障切换
> 当一台数据库服务器出现异常,自动切换到其他数据库服务器继续提供服务。
– 读写分离
> 数据库的读写操作分发到不同的服务器,提高数据处理能力。
– 负载均衡
> 负载均衡一般是建立的读写分离的基础之上,将读写操作根据情况,合理的分摊到数据库服务器,提高并发能力,同时避免过载。
主从复制
概述
主从复制,是通过部署多台数据库服务器,这些数据库之间有主从关系。其中,主数据库用于提供服务,从数据库中的数据和主数据库是保持一致的,这样做的好处是能够热备份,同时,可以在此基础上扩展读写分离的架构。
主从复制的架构一般分为:一主一从、一主多从、主主复制、级联复制、主主与级联复制的结合。
这是一个典型的一主多从读写分离架构,应用系统写数据时,会写入到 master 节点,然后再由 master 节点将数据复制到 slave 节点中。这个架构仍有不足,例如 master 节点存在单点、数据的复制存在延迟。