MySQL(7)分庫分表篇

2021-10-04 04:32:59 字數 1022 閱讀 2367

什麼是分庫分表?

垂直分庫

把資料庫按照業務分庫

垂直分表

將表按照列進行拆解

水平分表

為什麼要搞分庫分表?

資料庫中的表太多----分庫----微服務(應用和資料庫都是單獨的,比如說使用者模組, 使用者相關的表在單獨的資料庫上)

資料庫中的表記錄太多

如何分庫分表?

分庫分表的方式

水平分表

分庫分表存在的問題

跨庫join問題

全域性唯一主鍵問題

分布式事務問題

跨庫count、order by 、group by

分庫分表的產品有哪些?

阿里的tddl、cobar

基於阿里cobar開發的mycat

當當網的sharding-jdbc —apache

使用背景

資料切分(sharding)方案

資料的切分(sharding)根據其切分規則的型別,可以分為兩種切分模式:

切分規則

常用的切分規則有以下幾種:

切分原則

分布式事務問題

分布式主鍵id問題

跨庫join問題

跨庫count、order by、group by問題

具體sharding jdbc用法示例參考sharding jdbc官方**

關於分庫分表 Mysql篇

關於分庫分表,要關心硬體,業務,分布式,和資料庫選型.基本指標 庫物理檔案大小 100g 表 100 字段 200 單錶記錄數 500w 可以用說用到mysql的地方,只要資料量一大,馬上就會遇到乙個問題,要分庫分表.這裡引用乙個問題為什麼要分庫分表呢?mysql處理不了大的表嗎?其實是可以處理的大...

mysql分表分庫實現 MySql分表分庫思路

一.資料庫瓶頸 1.1io瓶頸 第一種 磁碟讀io瓶頸,熱點資料太多,資料庫快取放不下,每次查詢時會產生大量的io 分庫和垂直分表 第二種 網路io瓶頸,請求的資料太多,網路頻寬不夠 分庫 1.2cpu瓶頸 第一種 sql問題,如sql中包含join,group by,order by,非索引字段條...

MySQL範圍分表分庫 mysql 分表分庫策略

唯一id的生成 下面列舉幾種常見的唯一id生成方案,需要滿足兩大核心需求 1.全域性唯一 2趨勢有序 1.用資料庫的auto increment 自增id 來生成,每次通過寫入資料庫一條記錄,利用資料庫id自增的特性獲取唯一,有序的id。優點 使用資料庫原有的功能,相對簡單 能夠保證唯一 能夠保證遞...