Datastream은 ServiceNow 인스턴스에서 변경 이벤트 복제를 지원합니다. ServiceNow는 엔터프라이즈 운영을 위한 클라우드 기반 플랫폼이며, Datastream에서 지원하는 다른 소스와 마찬가지로 ServiceNow의 데이터를 복제할 수 있습니다.
이 페이지에는 다음 정보가 포함되어 있습니다.
- ServiceNow에서 복제할 때 이해해야 하는 주요 용어입니다.
- ServiceNow 인스턴스에서 가져오는 데이터가 Datastream에서 처리되는 방법
- Datastream에서 지원되는 ServiceNow 버전
- ServiceNow를 소스로 사용할 경우의 알려진 제한사항
핵심 용어
ServiceNow는 테이블, 레코드, 필드를 사용하여 작동합니다.
- ServiceNow 인스턴스는 전용의 격리된 ServiceNow 클라우드 환경입니다(예:
company.service-now.com). - 테이블은 ServiceNow의 기본 데이터 구조로, 데이터베이스 테이블과 동일합니다.
- 레코드는 테이블의 개별 항목으로, 데이터베이스의 행과 같습니다.
- 필드는 레코드 내의 개별 데이터 요소로, 데이터베이스 열과 같습니다.
- 커넥터는 Table API를 기본 RESTful 인터페이스로 사용하여 ServiceNow 테이블에서 직접 데이터에 액세스합니다.
- 오프셋 기반 페이지로 나누기는 오프셋 번호를 Table API에 전달하여 ServiceNow 테이블의 레코드를 탐색하는 방법입니다. 이 메서드는 페이지로 나누는 동안 레코드 삭제에 민감하므로 커넥터가 데이터를 건너뛸 수 있습니다.
- 키셋 기반 페이지로 나누기는 커넥터가 식별자나 타임스탬프와 같은 고유한 레코드 값과 그 순서를 추적하여 페이지로 나누기를 관리하는 방법입니다. 이 방법은 페이지로 나누는 동안 레코드가 삭제되더라도 효과적입니다.
동작
Datastream의 ServiceNow 소스 지원은 ServiceNow REST Table API를 기반으로 합니다. Datastream은 데이터 무결성과 성능을 보장하기 위해 두 가지 기본 복제 방법을 지원합니다.
이전 데이터 백필
- ServiceNow 인스턴스에서 변경 데이터를 복제할 때 Datastream은 테이블의 모든 기존 레코드에 대해 전체 기록 동기화를 실행합니다.
- 데이터 일관성을 보장하고 대규모 추출 중에 레코드 손실을 방지하기 위해 커넥터는 키 세트 기반 페이지로 나누기를 사용합니다. 커넥터는 고유한 레코드 값과 순서를 추적하여 이 프로세스를 관리하므로 레코드 삭제에 대해 추출이 강력해지고 커넥터가 레코드를 건너뛰거나 중복하는 것을 방지합니다.
- 데이터 스트림은
sys_updated_on및sys_id레코드 속성별로 데이터를 정렬하여 초기 로드에 안정적인 순서를 제공합니다. 변경할 수 없는 레코드가 포함되어 있고sys_updated_on필드가 없는sys_journal_field표의 경우 커넥터는sys_created_on및sys_id속성으로 정렬합니다.
증분 동기화
- ServiceNow 인스턴스에서 변경 데이터를 복제할 때 Datastream은 초기 백필 이후에 발생하는 삽입 및 업데이트와 같은 변경사항을 캡처합니다.
- 서버 측 증분 동기화: 커넥터는
sys_updated_on및sys_id속성 (또는sys_journal_field테이블의 경우sys_created_on및sys_id)에 대한 필터를 사용하여 마지막으로 성공한 동기화 이후 수정된 레코드에 대해 ServiceNow API를 쿼리합니다. - 동기화 프로세스는
sys_updated_on(또는sys_journal_field테이블의 경우sys_created_on) 및sys_id마커로 구성된 복합 커서를 사용합니다.sys_updated_on및sys_created_on마커는 지정된 시간과 같거나 그 이후의 타임스탬프가 있는 레코드만 다음 주기에서 동기화되도록 하고,sys_id마커는 타임스탬프가 동일한 레코드의 일관성을 보장합니다.
버전
ServiceNow 커넥터는 ServiceNow REST Table API (V2)와 함께 작동합니다. Datastream에서 지원하는 기능은 Zurich 출시를 기준으로 검증됩니다.
복제된 객체
ServiceNow 커넥터는 동적 검색 메커니즘을 사용하여 인스턴스 내의 전체 테이블 (객체)을 식별합니다. 가치가 높은 비즈니스 데이터만 복제되도록 커넥터는 다층 필터링 프로세스를 적용하여 내부 아키텍처, 기술 로그, 시스템 메타데이터 테이블을 제외합니다.
필터링 로직
- 웹 서비스 액세스: 웹 서비스 액세스가 사용 설정 (
ws_access=true)된 테이블만 복제할 수 있습니다. 이 구성이 누락되면 커넥터가 테이블에서 레코드 데이터를 가져올 수 없습니다. - 제외된 슈퍼클래스: 커넥터는 기술 메타데이터 또는 일관되지 않은 스냅샷이 복제되지 않도록
sys_metadata시스템 구성 테이블에서 상속되거나 회전된 테이블 계층 구조에 속하는 테이블을 제외합니다. - 내부 시스템 접두사: 커넥터가 플랫폼 배관 또는 기존 기능을 나타내는 특정 기술 접두사로 시작하는 테이블을 필터링합니다.
- 골든 목록 (시스템 예외): 커넥터는 대부분의
sys_테이블을 제외하지만sys_user,sys_choice,sys_journal_field과 같은 중요한 비즈니스 항목은 명시적으로 허용 목록에 추가합니다.
기본적으로 필터링된 시스템 접두사
| 카테고리 | 프리픽스 | 설명 |
|---|---|---|
| 핵심 내부 구조 | v_, ts_, imp_, ecc_, wf_, sh$, bin_, var_, gs_ |
가상 테이블, 검색 색인, 가져오기 스테이징, ECC 대기열, 워크플로 컨텍스트 |
| 분석 및 AI | pa_, ua_, ml_, ais_, promin_, di_ |
성능 분석 점수, 공급업체 원격 분석, ML 벡터, AI 검색 프로필 |
| 기술 모듈 | sa_, sla_, atf_, cxs_, automation_, ids_ |
서비스 매핑 패턴, SLA 엔진 로그, 보안 감사 추적 |
| 레거시 및 관리자 | pf_, clone_, upgrade_, rollback_, expert_, dscy_ |
인스턴스 패치 적용 기록, 업그레이드 로그, 오래된 기존 모듈 |
허용된 시스템 테이블
- 사용자 및 보안:
sys_user,sys_user_group,sys_user_grmember,sys_user_role,sys_user_has_role - 핵심 참조:
sys_choice(드롭다운 옵션),sys_company,sys_domain,sys_location - 감사 추적:
sys_journal_field(작업 메모 및 댓글 기록)
알려진 제한사항
ServiceNow를 소스로 사용할 경우의 알려진 제한사항은 다음과 같습니다.
- Datastream은 삭제된 레코드의 캡처를 지원하지 않습니다.
- 데이터 스트림은 기본적으로
ts_,v_,imp_로 시작하는 테이블과 같은 많은 내부 플랫폼 테이블을 제외합니다. - 웹 서비스 액세스가 사용 설정된 (
ws_access=true) 테이블만 명시적으로 구성하여 복제할 수 있습니다. 대부분의 테이블의 기본값입니다. - 커넥터는 기본 ServiceNow 데이터베이스 인스턴스에 표시되는 방식으로 필드 값을 복제합니다. 이러한 값을 실제 값이라고 합니다. 즉, Datastream이 대상에 복제하는 실제 값은 ServiceNow 사용자 인터페이스에 표시되는 값 (표시 값이라고 함)과 다를 수 있습니다. 자세한 내용은 ServiceNow 기술 자료를 참고하세요.
다음 단계
- Datastream에 사용할 ServiceNow 소스 구성 방법 알아보기