WebSphere® Business Monitor는 데이터 서비스 컴포넌트에서 여러 데이터베이스를 사용하기 때문에, 데이터베이스 복제 시에 이들 데이터베이스 사이에서 시스템에 의해 시간소인이 변환되는 방법을 알아야 합니다.
가능한 WebSphere Business Monitor 토폴로지 구성은 여러 가지입니다. 시간소인에 대해 원하는 결과를 얻으려면 이들 토폴로지를 설정하는 방법을 알아야 합니다. 관련된 서버는 런타임 데이터베이스를 포함하는 서버, 히스토리 데이터베이스를 포함하는 서버, 그리고 DB2® Alphablox의 위치인 WebSphere Portal이 설치된 서버입니다. 결과에 그리니치 평균시간(GMT)의 모든 시간이 보고되는 경우, 런타임 데이터베이스, 히스토리 데이터베이스 및 WebSphere Portal 시스템 모두의 시스템 시계가 GMT로 설정되어 있어야 합니다. 그러면 모든 시간소인 및 차원 보고서가 GMT 내에 있게 됩니다.
동부 표준시간(EST)으로 모든 시간을 보고하려면 모든 서버가 EST로 설정되어야 합니다. 클라이언트의 시간대를 다르게 하고자 하는 경우 권장되는 설정은 모든 서버를 GMT로 설정하는 것입니다. WebSphere Portal을 통한 클라이언트 설정이 GMT가 아닌 경우 시간소인을 사용하는 보고서(WebSphere Portal의 설정과 관련됨)와 차원 분석을 수행하는 보고서 간에 불일치가 발생하게 됩니다. 이는 GMT를 기준으로 합니다. 기술적인 세부사항은 뒤에서 설명합니다.
상태 데이터베이스의 시간소인 열은 long Java™ 데이터 유형(GMT 기준의 직렬화된 Java 시간소인)으로 저장됩니다. 이 시간소인이 세 개의 데이터베이스를 이동하면서 상태와 런타임 데이터베이스 사이의 ETL 단계를 통해 Java long 데이터에서 DB2 시간소인으로 변환됩니다. 이러한 변화는 logn 데이터를 시간소인으로 변환하는 Java 기반 UDF를 사용하여 수행되며 시간소인 데이터 유형을 DB2로 리턴합니다. 여기서 런타임 데이터베이스가 호스트되는 서버의 시계 설정을 기반으로 시간소인이 변환됩니다. 이 시스템 시계가 GMT로 설정된 경우 시간소인은 GMT로 변환되며, 그렇지 않은 경우에는 시스템 시계의 일광 절약 시간 오프셋 및 시간대 오프셋을 기반으로 변환됩니다. 시간소인은 GMT가 아니라 해당 시간대를 기반으로 DB2에 저장됩니다. DB2는 시간대 오프셋을 검색하여 이를 시간소인에 적용하기 위한 특수 레지스터를 제공합니다.
히스토리 데이터베이스로 이동하는 시간소인은 변환되지 않으므로 히스토리 데이터베이스는 런타임 시스템과 동일한 시간대에 시간소인을 저장합니다. 이는 런타임 및 히스토리 데이터베이스 서버가 동일한 시간대 설정을 사용해야 한다는 것을 의미합니다. ETL 중 시간소인은 DIM_TIME 테이블과 비교됩니다. DIM_TIME 테이블 자체에는 시간대가 없지만 데이터베이스 서버와 함께 사용될 경우 서버의 시간대 설정을 사용합니다. 따라서 DIM_TIME 테이블의 모든 맵핑은 검색되는 시간소인 및 DIM_TIME이 GMT가 아닌 히스토리 데이터베이스 서버의 시간대를 기준으로 한다고 가정하고 수행됩니다.
WebSphere Portal을 호스트하는 서버도 런타임 및 히스토리 데이터베이스 서버와 동일한 시간대에 있어야 합니다. 현재는 대시보드에서 직접(시간 차원을 사용하지 않고) 시간소인 열을 조회하면 현재 아키텍처에서는 런타임 및 히스토리 데이터베이스의 시간대가 대시보드 서버와 동일하다고 간주합니다. 시간소인은 Java 시간소인으로 다시 변환되며 WebSphere Portal은 데이터베이스 서버 시간소인이 자신의 시간대와 동일하다고 간주하여 이들 설정을 기반으로 시간소인을 다시 GMT로 변환합니다. 클라이언트 시스템의 시간대 설정은 다를 수 있습니다. WebSphere Portal이 시간소인을 GMT로 정확하게 변환하기만 하면 아무런 문제도 발생하지 않습니다. WebSphere Portal과 런타임 및 히스토리 서버의 시간대 설정이 동일한 경우에만 정확한 변환이 이루어집니다.
WebSphere Business Monitor의 TIME DIMENSION 디자인으로 인해 마지막 항목은 그리 간단하지 않습니다. ETL 단계 중 DIMENSIONAL 분석을 위해 TIME DIMENSION으로의 몇 개의 링크가 존재합니다. 분석을 수행하는 사람은 이들 보고서가 클라이언트 시간대 설정과 무관하게 런타임 및 히스토리 데이터베이스 서버의 시간대를 기반으로 한다는 것을 알아야 합니다. 여기서 서버는 GMT에서 이들 서버의 로컬 시간으로 시간대 변경이 일어납니다. TIME DIMENSION의 세분성은 고작 하루 단위지만 시간대의 차이로 인해 특정 레코드가 발생한 날이 변경될 수 있습니다.