기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
기본 Time to Live (TTL) 설정을 사용하여 새 테이블을 생성합니다.
Amazon Keyspaces에서는 테이블 생성 시 테이블의 모든 행에 대해 TTL 기본값을 설정할 수 있습니다.
테이블의 TTL 기본값은 0이므로 데이터가 자동으로 만료되지 않습니다. 테이블의 TTL 기본값이 0보다 크면 각 행에 만료 타임스탬프가 추가됩니다.
TTL값은 초 단위로 설정되며 구성 가능한 최대 값은 20년에 해당하는 630,720,000초입니다.
테이블을 생성한 후 특정 행 또는 열에 대한 테이블의 기본 TTL 설정을 명령문으로 덮어쓸 수 있습니다. CQL DML 자세한 내용은 INSERT명령문을 사용하여 새 행에 대한 사용자 지정 Time to Live (TTL) 값을 설정할 수 있습니다. 및 UPDATE명령문을 사용하여 행 및 열에 대한 사용자 지정 Time to Live (TTL) 설정을 편집할 수 있습니다. 단원을 참조하세요.
테이블에서 활성화하면 Amazon Keyspaces는 각 TTL 행에 대한 추가 TTL 관련 메타데이터를 저장하기 시작합니다. 또한 만료 타임스탬프를 TTL 사용하여 행 또는 열의 만료 시기를 추적합니다. 타임스탬프는 행 메타데이터로 저장되며 행의 스토리지 비용에 영향을 줍니다.
이 TTL 기능을 활성화한 후에는 테이블에 대해 해당 기능을 비활성화할 수 없습니다. 테이블을 0으로 설정하면 새 데이터에 대한 기본 만료 시간이 비활성화되지만 TTL 기능이 비활성화되거나 테이블을 원래 Amazon Keyspaces 스토리지 메타데이터 또는 쓰기 동작으로 되돌리지는 않습니다. default_time_to_live
다음 예는 기본값으로 새 테이블을 생성하는 방법을 보여줍니다. TTL
- Console
-
콘솔을 사용하여 Time to Live 기본값이 있는 새 테이블을 생성합니다.
에 로그인하십시오. AWS Management Console를 클릭하고 집에서 https://console.aws.amazon.com/keyspaces/ Amazon Keyspaces 콘솔을 엽니다.
-
탐색 창에서 테이블을 선택한 다음 테이블 생성을 선택합니다.
-
테이블 세부 정보 섹션의 테이블 생성 페이지에서 키스페이스를 선택하고 새 테이블의 이름을 입력합니다.
-
스키마 섹션에서 테이블의 스키마를 생성합니다.
테이블 설정 섹션에서 설정 사용자 지정을 선택합니다.
-
타임 투 라이브 (TTL) 로 계속 진행하십시오.
이 단계에서는 테이블의 기본 TTL 설정을 선택합니다.
기본 TTL 기간의 경우 만료 시간을 입력하고 입력한 시간 단위 (예: 초, 일 또는 년) 를 선택합니다. Amazon Keyspaces는 초 단위로 값을 저장합니다.
-
테이블 생성을 선택합니다. 테이블은 지정된 TTL 기본값으로 생성됩니다.
- Cassandra Query Language (CQL)
-
를 사용하여 TTL 기본값을 사용하여 새 테이블을 생성합니다. CQL
-
다음 명령문은 TTL 기본값이 3,024,000초 (35일을 나타내는 초) 로 설정된 새 테이블을 만듭니다.
CREATE TABLE my_table
(
userid uuid,
time timeuuid,
subject text,
body text,
user inet,
PRIMARY KEY (userid, time)
) WITH default_time_to_live = 3024000;
-
새 테이블의 TTL 설정을 확인하려면 다음 예와 같이 cqlsh
DESCRIBE
명령문을 사용하십시오. 출력에는 테이블의 기본 TTL 설정이 다음과 같이 표시됩니다default_time_to_live
.
DESC TABLE my_table
;
CREATE TABLE my_keyspace.my_table (
userid uuid,
time timeuuid,
body text,
subject text,
user inet,
PRIMARY KEY (userid, time)
) WITH CLUSTERING ORDER BY (time ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = {'class': 'com.amazonaws.cassandra.DefaultCaching'}
AND comment = ''
AND compaction = {'class': 'com.amazonaws.cassandra.DefaultCompaction'}
AND compression = {'class': 'com.amazonaws.cassandra.DefaultCompression'}
AND crc_check_chance = 1.0
AND dclocal_read_repair_chance = 0.0
AND default_time_to_live = 3024000
AND gc_grace_seconds = 7776000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 3600000
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99PERCENTILE';
- CLI
-
를 사용하여 TTL 기본값이 있는 새 테이블을 생성합니다. AWS CLI
-
다음 명령을 사용하여 TTL 기본값이 1년으로 설정된 새 테이블을 만들 수 있습니다.
aws keyspaces create-table --keyspace-name 'myKeyspace' --table-name 'myTable' \
--schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' \
--default-time-to-live '31536000'
-
다음 명령을 사용하여 테이블 TTL 상태를 확인할 수 있습니다.
aws keyspaces get-table --keyspace-name 'myKeyspace' --table-name 'myTable'
명령의 출력은 다음 예와 같습니다.
{
"keyspaceName": "myKeyspace",
"tableName": "myTable",
"resourceArn": "arn:aws:cassandra:us-east-1:123SAMPLE012:/keyspace/myKeyspace/table/myTable",
"creationTimestamp": "2024-09-02T10:52:22.190000+00:00",
"status": "ACTIVE",
"schemaDefinition": {
"allColumns": [
{
"name": "id",
"type": "int"
},
{
"name": "date",
"type": "timestamp"
},
{
"name": "name",
"type": "text"
}
],
"partitionKeys": [
{
"name": "id"
}
],
"clusteringKeys": [],
"staticColumns": []
},
"capacitySpecification": {
"throughputMode": "PAY_PER_REQUEST",
"lastUpdateToPayPerRequestTimestamp": "2024-09-02T10:52:22.190000+00:00"
},
"encryptionSpecification": {
"type": "AWS_OWNED_KMS_KEY"
},
"pointInTimeRecovery": {
"status": "DISABLED"
},
"ttl": {
"status": "ENABLED"
},
"defaultTimeToLive": 31536000,
"comment": {
"message": ""
},
"replicaSpecifications": []
}