런타임 데이터 지우기
개요
생산 시스템에 생성되고 저장되는 데이터의 양을 간과하기가 쉽습니다. PTC는 저장할 데이터의 양에 대한 공식적인 권장 사항을 제공하지 않지만, 사용 사례에 따라 크게 다르기 때문에 성능상의 이유로 오래된 데이터를 제거하도록 생산 시스템에 대한 계획을 수립하는 것이 좋습니다. 데이터 제거를 계획할 때 다음 사항을 고려해야 합니다.
얼마나 많은 속성이 기록됩니까?
얼마나 많은 사물이 로그된 속성을 갖습니까?
이러한 속성이 얼마나 자주 로그됩니까?
데이터를 기록으로 보관해야 합니까? 런타임 데이터 단원을 참조하십시오.
일반적으로, 2백 개의 Edge 장치에서 몇 가지의 속성에 대해 데이터가 2분마다 로그되는 경우, 몇 개월에서 1년 동안 데이터가 유지될 수 있습니다. 수천 개의 다른 사물에서 100개의 속성에 대해 1분에 여러 번 데이터가 로그되는 경우, 몇 주 동안의 오래된 데이터라도 지워야 할 필요가 있을 수 있습니다. 지속적으로 작은 청크 단위로 데이터를 질의하고 지우는 것이 좋습니다. 지우기 예약을 더 자주(매주 대신 매일) 작성하면 성능에 도움이 됩니다.
데이터 스토리지가 1년 이상 필요한 경우, 보관을 위해 외부 데이터베이스를 사용하는 것이 좋습니다.
데이터 지우기
데이터를 지우는 JavaScript는 시나리오에 따라 달라지지만 다음과 같은 일반적인 단계는 동일합니다.
1. 새 사물을 생성하고 기본 사물 템플릿스케줄러로 설정합니다.
2. 구성 섹션을 열고 runAsUserschedule 속성을 설정합니다.
schedule 속성에 대한 적합한 형식에 대한 자세한 내용은 https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm를 참조하십시오.
지우기에 따라, 작업 중에 JVM 사용량이 증가하게 됩니다. 따라서, 사용량이 적은 시간에 큰 용량의 작업을 작은 작업으로 나누는 것이 좋습니다.
3. 구독을 선택하고 추가 버튼을 클릭합니다.
4. 구독 정보 섹션에서 본인을 선택하고 활성화됨을 선택합니다.
5. 입력을 클릭합니다.
6. 이벤트 필드에서 ScheduledEvent를 선택합니다.
7. 지우기 작업에 대한 JavaScript 특성을 추가합니다.
* 
가치 스트림과 스트림 서비스의 경우 시작 날짜가 제공되지 않으면 epoch를 시작으로 모든 값이 지워집니다. 종료 날짜가 제공되지 않으면 서비스가 실행될 때까지 모든 속성이 제거됩니다.
스케줄러 모범 사례
사물 템플릿 수준에서 타이머 또는 스케줄러 이벤트를 구독하지 마십시오. 대신, 사물에 구독합니다.
자주 발생하는 타이머에서는 방대한 양의 데이터를 질의하지 마십시오. 추가 정보는 PTC Community에서 이 문서를 참조하십시오.
가능하면 구독에서 동일한 데이터 소스를 질의하지 않고 업데이트합니다. 대신, 각 구독에서 데이터 테이블의 스트림을 한 번 질의하고 필요한 경우 스케줄러 작업이 종료될 때 한 번 더 질의합니다(일괄 업데이트 문 사용).
값 스트림, 스트림, 파일 저장소 지우기