亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        探索數(shù)據(jù)庫分片技術(shù)

        2017-03-09 05:48:22
        網(wǎng)絡(luò)安全和信息化 2017年6期
        關(guān)鍵詞:分片數(shù)據(jù)表實(shí)例

        MySQL數(shù)據(jù)庫的拆分方法

        拆分的方法有多種,例如將原來主服務(wù)器上多個(gè)數(shù)據(jù)庫拆分到不同物理服務(wù)器的數(shù)據(jù)庫實(shí)例中。在一個(gè)MySQL數(shù)據(jù)庫中可能包含多個(gè)邏輯數(shù)據(jù)庫,在某個(gè)MySQL節(jié)點(diǎn)中存在多個(gè)邏輯數(shù)據(jù)庫,該節(jié)點(diǎn)不是一臺(tái)單一的MySQL數(shù)據(jù)庫服務(wù)器,而是MySQL數(shù)據(jù)庫集群,而且其中的所有數(shù)據(jù)庫中數(shù)據(jù)是一致的。

        拆分的方法是將該節(jié)點(diǎn)中的不同數(shù)據(jù)庫拆分到不同的節(jié)點(diǎn)上。假設(shè)節(jié)點(diǎn)1中原本存在產(chǎn)品庫、銷售庫、倉儲(chǔ)庫,可以將其進(jìn)行拆分,讓節(jié)點(diǎn)1中只包含產(chǎn)品庫,讓節(jié)點(diǎn)2只包含銷售庫,讓節(jié)點(diǎn)3只包含倉庫庫。這樣,就將原來節(jié)點(diǎn)1的寫壓力分擔(dān)到了三個(gè)節(jié)點(diǎn)上,大大減輕了MySQL節(jié)點(diǎn)一的負(fù)擔(dān),提高了數(shù)據(jù)庫的運(yùn)行效率。

        這種拆分方式的特點(diǎn)是實(shí)現(xiàn)起來比較簡單,適用于不允許跨庫查詢的情況。只要對(duì)拆分后的數(shù)據(jù)庫重新配置連接,即可讓其正常運(yùn)轉(zhuǎn)。其缺點(diǎn)是無法分擔(dān)針對(duì)單個(gè)數(shù)據(jù)庫的寫壓力。例如,銷售庫承擔(dān)了主要的寫壓力,別的數(shù)據(jù)庫讀寫的壓力很輕,那么這樣的拆分就意義不大。

        為此,可以將原來數(shù)據(jù)庫中的表分離到不同節(jié)點(diǎn)中的不同數(shù)據(jù)庫中。在一個(gè)數(shù)據(jù)庫中會(huì)存在很多表,分別存儲(chǔ)不同類型的數(shù)據(jù)。例如對(duì)于節(jié)點(diǎn)1中的產(chǎn)品庫來說,可能包含衣服表、鞋帽表、食品表等,根據(jù)實(shí)際的分析,發(fā)現(xiàn)寫壓力主要集中在衣服表和食品表中,那么可以將這兩個(gè)表拆分到不同的數(shù)MySQL節(jié)點(diǎn)中。這樣,不同的節(jié)點(diǎn)只承受的只是原來數(shù)據(jù)庫中部分寫壓力。

        我們還可以使用數(shù)據(jù)表的水平拆分加以應(yīng)對(duì)。水平拆分即對(duì)數(shù)據(jù)庫進(jìn)行分片處理,對(duì)一個(gè)數(shù)據(jù)庫中的相關(guān)表進(jìn)行水平拆分,存放到不同實(shí)例的數(shù)據(jù)庫中。在大多數(shù)情況下,MySQL的分庫分表就是指的該種方式。

        數(shù)據(jù)庫分片的得失探討

        在實(shí)際的項(xiàng)目規(guī)劃中,如果沒有必要最好不要進(jìn)行分片處理。當(dāng)相關(guān)業(yè)務(wù)正常運(yùn)行時(shí),如果數(shù)據(jù)庫的并發(fā)操作沒有達(dá)到臨界值,就貿(mào)然對(duì)其進(jìn)行分片,反倒變得難以維護(hù),對(duì)運(yùn)維產(chǎn)生不利影響。為了提高運(yùn)維效能,應(yīng)該首先考慮通過性能調(diào)優(yōu)或者提高應(yīng)用程序以及數(shù)據(jù)庫設(shè)計(jì)水平,來推遲分片操作。

        例如,對(duì)于上述產(chǎn)品庫中的衣服表來說,當(dāng)需要對(duì)其進(jìn)行分片時(shí),假設(shè)在節(jié)點(diǎn)1上只存在一個(gè)數(shù)據(jù)庫,其中只包含該數(shù)據(jù)表,經(jīng)過分片處理后,會(huì)形成多個(gè)相同表結(jié)構(gòu)的衣服表,這些表可能分布在不同的節(jié)點(diǎn)上。在對(duì)數(shù)據(jù)庫進(jìn)行分片前,需要充分考慮到可能涉及到的問題。

        如何選擇分區(qū)鍵決定了如何對(duì)數(shù)據(jù)庫進(jìn)行分片,以及分片后如何查詢數(shù)據(jù)。分區(qū)鍵選擇的是否合適,直接決定了分區(qū)后數(shù)據(jù)庫的性能。在選擇分區(qū)鍵時(shí),要盡可能的盡量避免發(fā)生跨分片查詢的情況。因?yàn)樵谶@種情況下,應(yīng)用程序必須對(duì)多個(gè)分片進(jìn)行查詢后才可以合并查詢的結(jié)果信息,其效率甚至比分片前還要低。

        例如,對(duì)于一個(gè)論壇來說,一個(gè)用戶可能在不同的板塊發(fā)布多篇帖子。如果以板塊的ID作為分區(qū)鍵,那么在查詢某個(gè)用戶時(shí),就會(huì)跨所有的分區(qū)進(jìn)行查詢,才能得到該用戶的所有帖子信息。如果以用戶的ID為分區(qū)鍵,可以保證同一個(gè)用戶的帖子全部在一個(gè)分片中,這樣查詢起來就更加快捷。

        數(shù)據(jù)庫分片的常用方法

        分區(qū)鍵的選擇要盡可能讓各個(gè)分片中的數(shù)據(jù)保持平均分布。之所以進(jìn)行數(shù)據(jù)庫分片,是為了降低主數(shù)據(jù)庫的寫負(fù)載。如果分片后,大量的寫操作依然集中在某個(gè)分片中,就沒有必要進(jìn)行分片。

        對(duì)于一個(gè)在線訂單庫來說,如果以買家的ID為分區(qū)鍵,并且采用ID范圍來分片的話,就必須保證選擇的ID非常合理,大部分活躍的買家是否被分到了一個(gè)段中。如果分片后,所有的查詢都包含該分區(qū)鍵,使用哈希函數(shù)進(jìn)行分區(qū),無疑是最好的分區(qū)方式。

        不管對(duì)于任何應(yīng)用程序來說,往往只有少量的數(shù)據(jù)表需要進(jìn)行分片處理,即只有少數(shù)的表才會(huì)被頻繁的寫入數(shù)據(jù)。

        對(duì)于其他數(shù)據(jù)表來說,在分片后,可以在每個(gè)分片中存儲(chǔ)一份相同的數(shù)據(jù)。這就要求這些表數(shù)據(jù)量較小,不會(huì)被經(jīng)常更新,而且這些表經(jīng)常會(huì)被和分區(qū)表在一起進(jìn)行關(guān)聯(lián)查詢,這樣在每一個(gè)分片中存儲(chǔ)一份冗余的數(shù)據(jù)表,可以提高查詢的效能。

        當(dāng)然,為了避免繁瑣的定期維護(hù)操作,可以將無需分片的數(shù)據(jù)表統(tǒng)一存儲(chǔ)在一個(gè)額外的節(jié)點(diǎn)中,讓整個(gè)MySQL集群不存在冗余問題。如果分片的表和這些表進(jìn)行關(guān)聯(lián)查詢,就必須在應(yīng)用程序中進(jìn)行設(shè)置,對(duì)兩類數(shù)據(jù)表進(jìn)行分別查詢并進(jìn)行合并處理。因此,該方法的查詢效率較低。在節(jié)點(diǎn)上部署分片時(shí),并不是在一個(gè)節(jié)點(diǎn)上只能部署一個(gè)分片,而是有很多種方式可以選擇。最簡單的方式是每個(gè)分片使用單一的數(shù)據(jù)庫,數(shù)據(jù)庫的名稱也保持一致。即每個(gè)數(shù)據(jù)庫的結(jié)構(gòu)需要和原來單一實(shí)例上的數(shù)據(jù)庫結(jié)構(gòu)相同。

        也可以將多個(gè)分片表存儲(chǔ)在一個(gè)數(shù)據(jù)庫中,需要在對(duì)應(yīng)的表名稱上加入分片號(hào)作為后綴,來進(jìn)行明確的區(qū)分。

        此外,還可以在每一個(gè)節(jié)點(diǎn)中部署多個(gè)數(shù)據(jù)庫,每個(gè)數(shù)據(jù)庫包含一個(gè)或者分片。之后按照上述方法對(duì)相關(guān)的數(shù)據(jù)庫和分片表進(jìn)行區(qū)分。在一個(gè)節(jié)點(diǎn)中存儲(chǔ)多個(gè)數(shù)據(jù)庫實(shí)例的方法,也可以實(shí)現(xiàn)分片處理。

        不管采用哪一種方法,相關(guān)的應(yīng)用程序必須進(jìn)行必要的調(diào)整,來匹配所采用的分片方式。如果在錯(cuò)誤的分片中查詢數(shù)據(jù),或者將數(shù)據(jù)寫入錯(cuò)誤的分片,就會(huì)造成管理上的混亂。

        猜你喜歡
        分片數(shù)據(jù)表實(shí)例
        上下分片與詞的時(shí)空佈局
        詞學(xué)(2022年1期)2022-10-27 08:06:12
        分片光滑邊值問題的再生核方法
        CDN存量MP4視頻播放優(yōu)化方法
        湖北省新冠肺炎疫情數(shù)據(jù)表
        黨員生活(2020年2期)2020-04-17 09:56:30
        基于模糊二分查找的幀分片算法設(shè)計(jì)與實(shí)現(xiàn)
        基于列控工程數(shù)據(jù)表建立線路拓?fù)潢P(guān)系的研究
        圖表
        完形填空Ⅱ
        完形填空Ⅰ
        基于VSL的動(dòng)態(tài)數(shù)據(jù)表應(yīng)用研究
        河南科技(2014年24期)2014-02-27 14:19:25
        国产美女精品一区二区三区| 日本97色视频日本熟妇视频| 精品国产一区二区三区av麻| 99久热在线精品视频观看| 国产肉丝袜在线观看| 久热爱精品视频在线观看久爱| 精品国精品自拍自在线| 东北女人一级内射黄片| 国产成人精品一区二区三区视频| 色窝窝在线无码中文| 亚洲高清在线观看免费视频 | 91日韩东京热中文字幕| 帮老师解开蕾丝奶罩吸乳网站| 国产精品亚洲一区二区无码| 久久久久亚洲AV无码去区首| 国产精品国产三级国产专区不| 无码国产色欲xxxx视频| 中字幕久久久人妻熟女| 国产在线观看精品一区二区三区| 深夜一区二区三区视频在线观看 | 亚洲国产日韩在线人成蜜芽| 国产风骚主播视频一区二区| 国产精品国产亚洲精品看不卡 | 国产精品污www一区二区三区 | 青青草视频在线观看视频免费 | 国产精品网站在线观看免费传媒| 国产高中生在线| 美女被插到高潮嗷嗷叫| 免费日本一区二区三区视频| 国产美女自慰在线观看| 久久国产免费观看精品| 精品日韩一区二区三区av| 国产成人无码av一区二区在线观看| 99精品热这里只有精品| 国产日韩欧美视频成人| 亚洲av在线观看播放| 欧美日韩国产精品自在自线| 五月激情婷婷丁香| 中文字幕av一区二区三区诱惑 | 免费视频成人片在线观看| 国产在线播放网址|