【乾貨】淺談分散式資料庫中介軟體之分庫分表

來源:互聯網
上載者:User

標籤:技術   限制   src   無法   表示   tps   使用者   str   log   

分庫分表,顧名思義就是把原本儲存於一個庫的資料分Block Storage到多個庫上,把原本儲存於一個表的資料分Block Storage到多個表上。那麼關於分庫分表,你瞭解多少呢?接下來,我們將從什麼是資料分區及如何進行分區兩方面對DDM分庫分表做一個闡釋。


什麼是資料分區

分區是解決資料庫儲存容量限制的直接途徑。分區包括垂直分區與水平分區兩種方式。

垂直分區

垂直分區又叫縱向分割,即以邏輯表為單位,把原有資料庫切分成多個資料庫。切分後不同的表格儲存體在不同的資料庫上。

垂直分區與業務架構設計有密切的聯絡。比如從業務領域對系統進行架構最佳化,分成多個子業務系統,各個子業務系統耦合度較低。子業務系統間以介面方式進行資料通訊和資料交換。

垂直分割後業務清晰,拆分規則明確,系統之間容易整合與擴充。一般用於資料庫上層架構設計。


垂直分區



水平分區
水平分區又叫橫向分割,即以邏輯表中的資料行記錄為單位,把原有邏輯資料庫切分成多個物理資料庫分區,表資料記錄分布儲存在各個分區上。

水平分區主要用業務架構無法繼續細分,而資料庫中單張表資料量太大,查詢效能下降的情境。通過水平分區,即解決單庫容量問題,同時提高並發查詢效能。

水平分區



DDM實現了自動水平分區,應用無需關心某個資料該儲存在哪一塊分區上。對邏輯表水平分區需要依據一定的分區規則,例如一個訂單跟蹤系統,我們選取訂單號(OrderId)作為拆分鍵,分別對“訂單流水表”、“訂單詳情表”以及“物流跟蹤表”進行水平分割,拆分規則為對索引值Hash後求模,則分區計算規則如下:

H(Key(OrderId)) = Hash(Key(OrderId))%N

其中,N表示一共有N個資料分區,H(Key(OrderId))表示該訂單經過訂單號Hash並求模後儲存的分區編號。

分區後資料存放區


如何進行分區
在分散式資料庫中,可以通過分庫分表格儲存體方式,輕鬆解決大資料量單表容量達到單機資料庫儲存上線的瓶頸。但是分庫儲存後,需要盡量避免跨庫JOIN操作帶來的效能與資源消耗問題。

因此建立邏輯庫和邏輯表時,需要根據實際情況確定:

1、邏輯表分不分區?

DDM邏輯表支援全域表、分區表、單表三種類型。使用者可以按照資料表的實際使用需求,選擇最合適的邏輯表類型建立。

單表只在第一個分區建立表以及儲存資料,全域表在每一個分區建立表並且儲存全量資料。分區表在每一個分區建立表,資料按照拆分規則分散儲存在分區中。

2、按什麼規則分?

邏輯表的拆分鍵選擇非常重要。建議按實際業務情境選擇拆分鍵,不同邏輯表,如果具有E-R關係,建議選擇相同欄位做拆分鍵,避免跨庫JOIN操作。

在實際使用中,有以下建議供參考:

資料量在1000萬以下的表,不建議分區。通過建立合適的索引,採取讀寫分離策略,單表也可以很好的解決效能問題。

資料量在1000萬以上的表,建議分區。將資料分區儲存後,既能解決單張表容量過大帶來的效能瓶頸,同時提高並發支援。注意要選擇合適的拆分鍵,提前做好規劃。

業務讀取盡量少用多表JOIN,同一個事務避免跨分區。查詢條件盡量帶上拆分鍵,避免全分區表掃描。


資料庫中介軟體DDM將底層資料庫儲存引擎以叢集方式管理起來,使用者使用非常方便。應用程式不需要關心具體有多少分區。類似操作單機資料庫,使用者通過DDM管理主控台進行資料庫營運,使用JDBC等驅動服務或SQL用戶端串連資料庫,進行資料讀寫。想要瞭解更多,歡迎點擊分散式資料庫中介軟體DDM查看。

【乾貨】淺談分散式資料庫中介軟體之分庫分表

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.