欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql數(shù)據(jù)庫應(yīng)付大流量網(wǎng)站的的3種架構(gòu)擴展方式介紹

 更新時間:2014年07月07日 08:42:47   投稿:junjie  
這篇文章主要介紹了mysql數(shù)據(jù)庫應(yīng)付大流量網(wǎng)站的的3種架構(gòu)擴展方式介紹,它們分別是讀寫分離、垂直分區(qū)、水平分區(qū),本文分別對它們做了講解,需要的朋友可以參考下

數(shù)據(jù)庫擴展大概分為以下幾個步驟:

1、讀寫分離:當數(shù)據(jù)庫訪問量還不是很大的時候,我們可以適當增加服務(wù)器,數(shù)據(jù)庫主從復(fù)制的方式將讀寫分離;

2、垂直分區(qū):當寫入操作一旦增加的時候,那么主從數(shù)據(jù)庫將花更多的時間的放在數(shù)據(jù)同步上,這個時候服務(wù)器也是不堪重負的;那么就有了數(shù)據(jù)的垂直分區(qū),數(shù)據(jù)的垂直分區(qū)思路是將寫入操作比較頻繁的數(shù)據(jù)表,如用戶表_user,或者訂單表_orders,那么我們就可以把這個兩個表分離出來,放在不同的服務(wù)器,如果這兩個表和其他表存在聯(lián)表查詢,那么就只能把原來的sql語句給拆分了,先查詢一個表,在查詢另一個,雖然說這個會消耗更過性能,但比起那種大量數(shù)據(jù)同步,負擔(dān)還是減輕了不少;

3、水平分區(qū):但是往往事情不盡人意,可能采取垂直分區(qū)能撐一段時間,由于網(wǎng)站太火了,訪問量又每日100w,一下子蹦到了1000w,這個時候可以采取數(shù)據(jù)的進行分離,我們可以根據(jù)user的Id不同進行分配,如采取%2的形式,或者%10的形式,當然這種形式對以后的擴展有了很大的限制,當我由10個分區(qū)增加到20個的時候,所有的數(shù)據(jù)都得重新分區(qū),那么將是一個的很龐大的計算量;以下提供幾種常見的算法:
  哈希算法:就是采用user_id%的方式;
  范圍:可以根據(jù)user_id字符值范圍分區(qū),如1-1000為一區(qū),1001-2000則是另一個區(qū)等;
  映射關(guān)系:就是將user_id存在的所對應(yīng)的分區(qū)放在數(shù)據(jù)庫中保存,當用戶操作時先去查詢所在分區(qū),再進行操作;

對于以上幾種擴展方式,讀寫分離主要是操作上的擴展,垂直分區(qū)主要是對寫入較頻繁數(shù)據(jù)表的分離,水平分區(qū)主要是數(shù)據(jù)分離;

您可能感興趣的文章:

相關(guān)文章

最新評論