데이터 스토리지 옵션
PTC에서는 다음과 같은 스토리지 옵션을 지원합니다.
모델 공급자
H2
데이터 공급자
H2
H2는 디스크 공간이 적은 오픈 소스 관계형 데이터베이스입니다. Java 응용 프로그램에 포함되거나 클라이언트-서버 모드에서 실행될 수 있는 Java로 작성되며 JDBC API를 제공합니다. H2는 ThingWorx에 대한 모델 및 데이터 공급자에 대한 요구사항을 모두 충족합니다. ThingWorx는 포함 모드에서 지속형(메모리 내와 반대) H2 데이터베이스를 엽니다. 이는 가장 빠르고 쉬운 연결 모드이지만 JDBC를 사용하는 ThingWorx 웹 응용 프로그램과 Tomcat 동일한 JVM 내에만 데이터베이스가 열립니다(외부 프로세스는 이 데이터베이스 인스턴스를 연결하거나 사용할 수 없음). 지속형 데이터베이스로, 데이터는 로컬 디스크(ThingworxStoragedatabase 폴더)에 기록되고 ThingWorx를 다시 시작한 후에도 유지됩니다.
http://www.h2database.com을 참조하십시오.
일반적인 사용 사례
시험, 개발자 시스템, 개념 입증, Edge 장치 근처
단일 서버 배포에만 해당
제한 사항
H2는 포함된 특성으로 인해 생산에 사용하기에는 권장되지 않습니다.
리소스(CPU, 메모리, 디스크 등)를 응용 프로그램과 공유하기 때문에 확장성 제한
응용 프로그램의 전반적인 안정성을 저해합니다. 예를 들어, Tomcat이 중단되거나 Tomcat 프로세스가 종료되면 데이터베이스 프로세스도 종료되어 데이터가 손상될 수 있습니다.
응용 프로그램 코드나 데이터베이스에서 병목 현상을 격리함으로써 성능 문제를 해결하는 것이 더 어렵습니다.
일반 작업 및 관리 관점에서 데이터 시각화, 백업 및 재해 복구는 유지 관리하기가 더 어려울 수 있습니다.
ThingWorx에 대한 지속성 공급자로 H2 사용에 대한 자세한 내용은 H2를 지속성 공급자로 사용 항목을 참조하십시오.
PostgreSQL
PostgreSQL는 확장성과 표준 준수에 중점을 둔 오픈 소스 객체 관계형 데이터베이스 관리 시스템(ORDBMS)입니다. 데이터베이스 서버로서 주요 기능은 데이터를 안전하게 저장하고 다른 소프트웨어 응용 프로그램에서 요청 시 데이터를 검색하는 것입니다. 소규모 단일 시스템 응용 프로그램에서 수많은 동시 사용자가 있는 대규모 인터넷 연결 응용 프로그램에 이르기까지 작업 부하를 처리할 수 있습니다. PostgreSQL은 데이터베이스 수준에서 고가용성 기능을 제공합니다. 동일하거나 다른 사용 가능 영역에서 하나의 마스터 노드와 여러 보조 노드를 갖도록 설정할 수 있습니다.
ThingWorx 및 PostgreSQL 배포에 대한 자세한 내용은 다음 문서를 참조하십시오.
PostgreSQL에 대한 자세한 내용은 https://www.postgresql.org/를 참조하십시오.
일반적인 사용 사례
데이터베이스는 최대 15,000번의 속성 초당 쓰기 수(wps)로 소규모, 중간 및 대규모 구현을 위해 확장할 수 있으며 고가용성 기능을 제공합니다.
Microsoft SQL Server(MSSQL)
Microsoft SQL Server(MSSQL)는 Microsoft에서 개발한 관계형 데이터베이스 관리 시스템입니다. 이는 데이터베이스 서버로서 다른 소프트웨어 응용 프로그램에서 요청한 대로 데이터를 저장하고 검색하는 기본 기능을 가진 소프트웨어 제품입니다. 이러한 소프트웨어 응용 프로그램은 동일한 컴퓨터 또는 네트워크(인터넷 포함)상의 다른 컴퓨터에서 실행될 수 있습니다. ThingWorx 및 Microsoft SQL Server 배포에 대한 자세한 내용은 Microsoft SQL Server를 지속성 공급자로 사용을 참조하십시오.
여러 SQL 서버 버전 중에서 사용자의 데이터 솔루션에 가장 적합한 버전을 선택할 수 있습니다. 이러한 버전들은 작게는 10GB에서 크게는 524,000,000GB에 이르는 최대 관계형 데이터베이스 크기를 갖습니다. 고가용성을 달성하려면 Enterprise 에디션을 사용하는 것이 좋습니다.
해당 지속성 공급자를 통한 MSSQL은 모델 및 데이터 공급자를 모두 지원합니다.
Microsoft SQL Server에 대한 자세한 내용은 https://www.microsoft.com/en-us/sql-server/sql-server-2016을 참조하십시오.
일반적인 사용 사례
SQL Server는 소규모에서부터 대규모에 이르는 IoT 구현에 사용할 수 있습니다. 그러나 Microsoft SQL/Azure가 이미 IT 스택에 있으며 직원들이 가용성 기능을 사용하는 SQL Server 2017 시나리오에 따라 MSSQL Server 고가용성 솔루션을 구현하는 데 익숙한 경우 가장 유용합니다.
Azure SQL 데이터베이스
Azure SQL 데이터베이스는 Azure 클라우드에 호스팅되는 관계형 DBaaS(Database-as-a-Service)이며 완전히 관리되는 PaaS(Platform as a Service) 데이터베이스 엔진입니다. Azure SQL 데이터베이스 엔진은 SQL Server Enterprise Edition을 기반으로 합니다. Azure 플랫폼은 모든 Azure SQL 데이터베이스를 완전히 관리하고 데이터 손실 없음 및 높은 비율의 데이터 가용성을 보장합니다. Azure SQL 데이터베이스에는 고가용성, 재해 복구 및 데이터베이스 업그레이드가 함께 기본 제공됩니다.
Azure SQL 데이터베이스 및 해당 기능에 대한 자세한 내용은 https://docs.microsoft.com/en-us/azure/sql-database/sql-database-paas를 참조하십시오. Azure SQL 데이터베이스를 ThingWorx 지속성 공급자로 사용에 대한 자세한 내용은 Azure SQL 데이터베이스를 지속성 공급자로 사용 항목을 참조하십시오.
InfluxDB
InfluxDB를 사용하려면 ThingWorx 8.4 이상이 있어야 합니다. 시스템에서 주로 시계열 데이터를 처리하고 구현이 데이터의 지속성/검색을 위해 가치 스트림 또는 스트림에 많이 의존할 경우 ThingWorx에서 InfluxDB를 지속성 공급자로 사용하는 것이 좋습니다. InfluxDB는 시계열 데이터에 맞게 작성된 고성능 데이터 저장소입니다. InfluxDB는 동일한 데이터에 대해 높은 처리량 수집, 압축 및 실시간 질의를 허용합니다. InfluxDB는 DevOps 모니터링, 로그 데이터, 응용 프로그램 메트릭, IoT 센서 데이터 및 실시간 분석을 포함하여 대량의 타임스탬프 데이터가 포함되는 모든 사용 사례에 데이터 저장소로 사용됩니다. 또한 데이터 RP(보존 정책)를 포함한 다른 기능을 제공합니다. InfluxDB Enterprise는 시계열 데이터 요구사항에 맞는 고가용성 및 높은 확장성의 클러스터링 솔루션을 제공합니다.
PostgreSQL 또는 MSSQL에 대한 기본 설치의 일부로 지속성 공급자와 함께 사용할 수 있도록 ThingWorx에 InfluxPersistenceProviderPackage가 제공됩니다.
InfluxDB 데이터 공급자는 현재 가치 스트림 및 스트림만 지원합니다. 데이터 테이블, Wiki 및 블로그는 지원되지 않습니다.
InfluxDB 데이터 공급자는 현재 내보내기 기능을 지원하지 않습니다.
InfluxDB는 현재 속성 공급자로 지원되지 않습니다.
InfluxDB 지속성 공급자 패키지를 사용하여 생성된 지속성 공급자 인스턴스를 기본 지속성 공급자로 사용할 경우 스트림 및 가치 스트림 질의 구성 설정을 편집할 수 있으며 편집된 구성 설정은 모든 스트림 및 가치 스트림에 적용됩니다. 특정 스트림 또는 가치 스트림에 대해 이러한 설정을 변경할 수 없습니다.
InfluxDB를 지속성 공급자로 사용에 대한 자세한 내용은 InfluxDB를 지속성 공급자로 사용을 참조하십시오.
도움이 되셨나요?