Mycat分片的限制和問題以及分片的一般原則介紹

chenfeng發表於2017-05-08
分片的限制和問題:
分片欄位不能改變值
非範圍分片,擴容難度大,一致性Hash也只是做出了一定的改善
分片導致某些SQL語句的執行結果不符合預期,可以視為不支援
分片產生了跨分片排序和分組統計等問題(記憶體消耗)
分片產生了表關聯問題
分片產生了分散式事務問題

分片的一般原則:
每個分片的記錄量為1000萬左右,分片數量是雙刃劍,不易過多
分片欄位不支援多個欄位的組合
原則上以最頻繁查詢的欄位為分片欄位
分片欄位的選擇很大程度上影響系統效能
非分片欄位的查詢語句,會併發傳送到每個分片上去,導致資源消耗更多

Mycat中限制使用的SQL如下:
Insert into values( xxxx)
Insert into b select * from a
Lock table a 
Select * from a where partionCol like “xxxx”
Select * from  b where pationCol >4 and pationC < 10  -> between  
Select * from a for update    -> /*!mycat: sql = update a */ 
任意的分片表的Join語句
Select  a from A order by b
select count(*) from A group by b
Select distinct a.* from a 
儲存過程中有輸出引數的,目前不支援

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2138686/,如需轉載,請註明出處,否則將追究法律責任。

相關文章