persist_for (Explore)

이 페이지에서는 탐색에 포함된 persist_for 매개변수를 참조합니다.

persist_forpersist_for (모델용) 매개변수 문서 페이지에 설명된 대로 모델의 일부로도 사용할 수 있습니다.

persist_forpersist_for (파생 테이블용) 매개변수 문서 페이지에 설명된 대로 파생 테이블의 일부로도 사용할 수 있습니다.

사용


explore: explore_name {
  persist_for: "1 hour"
}
계층 구조
persist_for
기본값
모델의 persist_for 설정

수락
정수 뒤에 시간대 (초, 분, 시간)가 오는 문자열

특별 규칙
explore 수준의 persist_for 설정은 모델 수준의 persist_for 설정을 재정의합니다.

정의

Looker 캐시 정책을 데이터베이스의 ETL (추출, 변환, 로드) 프로세스와 동기화하는 등 더 강력한 캐시 관리를 위해서는 쿼리 캐싱 문서 페이지에 설명된 대로 datagrouppersist_with를 사용하는 것이 좋습니다.

persist_for을 사용하면 특정 탐색 분석에 캐시된 쿼리 결과가 사용되는 시간을 수정할 수 있습니다. Looker의 기본 캐시 길이는 1시간입니다. 캐시 결과는 Looker 인스턴스에서 암호화된 파일에 저장됩니다.

Looker의 캐싱 메커니즘은 다음과 같이 작동합니다. 사용자가 특정 쿼리를 실행하면 이 쿼리의 결과가 캐시됩니다. 정확히 동일한 쿼리 (행 한도 등을 포함한 모든 것이 동일해야 함)가 persist_for에 지정된 간격보다 짧은 시간 내에 다시 실행되면 캐시된 결과가 반환됩니다. 그렇지 않으면 데이터베이스에 대해 새 쿼리가 실행됩니다.

persist_for 간격이 만료되면 캐시에서 데이터가 삭제됩니다. 캐시에 데이터가 저장되는 기간에 대한 자세한 내용은 쿼리 캐싱 문서 페이지를 참고하세요.

Explore와 해당 모델 모두에 persist_for가 설정된 경우 해당 Explore를 기반으로 하는 쿼리에는 Explore에 설정된 값이 우선 적용됩니다.

Explore에서 쿼리가 캐시에서 반환되었는지 확인할 수 있고 데이터베이스에서 새 결과를 강제로 생성할 수도 있습니다. 자세한 내용은 쿼리 캐싱 문서 페이지를 참고하세요.

예시

캐시 길이를 2시간으로 조정합니다.

explore: my_explore {
  persist_for: "2 hours"
}

캐시 길이를 30분으로 조정합니다.

explore: my_explore {
  persist_for: "30 minutes"
}

사용자가 쿼리에 대해 캐시된 결과를 가져오지 않도록 캐싱을 사용 중지합니다.

explore: my_explore {
  persist_for: "0 seconds"
}

고려사항

persist_for0 seconds로 설정되면 사용자의 쿼리가 캐시에서 데이터를 가져오지 않습니다. 하지만 Looker는 내부 프로세스를 위해 디스크 캐시가 필요하므로 persist_for0 seconds로 설정된 경우에도 암호화된 데이터가 항상 캐시에 기록됩니다. 캐시에 기록된 다음에는 데이터에 삭제 플래그가 지정되지만 디스크에 최대 10분 동안 유지될 수 있습니다. 자세한 내용은 쿼리 캐싱 문서 페이지를 참고하세요.

persist_for이 데이터 가져오기와 반드시 일치하지는 않습니다.

많은 회사에서 분석 데이터베이스로 매일 데이터를 가져옵니다. 데이터가 지속적으로 업데이트되지 않는다면 최신 쿼리를 실행해도 소용이 없다고 생각하여 캐시 길이를 24시간 (예: persist_for: 24 hours)으로 설정하는 경우가 있습니다. 하지만 이렇게 하면 사용자가 가장 최근 새로고침보다 오래된 데이터를 가져오는 것을 방지할 수 없습니다.

예를 들어 1월 1일 정오에 쿼리를 실행하고, 1월 2일 오전에 새 데이터를 가져온 다음, 1월 2일 정오에 쿼리를 다시 실행합니다. persist_for에 지정된 24시간 내에 쿼리가 실행되었으므로 1월 2일에 새 데이터가 로드되었더라도 1월 1일의 데이터가 반환됩니다.

캐싱을 데이터 가져오기와 일치시키려면 캐싱 쿼리에 관한 문서에 설명된 대로 datagrouppersist_with를 사용하세요.

예약된 Look은 결과를 캐시합니다.

예약된 Look이 실행되면 사용자가 실행한 쿼리와 동일한 방식으로 캐시된 결과 집합이 생성됩니다. 특정 Look을 미리 캐시하려면 저장하고 예약하는 것이 좋습니다.