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

Beam使用

更新時間:

本文介紹如何使用存儲引擎Beam。

注意事項

  • 僅存儲彈性模式v7.0.x版本支持Beam存儲引擎。

  • Beam存儲引擎在存儲彈性模式v7.0.6.2版本中結(jié)束公測正式上線,該版本修復(fù)了公測中的問題,建議您盡快升級到v7.0.6.2及以上版本。

創(chuàng)建Beam表

使用Beam引擎創(chuàng)建表,需要在SQL語句中指定USING beam配置項。例如,創(chuàng)建一個名為test的Beam表。

CREATE TABLE test(a INT, b INT) 
USING beam 
DISTRIBUTED BY (a);
說明

默認情況下,Beam表會對所有的列使用LZ4 9級壓縮。

指定排序鍵

您可以通過指定排序鍵的方式來指定數(shù)據(jù)的物理聚集方式。同時Beam會對指定的排序鍵和主鍵列收集最大(Max)或最小(Min)信息,從而加速包含排序鍵過濾條件的查詢。 例如,SQL語句中包含sale_date='20230715'的條件,則數(shù)據(jù)基于sale_date列排序會獲得額外的性能收益。

您可以在ORDER BY子句中指定一個或多個排序鍵。Beam表會在后臺自動對數(shù)據(jù)基于排序鍵進行重排序優(yōu)化。

示例

創(chuàng)建帶排序建的Beam表。

CREATE TABLE beam_example (
    id integer,
    name text,
    ftime timestamp
) 
USING beam 
DISTRIBUTED BY (id) 
ORDER BY(id);

向Beam表中寫入10000000行數(shù)據(jù),并帶排序鍵過濾條件查詢。

INSERT INTO beam_example 
SELECT r, md5((r*random())::text), now() + interval '1 seconds' *(r*random())::int 
FROM generate_series(1,10000000)r;
SELECT * FROM beam_example WHERE id = 100000;

指定壓縮算法

Beam支持多種壓縮算法,您可以根據(jù)實際業(yè)務(wù)需要選擇不同的壓縮算法。Beam支持ZSTD、LZ4、AUTO和GDICT壓縮算法。默認使用LZ4 1級壓縮,以提供在大部分場景下更優(yōu)的解壓性能。

ZSTD

如果您期望獲得更高的壓縮比,可以使用ZSTD壓縮算法,但其壓縮和解壓性能較弱于LZ4。

LZ4

擁有極高的壓縮和解壓性能,但是會損失一部分壓縮率。

AUTO

AUTO是Beam自研的自適應(yīng)的壓縮算法。對于數(shù)值列,根據(jù)數(shù)據(jù)的Layout提供相對于通用壓縮算法更高的壓縮比和更高的壓縮、解壓效率。對于其他類型,則使用LZ4通用壓縮算法進行壓縮。

GDICT

GDICT是Beam自研的全局字典編碼。GDICT在低基數(shù)列(小于256個值),可以提供極致的壓縮比和解壓性能。同時支持過濾條件下推,在特定的場景下,相對于通用壓縮算法可以獲得最高100X的掃描性能提升。

示例

創(chuàng)建一個壓縮算法為ZSTD 9級壓縮的Beam表。

CREATE TABLE beam_example (
    id integer,
    name text,
    ftime timestamp
) USING beam  
WITH(compresstype='zstd',  compresslevel=9) ;

Auto Optimize

當您的Beam表有多次寫入、更新或刪除操作時,隨著時間的推移,表中會存在大量的過期數(shù)據(jù),從而導(dǎo)致掃描性能下降。Auto Optimize是后臺的數(shù)據(jù)優(yōu)化進程,會自動對您的Beam表進行過期數(shù)據(jù)回收,小文件合并和數(shù)據(jù)按照排序鍵聚集操作,從而保障查詢性能。一般情況下,該操作都會由后臺進程自動完成,您也可以通過OPTIMIZE beam_example;命令手動觸發(fā)Optimize。