

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

# 기본 TTL(Time To Live) 설정으로 새 테이블 생성
<a name="TTL-how-to-create-table"></a>

Amazon Keyspaces에서는 테이블 생성 시 테이블의 모든 행에 대해 기본 TTL 값을 설정할 수 있습니다.

테이블의 기본 TTL 값은 0이며, 이는 데이터가 자동으로 만료되지 않음을 의미합니다. 테이블의 기본 TTL 값이 0보다 크면 각 행에 만료 타임스탬프가 추가됩니다.

TTL 값은 초 단위로 설정되며 구성 가능한 최댓값은 630,720,000초로 20년에 해당합니다.

테이블을 생성한 후 특정 행 또는 열에 대한 테이블의 기본 TTL 설정을 CQL DML 문으로 덮어쓸 수 있습니다. 자세한 내용은 [`INSERT` 문을 사용하여 새 행에 대한 사용자 지정 TTL(Time to Live) 값을 설정합니다.](TTL-how-to-insert-cql.md) 및 [`UPDATE` 문을 사용하여 행과 열에 대한 사용자 지정 TTL(Time to Live) 설정을 편집합니다.](TTL-how-to-update-cql.md) 섹션을 참조하세요.

테이블에서 TTL을 활성화하면 Amazon Keyspaces가 각 행에 대해 추가 TTL 관련 메타데이터를 저장하기 시작합니다. 또한 TTL은 만료 타임스탬프를 사용하여 행 또는 열이 만료되는 시기를 추적합니다. 타임스탬프는 행 메타데이터로 저장되며 행의 스토리지 비용에 영향을 줍니다.

 TTL 기능이 활성화된 후에는 테이블에 대해 이 기능을 비활성화할 수 없습니다. 테이블의 `default_time_to_live`를 0으로 설정하면 새 데이터에 대한 기본 만료 시간이 비활성화되지만 TTL 기능이 비활성화되거나 테이블을 원래 Amazon Keyspaces 스토리지 메타데이터 또는 쓰기 동작으로 되돌리지는 않습니다.

다음 예제에서는 기본 TTL 값을 사용하여 새 테이블을 생성하는 방법을 보여줍니다.

------
#### [ Console ]

**콘솔을 사용하여 Time to Live 기본값으로 새 테이블을 생성합니다.**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/keyspaces/home](https://console.aws.amazon.com/keyspaces/home) Amazon Keyspaces 콘솔을 엽니다.

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

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

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

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

1. **TTL(Time To Live)**을 계속합니다.

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

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

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

------
#### [ Cassandra Query Language (CQL) ]

**CQL을 사용하여 기본 TTL 값으로 새 테이블 생성**

1. 다음 문은 기본 TTL 값이 35일을 나타내는 3,024,000초로 설정된 새 테이블을 생성합니다.

   ```
   CREATE TABLE my_table (
                   userid uuid,
                   time timeuuid,
                   subject text,
                   body text,
                   user inet,
                   PRIMARY KEY (userid, time)
                   ) WITH default_time_to_live = 3024000;
   ```

1. 새 테이블의 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'
   ```

1. 테이블의 TTL 상태를 확인하려면 다음 명령을 사용할 수 있습니다.

   ```
   aws keyspaces get-table --keyspace-name 'myKeyspace' --table-name 'myTable'
   ```

   명령의 출력은 다음 예제와 같습니다.

   ```
   {
       "keyspaceName": "myKeyspace",
       "tableName": "myTable",
       "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/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": []
   }
   ```

------