欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何進(jìn)行MySQLSharding可擴(kuò)展設(shè)計(jì)的分析

本篇文章為大家展示了如何進(jìn)行MySQL Sharding可擴(kuò)展設(shè)計(jì)的分析,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

從事川西大數(shù)據(jù)中心,服務(wù)器租用,云主機(jī),雅安服務(wù)器托管,空間域名,CDN,網(wǎng)絡(luò)代維等服務(wù)。

MySQL Sharding可擴(kuò)展設(shè)計(jì)
一.背景    
    我們知道,當(dāng)中的數(shù)據(jù)量越來(lái)越大時(shí),不論是讀還是寫,壓力都會(huì)變得越來(lái)越大。采用MySQL Replication多master多slave方案,在上層做負(fù)載均衡,雖然能夠一定程度上緩解壓力。但是當(dāng)一張表中的數(shù)據(jù)變得非常龐大時(shí),壓力還是非常大的。試想,如果一張表中的數(shù)據(jù)量達(dá)到了千萬(wàn)甚至上億級(jí)別的時(shí)候,不管是建索引,優(yōu)化緩存等,都會(huì)面臨巨大的性能壓力。
 
二.定義
 
    數(shù)據(jù)sharding,也稱作數(shù)據(jù)切分,或分區(qū)。是指通過(guò)某種條件,把同一個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)分散到多個(gè)數(shù)據(jù)庫(kù)或多臺(tái)機(jī)器上,以減小單臺(tái)機(jī)器壓力。
 
三.分類
 
    數(shù)據(jù)分區(qū)根據(jù)切分規(guī)則,可以分為兩類:
 
    (1)垂直分區(qū):以表為單位,把不同的表分散到不同的數(shù)據(jù)庫(kù)或主機(jī)上。特點(diǎn)是規(guī)則簡(jiǎn)單,實(shí)施方便,適合業(yè)務(wù)之間耦合度低的系統(tǒng)。
    (2)水平分區(qū):以行為單位,將同一個(gè)表中的數(shù)據(jù)按照某種條件拆分到不同的數(shù)據(jù)庫(kù)或主機(jī)上。特點(diǎn)是相對(duì)復(fù)雜,適合單表巨大的系統(tǒng)。
   
    在實(shí)際情況中,有的時(shí)候把垂直分區(qū)和水平分區(qū)結(jié)合使用。
 
四.注意事項(xiàng)

 
     下面我們所說(shuō)的分區(qū),主要是指水平分區(qū)。
 
    (1)在實(shí)施分區(qū)前,我們可以查看所安裝版本的是否支持分區(qū):
 
         mysql> show variables like "%partition%";
 
         如果支持則會(huì)顯示:
         +-------------------+-------+
         | Variable_name     | Value |
         +-------------------+-------+
         | have_partitioning | YES   |
         +-------------------+-------+
 
     (2)分區(qū)適用于一個(gè)表的所有數(shù)據(jù)和索引;不能只對(duì)數(shù)據(jù)分區(qū)而不對(duì)索引分區(qū),反之亦然,同時(shí)也不能只對(duì)表的一部分進(jìn)行分區(qū)。
 
     (3)分區(qū)類型:
 
           RANGE  分區(qū):基于屬于一個(gè)給定連續(xù)區(qū)間的列值,把多行分配給分區(qū)。
           LIST  分區(qū):類似于按RANGE分區(qū),區(qū)別在于LIST分區(qū)是基于列值匹配一個(gè)離散值集合中的某個(gè)值來(lái)進(jìn)行選擇。
           HASH分區(qū):基于用戶定義的表達(dá)式的返回值來(lái)進(jìn)行選擇的分區(qū),該表達(dá)式使用將要插入到表中的這些行的列值進(jìn)行計(jì)算。
           KEY  分區(qū):類似于按HASH分區(qū),區(qū)別在于KEY分區(qū)只支持計(jì)算一列或多列,且MySQL 服務(wù)器提供其自身的哈希函數(shù)。必須有一列或多列包含整數(shù)值。
          無(wú)論使用何種類型的分區(qū),分區(qū)總是在創(chuàng)建時(shí)就自動(dòng)的順序編號(hào),且從0開(kāi)始記錄。當(dāng)有一新行插入到一個(gè)分區(qū)表中時(shí),就是使用這些分區(qū)編號(hào)來(lái)識(shí)別正確的分區(qū)。
 
      (4) MySQL提供了許多修改分區(qū)表的方式。添加、刪除、重新定義、合并或拆分已經(jīng)存在的分區(qū)是可能的。所有這些操作都可以通過(guò)使用ALTER TABLE 命令的分區(qū)擴(kuò)展來(lái)實(shí)現(xiàn).  
 
      (5) 可以對(duì)已經(jīng)存在的表進(jìn)行分區(qū),直接使用alter table命令即可。

上述內(nèi)容就是如何進(jìn)行MySQL Sharding可擴(kuò)展設(shè)計(jì)的分析,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁(yè)標(biāo)題:如何進(jìn)行MySQLSharding可擴(kuò)展設(shè)計(jì)的分析
網(wǎng)頁(yè)鏈接:http://chinadenli.net/article38/poossp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、品牌網(wǎng)站制作、定制網(wǎng)站、云服務(wù)器、網(wǎng)站排名、定制開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)