기본 Time to Live (TTL) 설정을 사용하여 새 테이블을 생성합니다. - Amazon Keyspaces(Apache Cassandra용)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기본 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 기본값이 있는 새 테이블을 생성합니다.
  1. 에 로그인하십시오. AWS Management Console를 클릭하고 집에서 https://console.aws.amazon.com/keyspaces/ Amazon Keyspaces 콘솔을 엽니다.

  2. 탐색 창에서 테이블을 선택한 다음 테이블 생성을 선택합니다.

  3. 테이블 세부 정보 섹션의 테이블 생성 페이지에서 키스페이스를 선택하고 새 테이블의 이름을 입력합니다.

  4. 스키마 섹션에서 테이블의 스키마를 생성합니다.

  5. 테이블 설정 섹션에서 설정 사용자 지정을 선택합니다.

  6. 타임 투 라이브 (TTL) 로 계속 진행하십시오.

    이 단계에서는 테이블의 기본 TTL 설정을 선택합니다.

    기본 TTL 기간의 경우 만료 시간을 입력하고 입력한 시간 단위 (예: 초, 일 또는 년) 를 선택합니다. Amazon Keyspaces는 초 단위로 값을 저장합니다.

  7. 테이블 생성을 선택합니다. 테이블은 지정된 TTL 기본값으로 생성됩니다.

Cassandra Query Language (CQL)
를 사용하여 TTL 기본값을 사용하여 새 테이블을 생성합니다. CQL
  1. 다음 명령문은 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;
  2. 새 테이블의 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
  1. 다음 명령을 사용하여 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'
  2. 다음 명령을 사용하여 테이블 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": [] }