数据库的主从架构

Posted zbuger

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库的主从架构相关的知识,希望对你有一定的参考价值。

这段时间,一直在总结电商系统的相关基础技术和架构,写了很多东西。但是还是发现一个很重要,很基础的方面没有讲到,那就是数据库读写分离的主从架构。可能发展到大型成熟的公司之后,主从架构已经落伍了,取而代之的是更加复杂的数据库集群。但是作为一个小型电商公司,数据库的主从架构应该是最基础的。任何大型的系统架构,都是不断演进的。主从架构便是数据库架构中,最基础的架构。所以研究完主从架构,也就能看懂更加复杂的架构了。

 

  首先为什么要读写分离?

  对于一个小型网站,可能单台数据库服务器就能满足需求,但是在一些大型的网站或者应用中,单台的数据库服务器可能难以支撑大的访问压力,升级服务器性能,成本又太高,必须要横向扩展。还有就是,单库的话,读、写都是操作一个数据库,数据多了之后,对数据库的读、写性能就会有很大影响。同时对于数据安全性,和系统的稳定性,也是挑战。

 

  数据库的读写分离的好处?

    1. 将读操作和写操作分离到不同的数据库上,避免主服务器出现性能瓶颈;

    2. 主服务器进行写操作时,不影响查询应用服务器的查询性能,降低阻塞,提高并发;

    3. 数据拥有多个容灾副本,提高数据安全性,同时当主服务器故障时,可立即切换到其他服务器,提高系统可用性;

       

 

  读写分离的基本原理就是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE)操作,而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到其他从数据库。以SQL为例,主库负责写数据、读数据。读库仅负责读数据。每次有写库操作,同步更新到读库。写库就一个,读库可以有多个,采用日志同步的方式实现主库和多个读库的数据同步。

  一:Sql Server 读写分离的配置

    SQL Server 提供了三种技术,可以用于主从架构之间的数据同步的实现:日志传送、事务复制和SQL 2012 中新增的功能Always On 技术。各自优劣,具体的大家自己去百度吧,这里提供一个以日志传送方式的数据同步,地址。 

     

以上是关于数据库的主从架构的主要内容,如果未能解决你的问题,请参考以下文章

Redis主从与哨兵架构详解 Redis主从架构 如何在同一台机器搭建主从架构 Redis主从工作原理 数据部分复制 Jedis使用 Redis的管道(Pipeline) Redis Lua脚本(代码

Redis早期的主从架构原理分析,早期如何实现读写分离的?

MySQL主从复制架构

一文带你深入了解 redis 复制技术及主从架构

数据库架构:主备+分库?主从+读写分离?

010.Redis 主从架构搭建及原理详解