CREATE DATABASE語法用于在Lindorm實例中創建數據庫,并設置數據庫屬性,例如數據有效期TTL,方便您統一歸檔數據。
引擎與版本
CREATE DATABASE語法適用于寬表引擎和時序引擎。
寬表引擎僅2.2.16及以上版本支持CREATE DATABASE語法。
時序引擎無版本限制。
語法
create_database_statement ::= CREATE DATABASE [ IF NOT EXISTS ] database_identifier [ WITH attribute_statement ]
attribute_statement ::= '(' attribute_definition (',' attribute_definition)* ')'
attribute_definition ::= attr_identifier '=' attr_val
2.2.16以下版本的寬表引擎僅支持語法CREATE SCHEMA [ IF NOT EXISTS ] schema_identifier
,2.2.16及以上版本的寬表引擎同時支持等價語法CREATE SCHEMA [ IF NOT EXISTS ] schema_identifier
。SCHEMA
為DATABASE
的別名,創建數據庫后,使用該數據庫時統一默認顯示DATABASE
。
差異說明
寬表引擎和時序引擎對不同語法要素的支持情況如下:
語法要素 | 寬表引擎 | 時序引擎 |
〇 | 〇 | |
?? | 〇 |
使用說明
數據庫名(database_identifier)
數據庫名需遵循以下規則:
長度為4~16字符。
可包含數字、大寫英文字符、小寫英文字符、中劃線(-)和下劃線(_)。
不能是系統保留名稱:lindorm、default、global。
數據庫屬性(attribute_definition)
僅時序引擎支持數據庫屬性。
您可以通過WITH
關鍵字為數據庫添加一個或多個屬性,例如WITH (cold_boundary=30, ttl=60)
。支持的屬性如下:
屬性名 | 類型 | 描述 |
cold_boundary | BIGINT | 冷熱存儲分界線,單位為天。默認值為0 ,表示不啟用冷存儲。 說明 如果需要設置cold_boundary,請先在Lindorm管理控制臺上開通冷存儲功能。如何開通,請參見開通冷存儲。 |
partition_interval | BIGINT | 分區時長,同一時間段的數據和索引存儲在一個時間分區,單位為天。 關于默認值,需注意以下內容:
|
ttl | BIGINT | 數據有效期,單位為天。超過有效期的數據會被自動清理。默認值為0,設置為0或不設置該參數時表示數據永久保存。 說明 如果同時設置了ttl和cold_boundary,ttl的設置時長必須大于cold_boundary的時間。 |
示例
創建數據庫
CREATE DATABASE DB1;
結果驗證
您可以通過SHOW DATABASES;
語句,查看數據庫是否創建成功。
指定數據庫屬性
創建數據庫DB1,其中數據存滿30天后轉入冷存儲,存滿60天后會被清除。
CREATE DATABASE DB1 WITH(cold_boundary=30,ttl=60);
結果驗證
您可以通過
SHOW DATABASES;
語句,查看數據庫是否創建成功。通過
DESCRIBE DATABASE DB1;
可以查看數據庫DB1的屬性值。