常用的数据库架构及主从的工作原理

常用的数据库架构及主从的工作原理

数据库的架构原则

  1. 高可用
  2. 高性能
  3. 可拓展
  4. 一致性

数据库常用的架构

目前市面上常用的架构主要有两种:
1、一主多从
2、双机热备

下面我们来了解一下,什么是一主多从呢?

一主多从

一主多从指的是,当我们客户端发起读写请求的时候,我们会从mysql服务进行读写数据。假设我们目前有三台mysql服务,其中一台作为主master服务,另外两台作为从salve。master拥有读写的权限,主要承担了写的工作,salve只有读的权限,主要承担了读的操作。当客服端发起请求时,他会将请求分流,实现读写分离。

优点
1、读写分离,分担了单台数据库或者单台服务器的压力

缺点
1、主从延时,可能会导致数据的不一致性

双机热备

什么是双机热备?

双机热备,其实刚好就是处理了一主多从的主从延时问题,避免了主从不一致的情况。并且双机热备是读和写都在一台服务上进行操作。

优点:

1、数据马上就写入,没有主从延时
2、当master挂掉的时候,他会从vip(虚拟ip)就会指向slave上,然后salve就会变成称为master,所以的写入操作就会到第二台服务器上,确定系统的高可用性

缺点:
1、比如当master宕机的时候,slave会变成主,那么期间哪怕master服务恢复正常,原先的master会变成从,slave变成主,如果想要恢复的话,就需要从Keepalived进行调整。

了解了这么多,我们来看一下一主多从和双机热备有什么区别?

首先双机热备弥补了一主多从,主从延时的缺点;而双机热备它在服务器上的压力并没有被分担,他主要是靠硬件往上扛。

个人理解:
当我们的业务如果读的操作偏多,其实一主多从的架构会更适合一点,反之当我们系统的写入操作更多的时候,那么双机热备的架构会更好。其实每个架构都会有自己的优缺点,适用于我们的业务场景的架构才是最好的。

主从同步的工作原理

1、master 将改变记录到二进制日志(binary log)中
2、slava将master的 binary log events拷贝到它的中继日志(relay log)
3、slave 重做中继日志中的事件,将改变反映它自己的数据

以上的内容属于自己对于数据库架构的理解,然后整理下来,如果有理解错误的地方,欢迎随时讨论~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100710.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • AssetManager asset的使用

    AssetManager asset的使用

    2021年12月3日
    41
  • 校园小助手–智慧成绩统计服务平台

    校园小助手–智慧成绩统计服务平台

    2021年10月7日
    67
  • linux移植ntpdate「建议收藏」

    linux移植ntpdate「建议收藏」今天想让板子在开机的时候自动去同步网络上的时间,网上查了一下,需要使用到ntpdate命令。但是我使用的文件系统(busybox制作的文件系统)没有该命令,所以移植了一下。由于移植ntpdate需要用到openssl的头文件和库,所以也移植了openssl。PC系统:UbuntuUbuntu12.04.4LTS1.创建工作目录1mkdirc

    2022年9月24日
    1
  • C#如何:编写简单的 Parallel.ForEach 循环

    C#如何:编写简单的 Parallel.ForEach 循环如何:编写简单的Parallel.ForEach循环本文档使用lambda表达式在PLINQ中定义委托。如果不熟悉C#或VisualBasic中的lambda表达式,请参阅PLINQ和TPL中的Lambda表达式。示例此示例假定C:\Users\Public\Pictures\SamplePictures文件夹中有几个.jpg文件,并创建名为“Modified”的新子文件夹。运行该示例时,它会旋转示例图片中的每个.jpg图像并将其保存到.

    2022年7月19日
    11
  • SecureCRT中文显示乱码解决

    SecureCRT中文显示乱码解决先放图由于我自己装的是中文版的Linux系统,所以在显示中文的时候,SecureCRT显示出乱码。后来我查了下Linux系统字符编码默认是utf-8格式的!要将SecureCRT也设置成UTF-8才能进行正常显示。设置步骤:1、选择字符编码为UTF-8。点击【会话选项】–>选择【外观】。将字符编码设置为UTF-8格式。2、设置字符集为GB2312。点击【字体】–>将字符集设…

    2022年7月17日
    21
  • 大数据时代来临,数据应用随处可见吗_随着大数据时代的来临

    大数据时代来临,数据应用随处可见吗_随着大数据时代的来临序:大数据之所以可能成为一个时代,在很多程度上是因为这是一个可以由社会各界广泛参与,八面出击,处处结果的社会运动,而不仅仅是少数专家学者的研究对象。数据产生于各行各业,这场变革也必将影响到各行各业,因此,机遇也蕴含于各行各业。致力于IT创业的人们紧紧盯着这个市场,洞察着每一个机遇。数据对于科学进步有推动的作用,而海量数据对数据的分析既带来了机遇,也构成了新的挑战。随着大数据的迅速发展,许多企业开始…

    2022年9月28日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号