縱向切分表
將一個表按照字段切分成兩個或者多個表,將常用的字段切分到一張表中,分布式存儲
橫向切分
有兩種方式,一是按照特定的數據量,將表切分成不同的表(表結構一致)來存儲,新數據插入到新表中,新表的數據量達到約定拆分的數據量時,再建立新表存儲;二是按照某種特定的規則來切分表,然后分布式存儲,如按照不同的模塊分類來切分表。
第二種方式要注意防止主鍵沖突,通常采用snowflake-64bit算法即:
但是也存在隱患,snowflake產生的id是有可能重復的,機器id和序列號可以做到不重復,但是同一台上的時間戳不能保證不重復,如網絡延遲、抖動,這是個無解的問題