• 
    

    
    

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

      ?

      大型數(shù)據(jù)庫分區(qū)表研究

      2016-08-09 07:23:32史斌
      中國新通信 2016年11期
      關(guān)鍵詞:分區(qū)表清華大學(xué)出版社列表

      【摘要】 分區(qū)表在大型數(shù)據(jù)庫特別是分布式數(shù)據(jù)庫中占有重要地位,分區(qū)是一種“分而治之”的技術(shù),為大量數(shù)據(jù)提供了可伸縮的性能,提高了對巨型數(shù)據(jù)庫的讀寫和查詢速度。本文主要研究了分布式數(shù)據(jù)庫Oralce 中的List分區(qū)表和Range分區(qū)表的創(chuàng)建與應(yīng)用,探討了其切割和分區(qū)表的修改技術(shù)。從而可以類推分區(qū)表在其它數(shù)據(jù)庫關(guān)系系統(tǒng)如大數(shù)據(jù)中Hive中的應(yīng)用。

      【關(guān)鍵字】 大型數(shù)據(jù)庫Oracle list分區(qū)表 range 分區(qū)表 分區(qū)表的切割

      一、引言

      分區(qū)表應(yīng)用在大型的分布數(shù)據(jù)庫中,分區(qū)是一種“分而治之”的技術(shù),通過將大表引分成可以管理的小塊,從而避免了對每個表作為一個大的、單獨(dú)的對象進(jìn)行管理,為大量數(shù)據(jù)提供了可伸縮的性能,提高了巨型數(shù)據(jù)庫的讀寫和查詢速度。

      分區(qū)表是將一個大的表分割成較小的片段(分區(qū)),在實(shí)際應(yīng)用中,分區(qū)表的操作是在獨(dú)立的分區(qū)上,但是對用戶而言是透明的 [1][2] 。Oracle提供了分區(qū)技術(shù)以支持VLDB(Very Large DataBase)。分區(qū)表通過對分區(qū)列的判斷,把分區(qū)列不同的記錄,放到不同的分區(qū)中。分區(qū)完全對應(yīng)用透明。Oracle的分區(qū)表可以包括多個分區(qū),每個分區(qū)都是一個獨(dú)立的段(SEGMENT),可以存放到不同的表空間中。查詢時可以通過查詢表來訪問各個分區(qū)中的數(shù)據(jù),也可以通過在查詢時直接指定分區(qū)的方法來進(jìn)行查詢。

      分區(qū)表的主要優(yōu)點(diǎn)為:

      (1)由于將數(shù)據(jù)分散到各個分區(qū)中,減少了數(shù)據(jù)損壞的可能性;(2)可以對單獨(dú)的分區(qū)進(jìn)行備份和恢復(fù);(3)可以將分區(qū)映射到不同的物理磁盤上,來分散IO;(4)提高可管理性、可用性和性能。

      什么時候需要分區(qū)表,官網(wǎng)給出了2個建議:

      (1)Tables greater than 2GB should always be considered for partitioning.

      (2)Tables containing historical data, in which new data is added into the newest partition. A typical example is a historical table where only the current months data is updatable and the other 11 months are read only.

      二、分區(qū)表的創(chuàng)建和應(yīng)用

      Oracle 10g以上版本提供了以下幾種分區(qū)類型:

      (1)范圍分區(qū)(range);(2)哈希分區(qū)(hash);(3)列表分區(qū)(list);(4)范圍-哈希復(fù)合分區(qū)(range-hash);(5)范圍-列表復(fù)合分區(qū)(range-list)。

      這里以應(yīng)用廣泛的list分區(qū)和range分區(qū)為例說明分區(qū)表的應(yīng)用。

      2.1 list 分區(qū)表

      List分區(qū)(列表分區(qū)): 通過列表方法(指定字符串值方法)進(jìn)行分區(qū)。 List分區(qū)表需要考慮分區(qū)的依據(jù),分區(qū)的名字,分區(qū)值(或者值的區(qū)域)每個分區(qū)所在的表空間。在分區(qū)時必須確定分區(qū)列可能存在的值,一旦插入的列值不在分區(qū)范圍內(nèi),則插入/更新就會失敗,因此通常建議使用list分區(qū)時,要創(chuàng)建一個default分區(qū)存儲那些不在指定范圍內(nèi)的記錄,類似range分區(qū)中的maxvalue分區(qū)。

      create table part_book1

      ( bid number(4),

      bookname VARCHAR2(20),

      bookpress VARCHAR2(30),

      booktime date)

      partition by list(bookpress)

      (partition part1 values(‘清華大學(xué)出版社) tablespace system,

      partition part2 values(‘教育出版社) tablespace users); list分區(qū)表的插入同普通表,如下:

      SQL> insert into part_book1 values(1,oralce,清華大學(xué)出版社,to_date(‘20110102,yyyymmdd));

      SQL> insert into part_book1 values(2,音樂基礎(chǔ)欣賞,教育出版社,to_date(‘20120102,yyyymmdd));

      list分區(qū)表可以分區(qū)查詢,如下:

      SQL> select * from part_book1 partition(part1);

      創(chuàng)建或修改分區(qū)時,可以指定default,把非分區(qū)規(guī)則的數(shù)據(jù),全部放到這個default分區(qū),如除了清華大學(xué)出版社, ‘教育出版社之外的出版社,放到分區(qū)表part_book1的part3分區(qū)中。

      SQL> alter table part_book1 add partition part3 values(default) tablespace system;

      與分區(qū)表相關(guān)的數(shù)據(jù)字典:dba_part_tables,dba_tab_ partitions等等。

      2.2 range 分區(qū)表

      Range 分區(qū)表是應(yīng)用范圍比較廣的表分區(qū)方式[3][4],范圍分區(qū)就是對數(shù)據(jù)表中的某個值的范圍進(jìn)行分區(qū),根據(jù)某個值的范圍,決定將該數(shù)據(jù)存儲在哪個分區(qū)上。它是以列的值的范圍來做為分區(qū)的劃分條件,將記錄存放到列值所在的range分區(qū)中。

      比如按照時間劃分,某大型企業(yè)的數(shù)據(jù)2015 年1 季度的數(shù)據(jù)放到a 分區(qū),2015年2 季度的數(shù)據(jù)放到b分區(qū),因此在創(chuàng)建的時候,需要指定基于的列,以及分區(qū)的范圍值。若某些記錄暫無法預(yù)測范圍,可創(chuàng)建maxvalue 分區(qū),所有不在指定范圍內(nèi)的記錄會存儲maxvalue 區(qū)。

      建立range分區(qū)表分區(qū)表需要考慮分區(qū)的依據(jù),分區(qū)的名字,分區(qū)值(或者值的區(qū)域)每個分區(qū)所在的表空間。values less than:后跟分區(qū)范圍值(如果依賴列有多個,范圍對應(yīng)值也應(yīng)是多個,中間以逗號分隔);

      create table part_book

      ( bid number(4),

      bookname VARCHAR2(20),

      bookpress VARCHAR2(30),

      booktime date)

      partition by range(booktime)

      (partition part1 values less than(to_ date(‘20100101,yyyymmdd)) tablespace system,

      partition part2 values less than (to_ date(‘20120101,yyyymmdd)) tablespace users,

      partition part3 values less than (MAXVALUE) tablespace users

      );

      insert into part_book values(1,oracle,清華大學(xué)出版社,to_date(‘20110102,yyyymmdd));

      insert into part_book values(2,oracle,清華大學(xué)出版社,to_date(‘20090101,yyyymmdd));

      Range 分區(qū)表用過一段時間之后,若需要增加新的分區(qū),可以對range分區(qū)表進(jìn)行切割[5]。Range 分區(qū)切割的位置為在分區(qū)表中間或者開始處或者帶有maxvalue值的尾處增加分區(qū)。其語法格式如下:

      ALTER TABLE 表名 SPLIT PARTITION 分區(qū)的名字 AT(值) INTO (PARTITION 新分區(qū)的名字1 ,PARTITION 新分區(qū)的名字2)

      分區(qū)表的切割舉例:將part3分區(qū)切割為兩個新的分區(qū),名字為part3、part4,分區(qū)的的依據(jù)值為20140101.

      alter table part_book4

      s p l i t p a r t i t i o n p a r t 3 a t ( t o _ date(‘20140101,yyyymmdd))

      into(partition part3,partition part4);

      Range 分區(qū)表的插入和查詢操作同 list分區(qū)表,在這里不再贅述。 另外對于組合分區(qū):如果某表按照某列分區(qū)之后,仍然較大,或者是一些其它的需求,還可以通過分區(qū)內(nèi)再建子分區(qū)的方式將分區(qū)再分區(qū),即組合分區(qū)的方式。

      三、總結(jié)

      分區(qū)表提高了大型、巨型數(shù)據(jù)庫的讀寫和查詢速度,為大量數(shù)據(jù)的存儲、讀取提供了可伸縮性能,本文主要研究了分布式數(shù)據(jù)庫Oracle 中的List分區(qū)表和Range分區(qū)表的創(chuàng)建與應(yīng)用,探討了其切割和分區(qū)表的修改技術(shù)。

      參 考 文 獻(xiàn)

      [1] 王立君.并行多媒體數(shù)據(jù)庫中基于內(nèi)容的高效檢索的數(shù)據(jù)分配方法的研究. [J]科學(xué)技術(shù)與工程,2013.13(9),2544-2548

      [2] 郭晉秦, 韓 焱. 大型數(shù)據(jù)庫聚類中偽裝危險數(shù)據(jù)識別方法研究. 計(jì)算機(jī)仿真 2015.433-436 32(11)

      [3] 徐洪麗,王志軍.認(rèn)知策略與知識結(jié)構(gòu)化的研究與應(yīng)用-以大型數(shù)據(jù)庫學(xué)習(xí)為例. 高教學(xué)刊. 2016.3 73-74.

      [4] 李亞龍, 朱巖. 表分區(qū)在分界開關(guān)監(jiān)控系統(tǒng)數(shù)據(jù)庫的應(yīng)用.2016(25)2: P235-237

      [5] 史斌.大型數(shù)據(jù)庫管理系統(tǒng) Oracle 體系結(jié)構(gòu). 電腦編程技巧與維護(hù). 2010.18:p72-74

      猜你喜歡
      分區(qū)表清華大學(xué)出版社列表
      巧用列表來推理
      2022中科院期刊分區(qū)表全球眼科學(xué)期刊分區(qū)及排名
      2022中科院期刊分區(qū)表全球眼科學(xué)期刊分區(qū)及排名
      2022中科院期刊分區(qū)表全球眼科學(xué)期刊分區(qū)及排名
      學(xué)習(xí)運(yùn)用列表法
      清華大學(xué)出版社期刊中心
      擴(kuò)列吧
      Desperate Love towards the Dark Lady in Shakespeare’s Sonnets
      世界家苑(2018年4期)2018-05-21 08:56:20
      《秘書工作手記》
      決策(2017年5期)2017-06-21 16:58:25
      Oracle分區(qū)表技術(shù)在稅務(wù)系統(tǒng)中的應(yīng)用
      修武县| 龙门县| 田东县| 洞头县| 那曲县| 永顺县| 电白县| 清新县| 嫩江县| 小金县| 青海省| 南雄市| 泌阳县| 健康| 芒康县| 宁晋县| 石渠县| 襄城县| 绥棱县| 漳州市| 郎溪县| 色达县| 从化市| 郎溪县| 辉南县| 石阡县| 东乌| 高邑县| 秦皇岛市| 丰镇市| 永宁县| 巍山| 天气| 香河县| 龙泉市| 柳州市| 刚察县| 盖州市| 论坛| 黄平县| 乌拉特前旗|