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

創建混合分區

您可以通過創建混合分區(Hybrid Partition)的方式來訪問存儲在不同引擎中的數據。

混合分區原理如下圖所示:

image

混合分區的基本原理是將分區表中的分區存儲在不同的存儲介質上,以達到冷熱數據分離管理的目的。比如將熱數據存儲在本地PFS上,冷數據存儲在OSS上,這樣可以極大地降低冷數據的存儲成本,且不影響熱數據的查詢性能,也不影響對熱數據執行DML操作。

說明
  • 創建混合分區表功能目前處于灰度階段。如需使用,請前往配額中心,根據配額IDpolardb_mysql_hybrid_partition找到配額名稱,在對應的操作列單擊申請來開通該功能。

  • 如需了解更多關于創建混合分區的內容,請搜索釘釘群號加群進行咨詢。釘釘群號:24490017825。

前提條件

  • 集群版本需為PolarDB MySQL版8.0.2版本且Revision version為8.0.2.2.5及以上。您可以通過查詢版本號來確認集群版本。

  • OSS上已存在需要創建的分區的數據文件,且數據文件名稱需要符合以下命名規則:

    • 擴展名和分區標記需大寫。

    • 表名和分區名與數據庫中的名稱保持一致。

    示例:假設表t1p1分區為CSV引擎,則該分區的數據文件命名為:t1#P#p1.CSV

注意事項

  • 創建的混合分區表至少需要包含一個在InnoDB引擎上創建的分區。

  • 創建包含二級分區的混合分區表時,一級分區的引擎必須和表的引擎保持一致,且二級分區至少需要包含一個在InnoDB引擎上創建的分區。

  • 混合分區表的分區類型目前僅支持RANGELIST 類型。

  • 暫不支持對混合分區表中的OSS分區執行DML操作(包括INSERTUPDATEDELETELOAD)。

  • 集群版本為PolarDB MySQL版8.0.2.2.17版本及以上時,支持對混合分區表執行ADDDROP操作。其它版本暫不支持對混合分區表執行ADDDROP操作。

參數說明

使用混合分區表時,您可以根據實際使用場景在PolarDB集群的參數配置中設置以下參數。

參數

說明

loose_hybrid_partition_query_mix_engine_enabled

查詢混合分區表時,是否查詢非InnoDB引擎中的分區數據。取值如下:

  • ON(默認):查詢混合分區表時,查詢非InnoDB引擎中的分區數據。

  • OFF:查詢混合分區表時,不查詢非InnoDB引擎中的分區數據。

創建混合分區

您可以通過已有的OSS Server來創建混合分區,如果當前不存在OSS Server,您可以通過以下語法來創建OSS Server:

CREATE SERVER oss_server_name
FOREIGN DATA WRAPPER oss
OPTIONS(EXTRA_SERVER_INFO '{"oss_endpoint": "<my_oss_endpoint>",
"oss_bucket": "<my_oss_bucket>", "oss_access_key_id": "<my_oss_access_key_id>",
"oss_access_key_secret": "<my_oss_access_key_secret>", "oss_prefix":"<my_oss_prefix>", "oss_sts_token": "<my_oss_sts_token>"}');
說明

集群版本為PolarDB MySQL版8.0.2版本且Revision version為8.0.2.2.6及以上時,支持使用my_oss_sts_token參數。

參數說明如下表所示:

參數

類型

備注

oss_server_name

字符串

OSS server名稱。

說明

該參數為全局參數,且全局唯一。該參數不區分大小寫,最大長度不超過64個字符,超過64個字符的名稱會被自動截斷。您可以將OSS server名稱指定為帶引號的字符串。

my_oss_endpoint

字符串

OSS對應區域的域名。

說明

如果是從阿里云的主機訪問數據庫,應該使用內網域名(即帶有“internal”的域名),避免產生公網流量。

my_oss_bucket

字符串

數據文件所在OSS的bucket,需要通過OSS預先創建。

my_oss_access_key_id

字符串

OSS賬號ID。

my_oss_access_key_secret

字符串

OSS賬號KEY。

my_oss_prefix

字符串

OSS路徑前綴。用于指定數據文件的存放路徑。不能包含特殊字符,也不能為空。

my_oss_sts_token

字符串

OSS臨時訪問憑證。獲取OSS臨時訪問憑證詳情請參見獲取臨時訪問憑證

說明

my_oss_sts_token參數值有默認的過期時間。如果my_oss_sts_token已過期,您需要通過以下命令重置EXTRA_SERVER_INFO中的全部參數值。

ALTER SERVER server_name OPTIONS(EXTRA_SERVER_INFO '{"oss_endpoint": "<my_oss_endpoint>",
"oss_bucket": "<my_oss_bucket>", "oss_access_key_id": "<my_oss_access_key_id>",
"oss_access_key_secret": "<my_oss_access_key_secret>", "oss_prefix":"<my_oss_prefix>", "oss_sts_token": "<my_oss_sts_token>"}');

創建混合分區表,示例如下:

CREATE TABLE t2(a1 INT, a2 VARCHAR(30), a3 VARCHAR(256))
CONNECTION = "oss_server_name"
PARTITION BY RANGE(a1)
(
   PARTITION p1 values less than (1000) ENGINE = CSV,
   PARTITION p2 values less than (2000) ENGINE = CSV,
   PARTITION p3 values less than (3000) ENGINE = INNODB
);

查詢混合分區

您可以通過以下兩種方式來查詢不同引擎的分區數據。

  • 在控制臺將 hybrid_partition_query_mix_engine_enabled參數設置為ON,執行查詢語句時,查詢結果中就會包含非InnoDB分區的數據。示例如下:

    SELECT * FROM t1;

    其中,t1表示需要查詢的混合分區表。

  • 在控制臺將 hybrid_partition_query_mix_engine_enabled參數設置為OFF,查詢指定分區中的數據。示例如下:

    SELECT * FROM t1 partition (p1);

    其中,t1表示需要查詢的混合分區表,p1表示需要查詢的分區。