目錄
一、水平分表
二、水平分庫
三、垂直分表
四、垂直分庫
把同一張表拆分為表1、表2、表3、......、表n。解決單錶資料量過大問題。拆分前後,表的結構都相同。
拆分原則:一般單張表的資料量達到百萬級別,則適用水平分表。例如【學生成績表】,學生成績的記錄往往都超過百萬。所以適用於水平分表,按照學期進行分表。
水平分庫把同一張表的資料,按照一定的拆分規則,分配到不同的資料庫中。
每個資料庫放在不同的伺服器上,拆分後的所有的表結構相同。
水平分庫解決單錶資料行過大問題,把乙個庫平移分成 庫1、庫2、...庫n
拆分原則:(1)單錶資料量特別巨大的時候。
舉例:系統中有【學生成績表】,如果希望儲存30家學校的成績資料,每家學校的教學業務資料都達到千萬級別。那麼單台mysql資料庫就會達到效能瓶頸。如此多的資料,就需要水平分庫,使用多台mysql伺服器來儲存每家的成績資料。
垂直分表是按照表的字段進行拆分,按照熱門、冷門欄位把原來的表拆分開來,每張表儲存其中一部分字段。
拆分原則:
(1)把頻繁被查詢的字段放在同一張主表中
(2)把不經常被查詢的字段單獨放在一張從表中
(3)把text、blob等大字段抽出來單獨放在一張從表中
垂直分庫按照業務,把不同的表分配到不同的伺服器上。
垂直分庫講究專庫專用。
拆分原則:單台資料庫資料量很大,且訪問壓力很大、查詢響應時間長,可考慮垂直分庫。
分庫分表之ShardingSphere概念
1.問題 帶著下面一些問題,我們開始學習分庫分表 1 邏輯表是什麼 2 真實表是什麼 3 資料節點是什麼 4 繫結表是什麼 5 廣播表是什麼 2.邏輯表 水平拆分的資料庫 表 的相同邏輯和資料結構表的總稱 例如,使用者資訊表按使用者id尾數拆分為10張表,分別為user 0到user 9,他們的邏輯...
從頭開始學習正則 1基本元件
作為乙個程式設計師經常會遇到一些資料和文字的處理,用到最多的應該是全域性查詢然後替換,當遇到一些比較複雜的處理,一般全域性查詢替換就行不通了,這個時候一般會想到有個正則的東西,但是轉念一想不會用呀,到網上一搜乙個吧,然後發現和自己要的不一樣呀,然後又不會改,最後又變成手動慢慢處理,費時費力。反正這個...
從頭開始寫作業系統系列 頁表以及相關的描述符詳解
在之前的文章中,我們介紹過 gdt 全域性描述符表 以及一致 段和非一致 段,這篇文章我們再回到描述符,這次我們來以 arm 架構為例了解一下頁表描述符。通俗的來講,頁表的內容就是乙個描述符 關於描述符的介紹請參看該系列文章中的 實現乙個 gdt 我們可以將 gdt 理解成為乙個一級描述符表,將 l...