zoukankan      html  css  js  c++  java
  • MyCat学习 ------分库分表 随笔

    垂直切分、水平切分

    1、垂直分库,解决库中表太多的问题。

    2、垂直分表,解决表中列太多的问题。例如 商品表 包含 产地、二维码 、时间、价格、各个列。分为不同的小表。

    水平切分, 大数据表拆分为小表

    水平拆分后还是要考虑小标太多 导致库中表太多的问题,要综合考虑是否需要垂直分库。

    拆分策略

    垂直拆分(er分片) 相关联的表放在一个库

    水平拆分  

    范围拆分      一直性hash  根据某一个属性取模  例如 userId

     日期拆分

    拆分后带来的问题

    1.垮库join的问题 

        1.设计的时候 考虑应用层的JOIN的问题

        2. 通过服务层去做调用

       A服务   B 服务 

    先从A 查结果  然后RPC 传给B  再做拼接

    全局表

     1、数据变更比较小的基于全局应用

    做冗余数据(空间换时间的方法)

    垮分片数据排序分页

    1.应用层做分配

    唯一主键问题

    数据库主从同步的原理

     主从同步的 延时问题: 心跳检测 检查 同步时间差。 应用层使用redis 写入master时  取的时候 先去redis取 缓存失效再去数据库取  从而导致数据同步时间差。

  • 相关阅读:
    小学生学python(六)类与函数
    Windows 10 搭建 Flask
    CentOS 8 上安装 python3
    6_7 selenium使用代理IP
    6_6 模拟浏览器的前进后退&窗口句柄切换
    6_5 selenium操作cookie
    6_4 行为链
    6_3 selenium操作表单元素
    6_2 selenium定位元素的方法
    6_1 selenium 安装与 chromedriver安装
  • 原文地址:https://www.cnblogs.com/dayao666/p/11995805.html
Copyright © 2011-2022 走看看