823
人物
DRDS分庫分表__開發手冊_分布式關係型數據庫 DRDS-阿裏雲
分庫分表在 DRDS 裏麵是一個很重要的概念。DRDS 在後端將數據量較大的數據表水平拆分到後端的每個 RDS 數據庫中,這些拆分到RDS中的數據庫被稱為分庫,分庫中的表稱為分表。DRDS 由每個分庫負責每一份數據的讀寫操作,從而有效的分散了整體訪問壓力。在係統擴容時,隻需要水平增加分庫的數量,並且遷移相關數據,就可以提高 DRDS 係統的總體容量。
分庫分表相關概念
拆分鍵
即分庫/分表字段。 DRDS 根據拆分鍵的值將數據表水平拆分到後端的每一個 RDS 分庫裏。換句話說,鍵值相同的數據,一定會位於同一個 RDS 數據庫裏。DRDS 裏除了可以定義分庫鍵以外,每一張邏輯表都可以定義自己的拆分鍵。拆分鍵暫時隻能是單個字段。如果分庫鍵與分表鍵相同,那麼在插入時隻需要指定該分庫/分表鍵。如果分庫鍵與分表鍵不同則在插入時需要同時指定分庫鍵和分表鍵。
全表掃描
複雜的SQL語句會分發到所有庫上執行,並且在 DRDS 中進行比較和合並。全表掃描相當消耗性能,應該在業務中盡量避免。
DML例子
1) 在 INSERT / REPLACE 語句中必須包含分庫分表的字段(拆分鍵)。例如:
拆分字段是id
INSERT INTO table VALUES (‘name1’, ‘value2’)
報錯
INSERT INTO table (id, name, value) VALUES (1, ‘name1’, ‘value2’)
允許執行
3) SELECT / UPDATE / DELETE 語句如果 WHERE條件中沒有包含拆分字段,則會進行全表掃描。
舉例:分庫分表鍵是id + date.
SELECT * FROM table
會進行全表掃描
SELECT * FROM table WHERE date > 3
會進行全表掃描
SELECT * FROM table WHERE id = 1;
會路由到id為1的分庫
SELECT * FROM table WHERE id = 1 AND date > 3;
進行路由計算
4) 同一個拆分字段,AND 連接的條件個數隻能為2,OR 連接的條件個數不限。
舉例:拆分鍵是date.
SELECT * FROM table WHERE date > ‘2014/1/30’ AND date < ‘2014/3/1’;
正確,date 字段 AND 連接的條件個數是 2。
SELECT * FROM table WHERE date > ‘2014/1/30’ AND date < ‘2014/3/1’ AND date < ‘2014/2/28’;
錯誤,date 字段 AND 連接的條件個數是 3
注意 對於WHERE條件中的整型拆分字段,DRDS會對條件進行合並,如
SELECT * FROM table WHERE id > 1 and id < 5 and id < 3
不會出錯,DRDS會調整為
SELECT * FROM table WHERE id > 1 and id < 3
5) 同一個拆分字段的條件可以包含多個值,但每個值隻能對應一種比較關係。
舉例:拆分鍵是date.
SELECT * FROM table WHERE date > ‘2014/1/30’ AND date < ‘2014/3/1’;
正確,date 字段兩個條件的值分別是 ‘2014/1/30’ 和 ‘2014/3/1’。
SELECT * FROM table WHERE date > ‘2014/1/30’ AND date < ‘2014/1/30’
錯誤,date 字段的條件值 ‘2014/1/30’ 同時對應了大於和小於關係。
最後更新:2016-11-23 17:31:30
上一篇:
DRDS控製指令__開發手冊_分布式關係型數據庫 DRDS-阿裏雲
下一篇:
DRDS DDL語句__開發手冊_分布式關係型數據庫 DRDS-阿裏雲
定時任務__應用管理_用戶指南_容器服務-阿裏雲
價格摘要___購買指導_DDoS 高防IP-阿裏雲
GroupDesc__數據類型_API文檔_批量計算-阿裏雲
雲盤三副本技術介紹__磁盤_產品簡介_雲服務器 ECS-阿裏雲
資源監控__用戶指南_CDN-阿裏雲
InstanceStatusItemType__數據類型_API 參考_雲服務器 ECS-阿裏雲
Linux Bash遠程可執行漏洞(CVE-2014-6271)修複方法__漏洞掃描常見問題_產品常見問題_漏洞掃描-阿裏雲
C#/.NET: EnyimMemcached__客戶端連接實例_快速入門_雲數據庫 Memcache 版-阿裏雲
查看磁盤的監控信息__監控相關接口_API 參考_雲服務器 ECS-阿裏雲
功能總覽__用戶指南(RDBMS)_數據管理-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲