分庫分表之ShardingSphere分片

2021-10-01 14:01:58 字數 644 閱讀 2963

1. 背景   

了解分片之前,我們需要知道為什麼要分庫分表,本質原因還是因為單錶的資料庫容量有限,

當資料量到達一定量級之後,資料庫操作會變得很慢,影響使用者體驗。

2. 問題

什麼是分片?

當我們將海量的使用者資訊儲存在3個庫的100張使用者表時,不論是新增或者查詢,我們都需要知道

具體操作的是哪個資料庫的哪張表,此時,分片可以理解為具體的一張表,選擇分片的策略就是分片規則。

3. 分片鍵

用於分片的資料庫字段

4. 分片演算法

--精確分片演算法

用於處理使用單一鍵作為分片鍵的=與in進行分片的場景。具體類standardshardingstrategy

--範圍分片演算法

單一鍵,使用between and, >, <,>= ,<=進行分片的場景

--復合分片演算法

多個分片鍵一起

--hint分片演算法

直接指定分片

分庫分表之ShardingSphere概念

1.問題 帶著下面一些問題,我們開始學習分庫分表 1 邏輯表是什麼 2 真實表是什麼 3 資料節點是什麼 4 繫結表是什麼 5 廣播表是什麼 2.邏輯表 水平拆分的資料庫 表 的相同邏輯和資料結構表的總稱 例如,使用者資訊表按使用者id尾數拆分為10張表,分別為user 0到user 9,他們的邏輯...

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。優點 使用資料庫原有的功能,相對簡單 能夠保證唯一 能夠保證遞...