水平分割:根據一列或者多列的值把數據行放到多個獨立的表裏,水平分表方式可以通過多個低配置主機整合起來,實現高性能。
根據公司的業務,兩套重複的架構,部署在不同的IDC上,需要對數據進行合併操作,數據庫採用水平方式實現業務數據的存儲,如架構圖:
說明:路由表A作用:md5key作爲分表策略的依據,對md5key值進行取模運算,需要把數據寫入具體表位置。
一般對於業務需求,可以對此字段進行做相應的處理,對數據的保護,如這樣的語句:
SELECT id,MOD(CRC32(keymd5),16) FROM user_index實現對user_*分表實現,在路由表和分表關聯的字段爲id字段,id與uid對應起來,ac表與路由表的關係也是id與uid對應,即路由表新增一行記錄,爲其他各表的唯一的UID值,實現數據的水平擴展。