對資料進行拆分了。有垂直和水平兩種。
垂直拆分比較簡單,也就是本來乙個資料庫,資料量大之後,從業務角度進行拆分多個庫。如下圖,獨立的拆分出訂單庫和使用者庫。
水平拆分的概念,是同乙個業務資料量大之後,進行水平拆分。
分庫分表方案:分庫分表方案最主要就是路由演算法,把路由的key按照指定的演算法進行路由存放。
1. hash取模方案
優點:資料可以均勻地放到表中,不會有熱點問題
缺點:將來的資料遷移和擴容,會很難
2. range範圍方案
優點:即使增加表,也不需要遷移
缺點:受訪問影響,壓力可能集中在一張表中,而其他表沒有什麼壓力
垂直拆分與水平拆分
垂直拆分 垂直拆分是指資料表列的拆分,把一張列比較多的表拆分為多張表 通常我們按以下原則進行垂直拆分 把不常用的字段單獨放在一張表。把text,bigint等大字段拆分出來放在附表中。經常組合查詢的列放在一張表中 聯合索引 垂直拆分的表在查詢的時候用join關鍵字連線起來即可。水平拆分 水平拆分是指...
垂直拆分和水平拆分
前言 做資料庫分表的時候,總是能看到水平切分 垂直切分,但是並不能理解何為水平 何為垂直。僅此做個記錄。一般情況下說的水平切分 垂直切分,都是指的資料庫層面的。隨著業務量的增加,資料量肯定快速增長,拿mysql來說,單錶資料量在百萬級內讀取效率還是可以的,可是一旦達到千萬級,效能會有較大的降低。如果...
水平拆分和垂直拆分
網際網路時代談論最多的話題就是拆分。拆分一般分為水平拆分和垂直拆分,這並不單指對資料庫或者快取的拆分,主要是表達一種分而治之的思想。水平拆分是指由於單一節點無法滿足需求,需要擴充套件為多個節點,多個節點具有一直的功能,組成乙個服務池,乙個節點服務一部分請求量,所有節點共同處理大規模高併發的請求量。垂...