이 페이지에서는 Spanner에서 제공하는 스토리지 사용률 측정항목을 설명합니다.
스토리지 측정항목
Spanner는 다음과 같은 스토리지 측정항목을 제공합니다.
- 총 데이터베이스 스토리지: 데이터베이스 또는 인스턴스의 데이터베이스에 저장된 데이터의 양입니다. 스토리지 한도가 적용됩니다.
- 총 백업 스토리지: 인스턴스 또는 데이터베이스와 연결된 백업에 의해 저장된 데이터의 양입니다. 백업 스토리지는 별도로 저장 및 청구되며 저장할 수 있는 용량에 제한이 없습니다.
Google Cloud 콘솔 또는 Cloud Monitoring 콘솔에서 이러한 측정항목의 차트를 볼 수 있습니다.
또한 데이터베이스 스토리지 사용률은 Cloud 콘솔의 인스턴스 및 인스턴스 세부정보 페이지에 표시됩니다.
데이터 보관 및 스토리지 크기에 대한 참고사항
위의 스토리지 측정항목을 사용하여 데이터 크기를 자주 확인하는 경우 예상과 반대되는 결과가 발생할 수 있습니다. 예를 들어 최근에 데이터를 삭제하지 않았더라도 보고된 데이터베이스의 총 스토리지가 현저하게 줄어들 수 있습니다. 반대로 크기를 대폭 삭제한 직후에는 크기가 비교적 변경되지 않은 상태로 유지되는 것을 볼 수 있습니다.
이러한 영향은 Spanner의 멀티 버전 스토리지 지원에서 비롯됩니다. 멀티 버전 스토리지에서는 삭제되거나 덮어쓴 모든 데이터를 스토리지 내에 보관하며 이를 한시적으로 사용할 수 있어 비활성 읽기 및PITR(point-in-time recovery) 등의 이전 데이터 값을 읽을 수 있는 기능을 지원합니다. 대규모 데이터 삭제를 수행해도 데이터베이스의 스토리지 측정항목에 이 삭제가 즉시 반영되지 않습니다. 마찬가지로 데이터베이스의 전체 크기가 자발적으로 감소한 경우 이는 Spanner의 정기적인 데이터 압축 프로세스에서 며칠 전에 삭제되었거나 덮어쓴 대규모 데이터 세트를 최근에 삭제했음을 의미합니다.
Spanner는 version_retention_period
옵션에서 정의된 간격(기본적으로 1시간) 동안 삭제되거나 덮어쓴 데이터의 지속적인 가용성을 보장합니다. 이 버전 유지 간격보다 오래된 사용되지 않는 모든 데이터를 영구적으로 제거하는 백그라운드 프로세스가 며칠에 한 번씩 자동으로 실행됩니다.
스토리지 알림 만들기
Cloud Monitoring 콘솔에서 스토리지 알림을 만들 수 있습니다. 또한 Google Cloud 콘솔에서 직접 데이터베이스 스토리지 알림을 만드는 간단한 방법도 제공합니다. 차트의 알림 정책 만들기 링크(스크린샷 참조)를 이용하면 Cloud Monitoring 콘솔의 알림 만들기 페이지로 이동하며 관련 필드가 자동으로 채워집니다.
데이터베이스 스토리지 사용률 권장사항
총 데이터베이스 스토리지를 스토리지 한도 미만으로 유지하는 것이 좋습니다. 그러면 Spanner가 정상적으로 작동하고 데이터를 정기적으로 유지보수하기에 충분한 여유 공간을 확보할 수 있습니다.
한도에 가까워지면 Spanner에서 다음과 같이 한도를 초과하는 작업을 수행하지 못하게 막을 수 있습니다.
- 백업에서 데이터베이스 복원
- 데이터베이스의 스키마 수정(예: 색인 추가)
- 인스턴스의 컴퓨팅 용량 감소
스토리지 한도를 초과하는 경우 Spanner는 정상 작동을 시도하지만 리소스 부족으로 인해 성능이 저하되거나 오류가 발생할 수 있습니다. 권장 최댓값에 도달하거나 이를 초과하면 영향을 받은 인스턴스를 표시할 때 Google Cloud 콘솔에 '인스턴스가 최대 스토리지 용량에 도달하여 활동이 저하될 수 있습니다'라는 경고가 표시됩니다.
Cloud Monitoring에서 알림을 만들어 알림을 받을 수 있습니다.
데이터베이스 스토리지 사용률 감소
인스턴스의 데이터베이스 스토리지 사용률을 줄이려면 다음을 수행합니다.
- 컴퓨팅 용량을 더 추가합니다.
- 데이터베이스를 삭제합니다.
- 데이터베이스에서 데이터를 삭제합니다. 데이터 삭제는 가시적으로는 즉시 적용되지만 Spanner가 데이터를 압축할 때까지는 스토리지 사용률 측정항목에 영향을 미치지 않습니다(일반적으로 12시간 이내로 소요되지만 경우에 따라 더 오래 걸릴 수 있음). 따라서 데이터가 삭제된 시점부터 변경사항이 측정항목에 표시될 때까지 지연이 발생할 수 있습니다.
일반적으로 인스턴스에 컴퓨팅 용량을 추가하는 것으로 조사를 시작하면 좋습니다. 컴퓨팅 용량을 추가하면 높은 스토리지 사용률의 근본 원인을 조사하고 해결할 수 있습니다.
이 프로세스를 자동화하려면 데이터베이스 스토리지 사용률을 모니터링하는 애플리케이션을 만든 다음, 필요에 따라 UpdateInstance
메서드를 사용하여 컴퓨팅 용량을 추가하고 삭제하면 됩니다.
다음 단계
- Google Cloud 콘솔 또는 Cloud Monitoring 콘솔을 사용해 인스턴스 모니터링하기
- Spanner 알림 만들기
- Spanner 인스턴스의 컴퓨팅 용량 변경 방법 알아보기