• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      利用表分區(qū)的大數(shù)據(jù)庫(kù)優(yōu)化方法

      2018-12-18 10:16高麗娟
      電腦知識(shí)與技術(shù) 2018年26期
      關(guān)鍵詞:優(yōu)化

      高麗娟

      摘要:與常規(guī)數(shù)據(jù)庫(kù)相比,大數(shù)據(jù)庫(kù)不僅僅是數(shù)據(jù)存儲(chǔ)量巨大,每一個(gè)表結(jié)構(gòu)記錄的條數(shù)也更大,其對(duì)于系統(tǒng)管理、系統(tǒng)性能等提出了許多新的要求。為了對(duì)大數(shù)據(jù)表在查詢過(guò)程中農(nóng)工存在的延遲問(wèn)題以及管理問(wèn)題進(jìn)行解決,可以將表分區(qū)方法引入其中。該文從表分區(qū)的原理出發(fā),以SQL Server 2012為例,對(duì)大數(shù)據(jù)庫(kù)優(yōu)化中表分區(qū)的實(shí)現(xiàn)方法進(jìn)行了研究和討論,希望能夠借此提升大數(shù)據(jù)庫(kù)數(shù)據(jù)管理與查詢的效率。

      關(guān)鍵詞:表分區(qū);大數(shù)據(jù)庫(kù);優(yōu)化

      中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)26-0018-02

      Abstract: Compared with the conventional database, the large database is not only a huge amount of data storage, but also a larger number of records per table structure. It puts forward many new requirements for system management and system performance. In order to solve the delay problem and management problem of the agricultural workers in the query process of the big data table, the table partitioning method can be introduced. Based on the principle of table partitioning, this paper takes SQL Server 2012 as an example to study and discuss the implementation method of table partitioning in large database optimization, hoping to improve the efficiency of large database data management and query.

      Key words: table partitioning; large database; optimization

      大數(shù)據(jù)背景下,海量數(shù)據(jù)的存儲(chǔ)與管理成為了人們關(guān)注的核心問(wèn)題,一些大型數(shù)據(jù)庫(kù)的存儲(chǔ)量達(dá)到了TB甚至PB的級(jí)別,單個(gè)表格記錄的數(shù)據(jù)可以達(dá)到數(shù)千萬(wàn)甚至上億,這個(gè)數(shù)據(jù)還會(huì)隨著數(shù)據(jù)庫(kù)的更新而不斷增加。在這樣的背景下,數(shù)據(jù)庫(kù)運(yùn)行效率受到了很大影響,維護(hù)管理的難度也大大增加,想要對(duì)大數(shù)據(jù)庫(kù)進(jìn)行有效管理,可以將表分區(qū)的方法引入其中,針對(duì)大數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化。

      1 表分區(qū)的原理

      表分區(qū)的基本原理,是將存在于數(shù)據(jù)庫(kù)中的達(dá)標(biāo)的數(shù)據(jù)分割開來(lái),形成被稱為分區(qū)的若干較小的子集,類型有很多,如NTFS、FAT32等,這些子集如果從邏輯關(guān)系分析,依然屬于一張表。對(duì)于程序人員而言,表分區(qū)高度透明,因此在進(jìn)行程序開發(fā)設(shè)計(jì)的過(guò)程中,并不需要考慮表分區(qū)的物理存儲(chǔ)問(wèn)題。結(jié)合SQL Server 數(shù)據(jù)庫(kù)進(jìn)行分析,表分區(qū)表現(xiàn)為垂直分區(qū)和水平分區(qū)兩種不同形式,前者指將表分成行數(shù)相同,列數(shù)較少的表,后者則是將表分為列數(shù)相同,行數(shù)較少的表。通過(guò)大表分區(qū)的方式,能夠顯著提升數(shù)據(jù)查詢效率,如果需要對(duì)某個(gè)分區(qū)中的對(duì)象進(jìn)行查詢,則只需要針對(duì)其所在的分區(qū)進(jìn)行掃描即可。舉例說(shuō)明,某數(shù)據(jù)表記錄的數(shù)據(jù)條數(shù)達(dá)到了千萬(wàn)級(jí)別,如果依照月份對(duì)數(shù)據(jù)表進(jìn)行分區(qū),則特定月份的查詢可能只需要在百萬(wàn)級(jí)或者十萬(wàn)級(jí)的基礎(chǔ)上進(jìn)行掃描,能夠極大地壓縮查詢范圍。在進(jìn)行表分區(qū)的過(guò)程中,如果系統(tǒng)本身設(shè)置有復(fù)數(shù)的CPU或者磁盤,可以在不同磁盤上,設(shè)置不同分區(qū)表,結(jié)合并行操作,能夠促進(jìn)系統(tǒng)響應(yīng)性能的強(qiáng)化,提升其對(duì)于數(shù)據(jù)的吞吐量和吞吐效率。如果條件允許,可以以表分區(qū)為基本單位,針對(duì)數(shù)據(jù)進(jìn)行必要的操作,如移動(dòng)、備份等,確保在系統(tǒng)遭遇故障或者風(fēng)險(xiǎn)時(shí),不會(huì)出現(xiàn)大規(guī)模數(shù)據(jù)損壞或者丟失的情況,技術(shù)人員只需要對(duì)故障分區(qū)進(jìn)行隔離和恢復(fù)即可,故障影響范圍更小,處理速度更快,數(shù)據(jù)的維護(hù)和管理也更加便捷[1]。

      2 表分區(qū)的實(shí)現(xiàn)

      這里以SQL Server 2012數(shù)據(jù)庫(kù)為例,對(duì)利用表分區(qū)實(shí)現(xiàn)大數(shù)據(jù)優(yōu)化的方法進(jìn)行簡(jiǎn)單分析。

      2.1 數(shù)據(jù)文件結(jié)構(gòu)

      在SQL Server 2012數(shù)據(jù)庫(kù)中,數(shù)據(jù)文件的常見類型有三種:一是主數(shù)據(jù)文件(.mdf),這是每一個(gè)數(shù)據(jù)庫(kù)中必然存在的數(shù)據(jù)文件,系統(tǒng)相關(guān)的各種信息都存儲(chǔ)在其中,而且配合相應(yīng)的系統(tǒng)功能,主數(shù)據(jù)文件還能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)庫(kù)中其他文件的跟蹤;二是輔助數(shù)據(jù)文件(.ndf),與主數(shù)據(jù)文件的單一性不同,輔助數(shù)據(jù)文件在數(shù)據(jù)庫(kù)中可能沒(méi)有,也可能有多個(gè),其主要功能是對(duì)用戶數(shù)據(jù)進(jìn)行存儲(chǔ);三是日志文件(.idf),任何數(shù)據(jù)庫(kù)都至少有一個(gè)日志文件,其中包含了數(shù)據(jù)庫(kù)故障恢復(fù)所需的各種信息,日志文件并不屬于任何文件組[2]。

      為了方便進(jìn)行分配和管理,很多時(shí)候技術(shù)人員都會(huì)對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行分組,如果分組中包含主數(shù)據(jù)文件,則可以將其稱為主文件組,其余的文件組屬于用戶定義文件組,在每個(gè)數(shù)據(jù)庫(kù)中并不具備唯一性,可以有一個(gè),也可以很多個(gè)。

      2.2 表分區(qū)實(shí)現(xiàn)步驟

      在SQL Server 2012數(shù)據(jù)庫(kù)中,表分區(qū)的創(chuàng)建需要依照基本步驟進(jìn)行:一是開展整體規(guī)劃,具體來(lái)講,就是結(jié)合數(shù)據(jù)庫(kù)的實(shí)際情況,針對(duì)分區(qū)字段和分區(qū)個(gè)數(shù)等參數(shù)信息進(jìn)行明確;二是做好分區(qū)函數(shù)創(chuàng)建,結(jié)合分區(qū)函數(shù),確定不同分區(qū)表的邊界。分區(qū)函數(shù)可以對(duì)表分區(qū)邏輯框架進(jìn)行確定,通??梢岳肨-SQL語(yǔ)句完成[3]:

      CREATE FUNCTION Partition_Function Name(Parameter Type) AS RANGE[LEFT/RIGHT] FOR VALUES ([boundary_value[,…,n]])。

      分區(qū)函數(shù)與常規(guī)意義上的用戶自定義函數(shù)存在很大區(qū)別,僅僅被用于分區(qū)表的創(chuàng)建;三是創(chuàng)建分區(qū)方案,分區(qū)方案或者說(shuō)分區(qū)架構(gòu)可以將每一個(gè)分區(qū)映射到相應(yīng)的文件組中,在方案中應(yīng)該確定好分區(qū)方案,然后運(yùn)用相應(yīng)的計(jì)算機(jī)語(yǔ)言,生成分區(qū)方案語(yǔ)句:

      CREATE PARTITION SCHEME partition_scheme_name AS PARTITION partition_name TO(file_group_name,…)。

      從具體情況分析,所有分區(qū)表的映射都能夠集中在一個(gè)文件組內(nèi),當(dāng)然也可以選擇部分分區(qū)表在一個(gè)文件組內(nèi)完成映射,從保證數(shù)據(jù)庫(kù)運(yùn)行效果的角度,在條件允許的情況下,應(yīng)該盡量在不同文件組映射不同分區(qū)表,以此來(lái)實(shí)現(xiàn)I/O均衡。在分區(qū)表創(chuàng)建過(guò)程中,分區(qū)函數(shù)和分區(qū)方案非常關(guān)鍵,兩者只被用于分區(qū)表及分區(qū)索引中;四是分區(qū)表或索引創(chuàng)建,對(duì)象創(chuàng)建環(huán)節(jié),必須指定要使用的分區(qū)方案,然后就可以運(yùn)用T-SQL語(yǔ)句進(jìn)行分區(qū)表或者分區(qū)索引的創(chuàng)建[4]。

      3 表分區(qū)的管理

      表分區(qū)的應(yīng)用,能夠?qū)Υ髷?shù)據(jù)庫(kù)進(jìn)行優(yōu)化,提升數(shù)據(jù)維護(hù)管理的便利性。而結(jié)合表分區(qū)實(shí)現(xiàn)方法分析,分區(qū)函數(shù)的改變是實(shí)現(xiàn)分區(qū)操作的基礎(chǔ)和前提,如果其在運(yùn)行過(guò)程中產(chǎn)生變化,則在經(jīng)過(guò)分區(qū)架構(gòu)的傳遞后,這種變化會(huì)在分區(qū)表中體現(xiàn)出來(lái)。結(jié)合實(shí)踐分析,對(duì)應(yīng)的變化包括了分區(qū)拆分、分區(qū)添加、分區(qū)刪除、分區(qū)合并等,在沒(méi)有特殊要求的情況下,無(wú)論是分區(qū)拆分還是分區(qū)合并,只需修改分區(qū)函數(shù)就能實(shí)現(xiàn),但是如果想要確定分區(qū)表映射的文件組,必須利用分區(qū)架構(gòu),經(jīng)NRXT USED指定T-SQL語(yǔ)句。分區(qū)拆分與合并的主要作用是實(shí)現(xiàn)數(shù)據(jù)備份轉(zhuǎn)移,SQL Server 2012中,可以結(jié)合基于元數(shù)據(jù)的操作,實(shí)現(xiàn)數(shù)據(jù)在不同分區(qū)的轉(zhuǎn)移,數(shù)據(jù)本身并不需要進(jìn)行移動(dòng),而且整個(gè)過(guò)程耗時(shí)極短,基本不會(huì)對(duì)系統(tǒng)產(chǎn)生影響。從用戶的角度,可以針對(duì)分區(qū)數(shù)據(jù)開展如下操作:一是對(duì)某個(gè)分區(qū)進(jìn)行重新指派,形成單表;二是將一張表看做是一個(gè)分區(qū),轉(zhuǎn)移到另外一個(gè)已經(jīng)存在的分區(qū)表中[5]。

      4 結(jié)束語(yǔ)

      總而言之,面對(duì)大數(shù)據(jù)庫(kù)中存儲(chǔ)的海量數(shù)據(jù),可以引入分區(qū)表的方法來(lái)進(jìn)行優(yōu)化,提升大數(shù)據(jù)庫(kù)數(shù)據(jù)處理的效率和管理維護(hù)效果。本文結(jié)合表分區(qū)的基本原理,以SQL Server 2012數(shù)據(jù)庫(kù)為例,對(duì)表分區(qū)的實(shí)現(xiàn)方法及管理進(jìn)行了分析,對(duì)比以往的大數(shù)據(jù)庫(kù)數(shù)據(jù)處理模式,在引入表分區(qū)方法后,能夠極大地壓縮數(shù)據(jù)查找范圍,提升數(shù)據(jù)查詢效率,也可以實(shí)現(xiàn)I/O均衡,促進(jìn)系統(tǒng)數(shù)據(jù)即時(shí)吞吐量的提高。

      參考文獻(xiàn):

      [1] 周濤,楊麗紅,張軍,等.SQL Server 2005大型數(shù)據(jù)庫(kù)優(yōu)化之表分區(qū)詳解[J].云南大學(xué)學(xué)報(bào):自然科學(xué)版,2013,35(s2):59-62.

      [2] 周奇才,甘凱,王磊,等.大型設(shè)備遠(yuǎn)程監(jiān)控與管理系統(tǒng)數(shù)據(jù)庫(kù)優(yōu)化方法研究與應(yīng)用[J].機(jī)電一體化,2015,21(9):39-43.

      [3] 楊瑩.基于Oracle數(shù)據(jù)庫(kù)大數(shù)據(jù)的檢索優(yōu)化分析與設(shè)計(jì)[J].數(shù)碼世界,2017(4):31-32.

      [4] 王三蕊.ORACLE數(shù)據(jù)庫(kù)優(yōu)化之分區(qū)技術(shù)[J].電子技術(shù)與軟件工程,2016(12):182-183.

      [5] 郭玲.弱匹配模型下的數(shù)據(jù)庫(kù)分區(qū)查詢方法研究[J].科技通報(bào),2015(1):199-201.

      [通聯(lián)編輯:光文玲]

      猜你喜歡
      優(yōu)化
      超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
      PEMFC流道的多目標(biāo)優(yōu)化
      一道優(yōu)化題的幾何解法
      由“形”啟“數(shù)”優(yōu)化運(yùn)算——以2021年解析幾何高考題為例
      圍繞“地、業(yè)、人”優(yōu)化產(chǎn)業(yè)扶貧
      事業(yè)單位中固定資產(chǎn)會(huì)計(jì)處理的優(yōu)化
      4K HDR性能大幅度優(yōu)化 JVC DLA-X8 18 BC
      幾種常見的負(fù)載均衡算法的優(yōu)化
      LEACH算法的創(chuàng)新優(yōu)化
      通化县| 庄浪县| 资溪县| 平安县| 淮阳县| 连南| 札达县| 炉霍县| 扎赉特旗| 柳州市| 米林县| 浠水县| 武城县| 苍梧县| 彩票| 独山县| 虎林市| 盘锦市| 兴宁市| 恩平市| 方山县| 宁阳县| 察雅县| 平原县| 漳平市| 乃东县| 伽师县| 延长县| 南阳市| 达州市| 中宁县| 辽源市| 柳林县| 东乡| 肥城市| 开化县| 历史| 河北省| 吉木萨尔县| 屏边| 五原县|