최근 값만 유지
모든 Cloud Bigtable 클라이언트 라이브러리에서 필터를 사용하여 특정 행과 열의 최근 값이나 셀을 읽을 수 있습니다. 경우에 따라 이전 버전의 데이터는 전혀 읽지 않아도 됩니다. 필요 없는 이전 데이터의 저장 비용이 발생하지 않게 하려면 이 페이지에서 소개되는 전략을 사용하여 데이터를 삭제하면 됩니다.
이 페이지를 읽기 전에 가비지 컬렉션 개요를 참조하세요.
영(0) 타임스탬프
column family의 열에서 최근 값만 읽고 싶지만 가비지 컬렉션이 이전 셀을 삭제할 때까지 기다리지 않으려면 column family에 데이터를 쓸 때마다 타임스탬프를 0(1970-01-01 00:00:00 UTC
)으로 설정합니다. 이 시나리오에서는 새로 쓰면 이전 쓰기가 즉시 숨겨지므로 읽기는 각 열의 단일 값을 항상 반환합니다. 이전 데이터를 얼마나 최근에 썼는지에 따라 이전 셀이 테이블 공간을 차지하지 않고 스토리지 비용이 발생하지 않도록 하려면 여전히 압축이 필요할 수 있습니다.
영(0) 타임스탬프의 이점
- 열의 최근 단일 값만 읽을 수 있으므로 데이터를 읽을 때 필터를 사용하지 않아도 됩니다.
- 기존 셀을 덮어쓸 때마다 이미 이전 데이터가 삭제되므로 가비지 컬렉션 정책을 설정할 필요가 없습니다.
영(0) 타임스탬프의 단점
- 셀의 이전 값을 즉시 덮어쓰며 검색할 수 없습니다.
- 타임스탬프가 날짜 및 시간이 아니므로 셀의 타임스탬프를 다른 사용 사례(예: 값의 경과 시간 확인)에 사용할 수 없습니다. 이 문제를 해결하기 위해 별도의 열에 실제 타임스탬프를 기록할 수 있지만 이렇게 하면 저장되는 데이터 양이 증가합니다.
다음 단계
- 셀 수준 TTL을 시뮬레이션하는 전략 알아보기
- 타임스탬프가 순차 번호인 가비지 컬렉션 알아보기
- 가비지 컬렉션 구성 방법을 보여주는 코드 샘플 검토하기
- 스토리지 가격 자세히 알아보기