TTL(Time To Live) 사용 방법 - Amazon Keyspaces(Apache Cassandra용)

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

TTL(Time To Live) 사용 방법

Amazon Keyspaces(Apache Cassandra용) 콘솔 또는 CQL을 사용하여 TTL(Time To Live) 설정을 활성화, 업데이트 및 비활성화할 수 있습니다.

기본 TTL(Time To Live) 설정을 활성화하여 새 테이블을 만들려면(콘솔)

다음 단계에 따라 Amazon Keyspaces 콘솔을 사용하여 TTL(Time To Live) 설정을 활성화하여 새 테이블을 생성합니다.

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

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

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

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

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

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

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

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

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

참고

CQL 편집기에서 데이터 조작 언어(DML)를 사용하여 특정 행 또는 열에 대한 테이블의 기본 TTL 설정을 덮어쓸 수 있습니다.

기존 테이블에 대한 기본 TTL(Time To Live) 설정을 업데이트하려면(콘솔)

다음 단계에 따라 Amazon Keyspaces 콘솔을 사용하여 기존 테이블에 대한 TTL(Time To Live) 설정을 업데이트합니다.

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

  2. 업데이트할 테이블을 선택한 다음 추가 설정 탭을 선택합니다.

  3. TTL(Time To Live)을 계속하고 편집을 선택합니다.

  4. 기본 TTL 기간의 경우 만료 시간을 입력하고 입력한 시간 단위(예: 초, 일 또는 년)를 선택합니다. Amazon Keyspaces는 초 단위로 값을 저장합니다. 이렇게 해도 기존 행의 TTL 값은 변경되지 않습니다.

  5. TTL 설정이 정의되면 변경 내용 저장을 선택합니다.

기존 테이블에 대한 기본 TTL(Time To Live) 설정을 비활성화하려면(콘솔)

다음 단계에 따라 Amazon Keyspaces AWS Management Console을 사용하여 기존 테이블에 대한 TTL(Time To Live) 설정을 비활성화합니다.

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

  2. 업데이트할 테이블을 선택한 다음 추가 설정 탭을 선택합니다.

  3. TTL(Time To Live)을 계속하고 편집을 선택합니다.

  4. 기본 TTL 기간을 선택하고 값을 0으로 설정합니다. 이렇게 하면 향후 데이터에 대한 테이블의 TTL이 기본적으로 비활성화됩니다. 이렇게 해도 기존 행의 TTL 값은 변경되지 않습니다.

  5. TTL 설정이 정의되면 변경 내용 저장을 선택합니다.

CQL을 사용하여 기본 TTL(Time To Live) 설정을 활성화하여 새 테이블을 만들려면(콘솔)

기본 TTL 값이 35일을 나타내는 3,024,000초로 설정된 새 테이블을 생성할 때 TTL을 활성화합니다.

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로 표시됩니다.

describe my_table;

ALTER TABLE을 사용하여 CQL을 사용하여 기본 TTL(Time To Live) 설정을 편집하려면

기존 테이블의 TTL 설정을 2,592,000초(30일을 나타내는 초)로 업데이트합니다.

ALTER TABLE my_table WITH default_time_to_live = 2592000;

업데이트된 테이블의 TTL 설정을 확인하려면 다음 예와 같이 cqlsh describe 문을 사용합니다. 출력에는 테이블의 기본 TTL 설정이 default_time_to_live로 표시됩니다.

describe my_table;

사용자 지정 속성을 사용하여 새 테이블에 대한 TTL(Time To Live)을 활성화하는 방법

전체 테이블에 대해 TTL 기본 설정을 활성화하지 않고 행과 열에 적용할 수 있는 TTL(Time To Live) 사용자 정의 설정을 활성화하려면 다음 CQL 문을 사용할 수 있습니다.

CREATE TABLE my_keyspace.my_table (id int primary key) WITH CUSTOM_PROPERTIES={'ttl':{'status': 'enabled'}};

ttl이 활성화된 후에는 테이블에 대해 이 설정을 비활성화할 수 없습니다.

사용자 지정 속성을 사용하여 기존 테이블에 대한 TTL(Time To Live)을 활성화하는 방법

전체 테이블에 대해 TTL 기본 설정을 활성화하지 않고 행과 열에 적용할 수 있는 TTL(Time To Live) 사용자 정의 설정을 활성화하려면 다음 CQL 문을 사용할 수 있습니다.

ALTER TABLE my_table WITH CUSTOM_PROPERTIES={'ttl':{'status': 'enabled'}};

ttl이 활성화된 후에는 테이블에 대해 이 설정을 비활성화할 수 없습니다.

INSERT를 사용하여 CQL을 사용하여 사용자 지정 TTL(Time To Live) 설정을 편집하려면

다음 CQL 문은 테이블에 데이터 행을 삽입하고 기본 TTL 설정을 259,200초(3일에 해당)로 변경합니다.

INSERT INTO my_table (userid, time, subject, body, user) VALUES (B79CB3BA-745E-5D9A-8903-4A02327A7E09, 96a29100-5e25-11ec-90d7-b5d91eceda0a, 'Message', 'Hello','205.212.123.123') USING TTL 259200;

삽입된 행의 TTL 설정을 확인하려면 다음 문을 사용합니다.

SELECT TTL (subject) from my_table;

UPDATE를 사용하여 CQL을 사용하여 사용자 지정 TTL(Time To Live) 설정을 편집하려면

이전에 삽입한 '제목' 열의 TTL 설정을 259,200초(3일)에서 86,400초(1일)로 변경하려면 다음 문을 사용합니다.

UPDATE my_table USING TTL 86400 set subject = 'Updated Message' WHERE userid = B79CB3BA-745E-5D9A-8903-4A02327A7E09 and time = 96a29100-5e25-11ec-90d7-b5d91eceda0a;

간단한 선택 쿼리를 실행하여 만료 시간 전에 업데이트된 레코드를 볼 수 있습니다.

SELECT * from my_table;

쿼리는 다음 출력을 보여 줍니다.

userid | time | body | subject | user --------------------------------------+--------------------------------------+-------+-----------------+----------------- b79cb3ba-745e-5d9a-8903-4a02327a7e09 | 96a29100-5e25-11ec-90d7-b5d91eceda0a | Hello | Updated Message | 205.212.123.123 50554d6e-29bb-11e5-b345-feff819cdc9f | cf03fb21-59b5-11ec-b371-dff626ab9620 | Hello | Message | 205.212.123.123

만료가 성공적으로 완료되었는지 확인하려면 구성된 만료 시간 이후에 동일한 쿼리를 다시 실행합니다.

SELECT * from my_table;

쿼리는 '제목' 열이 만료된 후 다음과 같은 출력을 표시합니다.

userid | time | body | subject | user --------------------------------------+--------------------------------------+-------+---------+----------------- b79cb3ba-745e-5d9a-8903-4a02327a7e09 | 96a29100-5e25-11ec-90d7-b5d91eceda0a | Hello | null | 205.212.123.123 50554d6e-29bb-11e5-b345-feff819cdc9f | cf03fb21-59b5-11ec-b371-dff626ab9620 | Hello | Message | 205.212.123.123