애플리케이션 출시 전 데이터베이스 워밍업

애플리케이션을 시작하기 전에 Spanner의 동시 로드 기능을 활용하려면 테스트 데이터 로드를 사용하여 데이터베이스를 워밍업하는 것이 좋습니다.

Spanner는 분산 데이터베이스로, 데이터베이스가 증가함에 따라 데이터의 키 공간을 분할이라고 하는 청크로 나눕니다. 각 분할은 테이블의 하위 집합이 포함된 행 범위입니다. Spanner에서 부하와 크기에 따라 데이터를 분할하면 개별 분할을 서로 독립적으로 동적 이동하고 여러 서버 리소스에 분할을 할당하여 데이터베이스에서 부하를 분산합니다.

처음에 빈 데이터베이스에 데이터를 삽입하면 Spanner에서 데이터를 단일 분할에 작성합니다. 데이터베이스가 아직 '콜드' 상태입니다. 더 많은 데이터를 삽입하면 Spanner가 데이터를 분할하여 사용 가능한 다른 서버 리소스에 부하를 다시 분산합니다. 이제 Spanner는 동시 로드가 극대화되고 성능이 향상되도록 사용 가능한 서버 리소스 간에 분할을 통해 '웜' 상태가 됩니다.

권장사항으로, Spanner가 분할이 이미 생성되고 서버 리소스 간에 부하를 분산하는 웜 상태일 때 애플리케이션을 시작하는 것이 좋습니다. 데이터베이스를 워밍업하고 테스트 데이터 로드를 준비하려면 다음 단계를 수행합니다.

  1. 테스트 데이터 로드에 생성하는 기본 키가 프로덕션 트래픽에 사용하는 키와 동일한 키 공간에 있고 동일한 배포 속성을 가지고 있는지 확인합니다.
  2. 시작 2일 이내에 부하 테스트를 실행합니다. 예상되는 최대 부하로 최소 1시간 동안 부하 테스트를 실행합니다. 부하 테스트를 수행할 경우 부하 기반 분할로 인해 Spanner가 더 많은 분할을 만듭니다.
  3. 부하 테스트가 완료되면 부하 테스트 동안 생성된 행을 테이블에서 삭제할 수 있지만 테이블은 삭제할 수 없습니다. 이렇게 하면 출시 기간 동안 분할을 계속 사용할 수 있습니다.