分區分庫分表

分庫原理數據庫

    根據業務邏輯緊密程度把表分紅若干部分,存放於不一樣數據庫服務器中以下降單臺服務器的負載,缺點跨數據庫沒法聯表查詢。服務器

分表原理

    垂直分表

        減小字段可以使內存加載更多行數據,文件大小限制,把部分數據放到新的表中分佈式

    水平分表spa

        因爲數據量過大,文件大小限制,把部分數據放到新的表中。索引

分區內存

    原理it

        將數據按照必定規則分區存放,查詢(條件符合規則)時數據庫會自動指定相應的分區,減小查詢數據量io

    類型table

        RANGE分區test

        List分區

        Hash分區

        Key分區

        子分區

    適用場景

        表很大,沒法全存於內存,或者只有表最後有熱點數據

        分區後數據更易維護,操做單獨分區

        分區的數據能夠存於不一樣服務器(分佈式)

        避免某些特殊瓶頸

        備份恢復獨立分區

    限制

        分區字段中如有惟一索引列,則該列必須被包含

        分區表不支持外鍵

        舊版本一個表最多1024個分區

    用法 

        create table ....  partition by xxx

        alter table test partition by xxx

比較分庫,分區,分表

  • 分庫或分表後,須要修改應用層,分區不用
  • 分庫分表分爲垂直和水平兩種,分區只有水平方向
相關文章
相關標籤/搜索