一、分庫分表
1、分庫這裏就不展開說了
2、關於分表
[1] 分表應該分兩種情況,第一種是橫向分表
也就是對錶橫切,按照數據量進行拆分。
到達何種數據量進行拆分呢?這個看業務區分。
[2]第二種情況是縱向分表
也就是拆分字段,比如一張表有N個字段,可以根據業務,分成N/M塊,這樣單張表的數據會少一些
3、針對橫向分表展開說
[1]按批次分表
新建一張表,複製原有表的全部字段以及數據,重命名如:op_log重命名爲:op_log_2019back
然後清空原有表,所有的數據進入op_log。
[2]按時間分表
對所有的數據,按照數據生成年份或月份拆分成多個表,然後在所有的查詢中,都根據請求的數據時間,計算目標數據庫,然後查詢相關數據的數據。
[2.1]【待實踐】自動生成表
思路如下:
一條新的數據過來,判斷該數據,是否有目標數據庫(這個判斷可以將已有的數據庫,寫在redis或內存中),如果不存在數據庫,系統自動生成數據庫,然後再插入數據
二、數據庫分區
相關方法可以上網查,這裏不展開說