시계열 설정과 조회 FAQ
단위와 보간은 어디에서 설정하나요?
일반 시계열 속성(TSP)은 Ontology Manager에서 객체 유형의 Capabilities에 있는 Time Series Properties 설정을 열어 formatter를 구성합니다. Properties 탭에서도 다른 속성과 마찬가지로 값 형식을 편집할 수 있습니다.
센서 객체 유형은 Sensor object type configuration에서 Units와 Internal interpolation에 해당하는 속성을 매핑합니다. 센서별 메타데이터를 사용하므로 일반 속성의 기본 formatter와 설정 위치를 구분합니다.
Measures는 언제 사용하나요?
Measures는 센서 객체 유형 이전의 시계열 모델이며 사용 중단이 진행 중입니다. 같은 업무에는 센서 객체 유형을 사용하고, 기존 구성은 Measures 이전 절차를 따릅니다. 일반 객체에 TSP를 직접 추가할지 센서 객체를 연결할지는 온톨로지 구성 선택을 참고합니다.
Code Repositories에서도 설정할 수 있나요?
가능합니다. 고급 설정에서 입력 형식, 분할과 정렬, 동기화 설정을 확인합니다. 이미 구성된 시계열을 조회하고 변환할 때는 FoundryTS를 사용할 수 있습니다.
시계열 데이터는 언제 색인되나요?
시계열 데이터셋에 동기화를 만들면 시계열 프로젝션도 자동으로 만들어집니다. 프로젝션은 특정 질의에 맞게 최적화한 데이터셋의 구체화된 복사본이며 SQL 데이터베이스의 색인과 비슷한 역할을 합니다.
동기화를 빌드하면 기반 데이터셋의 어떤 트랜잭션에 색인할 데이터가 있는지 메타데이터를 생성하여 시계열 데이터베이스에 알립니다. 조회할 때는 시계열 데이터베이스의 색인된 데이터를 읽습니다. 이 데이터베이스는 캐시처럼 동작하므로 실제 데이터를 캐시에 채우는 작업인 hydration은 읽기 시점에 일어납니다.
동기화 빌드와 조회 시점의 데이터 적재를 구분해야 합니다. 동기화가 최신 트랜잭션을 알 수 있어도 아직 조회하지 않은 시계열은 최초 요청에서 데이터를 적재할 수 있습니다.
시계열 프로젝션은 무엇을 최적화하나요?
캐시를 채울 때는 시계열 데이터셋에서 필요한 series ID와 시간 범위를 선택합니다. 시계열 프로젝션은 이 읽기에 맞게 데이터를 분할하고 정렬하여 series ID와 timestamp로 관측을 찾기 쉽게 만듭니다.
프로젝션은 기반 데이터셋의 구체화된 복사본이고, 시계열 데이터베이스는 조회 시 필요한 데이터를 적재하는 저장 계층입니다. 두 곳의 최신 상태를 각각 확인합니다.
“no time series data exists” 오류는 왜 발생하나요?
먼저 객체의 TSP가 담은 series ID와 데이터셋 및 동기화의 series ID를 대조합니다. 조회하려는 객체의 ID가 동기화에 있어야 합니다. 한 모델의 전체 참조를 관리한다면 양쪽 ID 집합을 일치시키는 것이 좋습니다. 일부 ID만 겹쳐도 다른 객체의 참조는 누락될 수 있습니다.
객체 유형의 문자열 속성을 올바른 TSP와 동기화에 연결했는지도 확인합니다. 여러 동기화를 참조하는 구성에서는 qualified series ID가 올바른 동기화와 series ID를 가리켜야 합니다.
대규모 시계열에서는 데이터 적재가 실패할 수도 있습니다. 다음 최적화 상태를 확인합니다.
- 프로젝션이 오래되면 아직 반영하지 않은 트랜잭션은 원본 데이터셋에서 읽어야 할 수 있습니다. 해당 데이터가 Soho 형식이 아니라면 프로젝션에 포함되기 전에는 적재되지 않습니다. 원본에서 읽는 경우에는 최적화되지 않은 파일과 많은 행을 스캔하여 서비스 제한에 걸릴 수 있습니다. 프로젝션 예약이 규칙적으로 실행되는지 확인하고 필요하면 데이터셋 미리보기에서 프로젝션을 다시 빌드합니다.
- 시계열 데이터셋의 분할 및 정렬이 잘못되어 있으면 필요한 관측을 찾기 위해 지나치게 많은 행을 읽을 수 있습니다. 서비스는 시간 초과와 성능 저하를 방지하기 위해 이런 읽기를 제한합니다. 최신 프로젝션을 만들거나 고급 설정에 맞게 파이프라인의 저장 형식을 정리합니다.
Pipeline Builder에서 변환 결과를 Time series sync 출력에 매핑하면 시계열 데이터셋의 필요한 형식을 구성합니다.
처음 열 때 오래 걸리는 이유는 무엇인가요?
가장 흔한 이유는 요청한 데이터가 시계열 데이터베이스에 아직 적재되지 않았기 때문입니다. series ID를 처음 조회하거나 이후 스냅샷 트랜잭션을 동기화하면 적재가 필요합니다. 스냅샷을 동기화한 뒤에는 새 데이터셋 뷰를 기준으로 해당 시계열의 색인을 채웁니다.
질의에 시간 필터를 적용하면 필요한 구간만 적재할 수 있습니다. Quiver에서는 Filter time series 카드, FoundryTS에서는 time_range를 사용합니다. 시계열 전체를 요청하는 대신 업무에 필요한 구간을 선택합니다.
최초 적재 후에는 일반적으로 조회가 빨라집니다. 파이프라인이 데이터를 증분으로 추가하면 새 데이터도 증분으로 적재할 수 있으므로 반복되는 전체 스냅샷보다 이후 색인 성능에 유리합니다.
증분 처리라도 트랜잭션 하나가 매우 크거나, 오랫동안 조회하지 않아 미적재 트랜잭션이 많이 쌓였다면 다시 여는 데 시간이 걸릴 수 있습니다.
프로젝션이 아직 반영하지 않은 트랜잭션은 분할 및 정렬 상태의 영향을 직접 받습니다. 적은 데이터에 파티션을 지나치게 많이 만들면 읽을 파일 수가 늘어 스냅샷과 증분 적재가 모두 느려질 수 있습니다. Pipeline Builder의 Time series sync 출력은 시계열 저장에 맞는 형식을 적용합니다.
최신 관측이 보이지 않는 이유는 무엇인가요?
동기화가 데이터셋의 최신 트랜잭션 이후에 빌드되었는지 확인합니다. 동기화가 알지 못하는 새 트랜잭션의 데이터는 캐시에 적재할 수 없습니다.
기반 데이터셋이 Soho 형식이 아니면 프로젝션에 아직 포함되지 않은 데이터는 시계열 데이터베이스에 적재되지 않습니다. Pipeline Builder에서 Time series sync 출력으로 만든 기반 데이터셋에는 Soho 형식이 적용됩니다. 다른 파이프라인에서는 다음 중 하나를 선택합니다.
- 시계열 데이터셋을 Soho 형식으로 바꿉니다. 기존 데이터 전체를 변환하려면 스냅샷이 필요합니다.
- 데이터셋을 갱신할 때마다 시계열 프로젝션을 빌드하도록 예약합니다. 프로젝션이 최신 데이터를 반영할 때까지 조회 가능한 데이터가 늦어질 수 있습니다.
조회 횟수와 시간 범위가 컴퓨트에 미치는 영향은 시계열 질의 사용량에 설명되어 있습니다.