日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

更改列存表的數(shù)據(jù)存儲格式

從Hologres V0.10版本開始,Hologres創(chuàng)建的列存表數(shù)據(jù)存儲格式升級為AliORC,該存儲格式能夠進一步壓縮數(shù)據(jù)存儲大小,降低存儲成本。本文將會為您介紹在Hologres中如何更改列存表的數(shù)據(jù)存儲格式。

使用限制

在Hologres中更改列存表的數(shù)據(jù)存儲格式,具體限制如下:

  • 該功能僅Hologres V0.10及以上版本支持,請在Hologres管控臺的實例詳情頁查看當(dāng)前實例版本,如果您的實例是V0.10以下版本,請您使用自助升級或加入Hologres釘釘交流群反饋,詳情請參見如何獲取更多的在線支持?。

  • 升級前的數(shù)據(jù)列存表存儲格式為segment,升級至Hologres V0.10版本后,新建的列存表將會默認為AliORC(參數(shù)值為orc)存儲格式,行存表為sst存儲格式。當(dāng)前版本支持對升級前的歷史數(shù)據(jù)更換,但有如下限制:

    • 當(dāng)前版本僅支持單表轉(zhuǎn)換列存表存儲格式,不支持批量轉(zhuǎn)換。

    • 針對分區(qū)表,僅需對父表進行列存數(shù)據(jù)存儲格式轉(zhuǎn)換操作即可。

    • 轉(zhuǎn)換數(shù)據(jù)存儲格式后,通過后臺線程異步將舊的format數(shù)據(jù)切換到新的format上。后臺異步切換過程會消耗系統(tǒng)資源,包括CPI、I/O、網(wǎng)絡(luò)等,切換期間可能會對線上任務(wù)有一定的性能影響,整個切換時長跟存量數(shù)據(jù)大小以及實時寫入量相關(guān),請在業(yè)務(wù)低峰期進行切換。

  • 不支持通過修改存儲格式完成列存表轉(zhuǎn)換為行存表,如需變換,請重新創(chuàng)建新的表結(jié)構(gòu)。

查看數(shù)據(jù)存儲格式

您可以使用如下SQL語句查看數(shù)據(jù)庫中各張表的存儲格式:

  • 語法示例

    SELECT  *
    FROM    hologres.hg_table_properties
    WHERE   property_key = 'storage_format'
    ;
  • 查詢結(jié)果

     table_namespace |     table_name     |  property_key  | property_value 
    -----------------+--------------------+----------------+----------------
     public          | part               | storage_format | segment
     public          | partsupp           | storage_format | segment
     public          | customer           | storage_format | segment
     public          | orders_row         | storage_format | sst
     public          | sp_orders          | storage_format | segment
     public          | sp_orders_20161231 | storage_format | segment
     public          | sp_orders_20171231 | storage_format | segment
     public          | sp_orders_20181231 | storage_format | segment
     public          | lineitem           | storage_format | segment
     public          | nation             | storage_format | orc
     public          | region             | storage_format | orc
     public          | supplier           | storage_format | orc
     public          | orders             | storage_format | orc
    (13 rows)
  • 查詢結(jié)果參數(shù)說明

    參數(shù)

    說明

    segment

    Hologres早期版本列存表的默認格式。

    sst

    行存表的默認格式。

    orc

    Hologres V0.10及以上版本列存表的默認格式。其中property_value為orc的即為使用AliORC格式存儲數(shù)據(jù)的表。

更新表的數(shù)據(jù)存儲格式

在您升級Hologres實例至V0.10版本后,默認創(chuàng)建的表均會以AliORC格式存儲數(shù)據(jù)。但是已經(jīng)存在的數(shù)據(jù)表需要您手工修改其存儲類型,命令語法如下:

call set_table_property ('table_name', 'storage_format', 'orc');

其中,您需要將table_name替換為實際的表名。如下示例將表part的存儲類型更換為AliORC存儲格式。

call set_table_property ('public.part', 'storage_format', 'orc');

批量轉(zhuǎn)換Segment為ORC格式

從Hologres V1.3后續(xù)版本開始,將不再支持創(chuàng)建表時設(shè)置存儲格式為Segment,建議盡早將Segment格式切換為ORC格式。涉及的場景如下。

  • 新建表。

    新建表如果設(shè)置為Segment格式,從Hologres V1.3.29版本開始,系統(tǒng)將會自動將Segment格式轉(zhuǎn)換為ORC格式,因此,在執(zhí)行建表語句時將會收到如下提示:

    NOTICE:storage format 'segment' is no longer supported,converted to 'orc'
  • 存量Segment表。

    如果是已經(jīng)創(chuàng)建的Segment存量表,可以通過以下步驟進行ORC格式的批量轉(zhuǎn)換。

    1. 查看當(dāng)前數(shù)據(jù)庫已有的Segment格式表。

      說明

      如果查詢結(jié)果為空,說明當(dāng)前數(shù)據(jù)庫已經(jīng)沒有需要切換的表、或者所有需要切換的表都已經(jīng)在后臺切換當(dāng)中,無需進一步處理。

      select * from hologres.hg_table_properties
      where property_key = 'storage_format' and property_value like '%segment%';
    2. 批量將Segment格式轉(zhuǎn)換成ORC格式。

      從Hologres V1.3.35版本開始,支持將Segment格式的表批量轉(zhuǎn)換成ORC格式的表。命令語法如下。

      call hg_convert_segment_orc([<BATCH_SIZE>]);

      其中BATCH_SIZE為可選參數(shù),代表同時進行切換的表數(shù)量,可以為空,默認為100。

      命令說明:

      • 該命令語句是異步執(zhí)行的,所以會直接返回成功,但會在系統(tǒng)后臺進行格式轉(zhuǎn)換。轉(zhuǎn)換過程中需要占用一定的CPU和內(nèi)存資源(指標上漲),對線上業(yè)務(wù)的運行有一定影響,因此請盡量在業(yè)務(wù)低峰期進行切換。常會在數(shù)分鐘到若干小時結(jié)束,可以通過查看CPU和內(nèi)存指標觀察是否下降,下降則說明轉(zhuǎn)換完成。

      • 當(dāng)命令返回為空時,說明當(dāng)前數(shù)據(jù)庫已經(jīng)沒有需要切換的表、或者所有需要切換的表都已經(jīng)在后臺切換當(dāng)中,無需進一步處理,可以繼續(xù)處理下個數(shù)據(jù)庫。

      • 如果命令返回類似continue to call hg_convert_segment_orc() if you want to convert all tables in current database.的提示,說明還有需要切換的表。需要根據(jù)集群負載情況,繼續(xù)執(zhí)行該命令,直到返回空為止。