zoukankan      html  css  js  c++  java
  • 数据库架构设计

    数据库架构设计

    数据库性能测试的目的:

    1. 发现数据库相关的所有性能瓶颈

    数据库性能测试的范围:

    1. sql语句-慢查询等
    2. 资源使用率
    3. 数据库架构合理性
    4. 数据库性能指标

    数据库的常用架构:

    1. 一主多从 master(主写)

    a)         master:主要负责数据的写入,和更新

    b)         将数据复制到slave上,从库上主要是读数据(优点实现了读写分离,分担了单台服务器的压力; 缺点可能会存在主从延时)

    1. 双机热备 keepAlived ->VIP(虚拟ip)->master->复制->slave

    a)         写入,更新,读取都在master上,同时将数据复制到slave上

    b)         优点防止了延时; 当master挂掉的时候虚拟ip会直接指向salve,slave就变成了master 缺点:没有分担服务器压力,当第二台服务器slave挂掉后VIP不会再指向master;

    数据库主从同步的工作原理:

    1. Master(主数据库)将改变记录到二进制日志中(binary log:就是linux中的一个文件,记录了数据库本身的所有操作)中
    2. Slave(从数据库)将master的binary log events 拷贝到他的中继日志(relay log)
    3. Slave (从数据库)重做中继日志中的事件,将改变反应它自己的数据

    数据库分库分表的设计方法:

    1. 1.       拆分的原因:

    a)         单表或库数据量太大

    b)         硬件不能升级或无法升级

    1. 2.       分库分表方案:

    a)         业务拆分 :用户, 商品, 订单

    b)         垂直拆分 :商品: 母婴用品, 床上用品, 电子商品

    c)         水平拆分(一致性哈西算法) : userid: 拆分为3个表,分别是userid%3==1; userid%3==2; userid%3==3

  • 相关阅读:
    Mysql5.7 Linux安装教程
    搭建appium的android环境
    SonarQube的安装、配置与使用(windows)
    动态规划(一)——0-1背包问题
    回溯法(四)——图的m着色问题
    回溯法(三)——正则表达式匹配问题
    C++中各种基本数据类型大小一览
    回溯法(二)——0-1背包问题
    回溯法(一)——八皇后问题
    分治算法——正规归并排序中顺便计算出数组中的逆序对数
  • 原文地址:https://www.cnblogs.com/jiyanjiao-702521/p/12525759.html
Copyright © 2011-2022 走看看