Composer의 ThingWorx 모델 정의 > 데이터 스토리지 > 지속성 공급자 > PostgreSQL을 지속성 공급자로 사용
PostgreSQL을 지속성 공급자로 사용
PostgreSQL은 오픈 소스 객체 관계형 데이터베이스 시스템입니다. PostgreSQL 지속성 공급자는 모델 및 데이터 공급자를 모두 지원합니다.
* 
PostgreSQL을 시작하려면 등록, 설치 및 구성이 필요합니다. 이 프로세스의 대부분은 ThingWorx와 독립적으로 수행되며 ThingWorx 설치에 설명되어 있습니다.
PostgreSQL HA
PostgreSQL HA(고가용성)를 데이터 솔루션의 일부로 사용할 수도 있습니다. HA는 기본 데이터베이스 서버에서 실패할 경우 데이터에 대한 읽기 및 쓰기를 캡처하는 별도의 서버를 설정하는 옵션을 제공합니다. HA가 PostgreSQL 구현의 일부인 경우 권장되는 설치 및 배포에 대한 자세한 내용은 가이드에서 해당하는 섹션을 참조하십시오.
PostgreSQL 구현을 위한 높은 수준의 프로세스
1. PostgreSQL이 데이터에 대한 올바른 솔루션인지 확인합니다. 자세한 내용은 크기 조정 및 계획 섹션을 참조하십시오.
2. PostgreSQL을 다운로드하고 설치합니다. 이 프로세스는 ThingWorx와 독립적으로 수행됩니다. 가이드에 배포 예가 나와 있습니다.
* 
표준 PostgreSQL 구현에는 ThingWorx 내에서 편집할 수 없는 지속성 공급자가 포함되어 있습니다. 하지만 platform-settings.json 또는 서비스를 통해서는 편집할 수 있습니다.
3. ThingWorx에서 PostgreSQL 데이터 저장소와 연결하는 추가 지속성 공급자 인스턴스를 생성하려면 데이터 스토리지 > 지속성 공급자로 이동하여 녹색 더하기 기호(+)를 클릭합니다.
4. 일반 정보 화면에 지속성 공급자의 이름을 입력합니다.
5. 지속성 공급자 패키지 필드에서 Magic Picker를 사용하여 PostgreSQL 지속성 공급자 패키지를 선택합니다.
6. 구성을 클릭하고 다음 설정을 구성합니다.
다음 스트림 및 가치 스트림 대기열 설정을 편집할 수 있습니다. 이는 모든 스트림 및 가치 스트림에 적용됩니다. 특정 스트림 또는 가치 스트림에 대해 이러한 설정을 변경할 수 없습니다.
스트림 프로세서 설정
기본 유형
기본값
설명
최대 대기열 크기
숫자
250000
대기할 스트림 엔트리의 최대 수입니다.지정된 값에 도달하면 다음 엔트리가 거부됩니다.
스트림 버퍼를 플러시하기 전 최대 대기 시간(밀리초)
숫자
2000
스트림 버퍼를 플러시하기 전에 시스템이 대기하는 시간(밀리초)입니다.
처리 스레드 수
숫자
5
스트림에 할당된 처리 스레드 수
스트림 버퍼를 플러시하기 전 최대 항목 수
숫자
500
스트림 버퍼를 플러시하기 전 누적되는 최대 항목 수입니다.
Process 블록의 스트림 쓰기 최대 수
숫자
2500
블록 하나에서 프로세스에 쓰는 스트림의 최대 수입니다.
버퍼 상태 검색 속도(밀리초)
숫자
5
지정된 속도 값(밀리초)에서 버퍼 상태를 확인합니다.
가치 스트림 프로세서 설정
기본 유형
기본값
설명
최대 대기열 크기
숫자
250000
대기할 가치 스트림 엔트리의 최대 수입니다.지정된 값에 도달하면 다음 엔트리가 거부됩니다.
가치 스트림 버퍼를 플러시하기 전 최대 대기 시간(밀리초)
숫자
2000
가치 스트림 버퍼를 플러시하기 전에 시스템이 대기하는 시간(밀리초)입니다.
처리 스레드 수
숫자
5
가치 스트림에 할당된 처리 스레드 수
값 버퍼를 플러시하기 전 최대 항목 수
숫자
500
가치 스트림 버퍼를 플러시하기 전 누적되는 최대 항목 수
Process 블록의 가치 스트림 쓰기 최대 수
숫자
2500
블록 하나에서 프로세스에 쓰는 가치 스트림의 최대 수입니다.
버퍼 상태 검색 속도(밀리초)
숫자
5
지정된 속도 값(밀리초)에서 버퍼 상태를 확인합니다.
PostgreSQL에 연결하는 데 필요한 연결 정보
이름
기본값
설명
JDBC URL
jdbc:postgresql://localhost:5432/thingworx
연결을 취득해야 할 데이터베이스의 JDBC URL입니다. 이 URL에서 여러 스키마를 지정할 수 있습니다.
사용자 이름
thingworx
데이터베이스 연결을 취득하는 데 사용된 사용자 이름
암호
해당 없음
데이터베이스 연결을 취득하는 데 사용된 암호
초기 연결 풀 크기
5
시작 시 풀이 취득하려고 시도하는 연결 수입니다.
연결 취득 증분
5
풀이 소진될 때 취득할 연결의 수를 결정합니다.
최대 연결 풀 크기
100
지정된 기간에 풀이 유지할 연결의 최대 수입니다.
최소 연결 풀 크기
5
지정된 기간에 풀이 유지할 연결의 최소 수입니다.
최대 캐시된 문 수
100
전역 PreparedStatement 캐시의 크기입니다.
드라이버 클래스
org.postgresql.Driver
데이터베이스 JDBC 드라이버 클래스
취득 다시 시도 횟수
3
연결 풀이 새 연결을 취득하기 위해 시도하는 횟수를 정의합니다.
취득 다시 시도 간격
10000
취득 시도 간에 연결 풀이 대기하는 시간(밀리초)입니다.
체크 아웃 재시도 제한 시간
1000000
풀이 소진될 때 getConnection을 호출하는 클라이언트가 연결이 체크 인 또는 취득할 때까지 대기하는 시간(밀리초)입니다.
최대 유휴 시간
0
취소되기 전에 연결이 풀링을 유지하지만 사용되지 않는 시간(초)입니다. 0은 유휴 연결이 만료되지 않음을 의미합니다.
최대 연결 기간
0
이 시간(초)보다 이전인 연결은 폐기되고 풀에서 제거됩니다. 0은 최대 기간이 적용되지 않음을 의미합니다.
도우미 스레스 수
8
느린 JDBC 작업은 일반적으로 경합 잠금을 보유하지 않은 도우미 스레드에 의해 수행됩니다. 이러한 작업을 여러 스레드로 분배하면 여러 작업을 동시에 수행할 수 있어 성능이 매우 향상될 수 있습니다.
반환되지 않은 연결 제한 시간
0
응용 프로그램이 연결을 취득하지만 지정된 시간(초) 내에 종료하지 못한 경우 풀에서 연결이 폐기됩니다. 0은 제한 시간이 없음을 의미입니다. 응용 프로그램에서는 자체의 연결을 종료합니다.
초과 연결에 대한 최대 유휴 시간
300
minPoolSize를 넘는 연결이 폐기되기 전에 풀에서 유휴 상태를 유지해야 하는 시간(초)입니다. 0은 적용되는 사항이 없음을 의미합니다. 초과 연결은 폐기되지 않습니다.
7. 필요한 경우 엔티티 및 데이터를 마이그레이션합니다.
8. PostgreSQL 구현을 모니터링하고 유지 관리합니다. 성공적인 유지 관리 계획 생성에 대한 모범 사례는 가이드에 설명되어 있습니다.