이벤트 클래스에 대한 기록 정의
이벤트 기록은 응용 프로그램 데이터베이스에 있는 보조 이벤트 테이블입니다. 이러한 테이블을 사용하여 예약 구독에 사용될 수 있도록 이벤트 데이터를 저장하거나 이벤트 기록을 보존할 수 있습니다.
이벤트 기록을 사용하는 이유
Notification Services에서 이벤트는 일괄 처리 형태로 도착합니다. 예를 들어 Transact-SQL 쿼리를 사용하여 이벤트를 가져올 경우 하나 이상의 레코드를 반환하는 각 쿼리가 하나의 이벤트 일괄 처리를 만듭니다.
Notification Services는 알림을 생성할 때 가장 최근의 이벤트 일괄 처리만 사용한 후 해당 일괄 처리를 완료된 것으로 표시합니다. 이벤트 일괄 처리는 시스템 오류나 다시 시작과 같은 제한된 상황을 제외하고는 절대로 다시 사용되지 않습니다. 이전 데이터를 제거하기 위한 데이터 제거(vacuuming) 일정을 정의한 경우 완료된 이벤트 일괄 처리가 데이터베이스에서 삭제될 수 있습니다.
이 모델은 모든 구독을 현재 이벤트와 비교한 후 결과에 따라 알림을 생성하는 이벤트 트리거 알림에 잘 작동합니다. 그러나 응용 프로그램이 예약 구독을 지원할 경우에는 예약된 구독의 평가 시기에 관계없이 예약 구독이 관련 이벤트 데이터를 사용할 수 있도록 이벤트 데이터를 유지 관리해야 합니다.
이벤트 기록은 이벤트 데이터에 대한 저장소를 제공합니다. 예를 들어 예약 구독을 지원하는 Weather 응용 프로그램이 있는 경우 기록을 사용하여 각 도시에 대한 최신 날씨 데이터를 저장한 후 새 날씨 데이터가 도착할 때마다 이 데이터를 업데이트할 수 있습니다. 예약 구독을 평가해야 할 시간이 되면 예약 구독 규칙은 이벤트 기록에서 가장 최근의 데이터를 가져옵니다.
다음과 같은 용도로도 이벤트 기록을 사용할 수 있습니다.
- 모든 이벤트를 보관하고, 알림을 생성할 때 중복된 이벤트가 있는지 확인합니다.
- 모든 이벤트를 보관하고 해당 데이터를 사용하여 보고서를 만듭니다.
- 상한 및 하한 값을 보관하고 알림을 생성할 때 현재 이벤트가 상한 및 하한 범위 내에 속하는지 여부를 확인합니다.
[!참고] 데이터 제거 프로세스를 수행해도 기록에서 이전 데이터가 제거되지 않습니다. 기록 데이터를 유지 관리하기 위한 자체적인 절차 및 작업을 만들어야 합니다.
이벤트 기록 구현
이벤트 클래스에 대한 기록을 구현하려면 기록 테이블 및 이벤트 기록 규칙을 정의해야 합니다. 각 테이블은 하나의 기록에 해당하며 이벤트 기록 규칙은 기록에 들어 있는 데이터를 유지 관리합니다.
섹션 내용
항목 | 설명 |
---|---|
이벤트 기록으로 사용되는 테이블의 생성 방법을 설명합니다. |
|
이벤트 기록 테이블을 유지 관리하는 규칙의 생성 방법을 설명합니다. |
|
예약 구독에 대한 이벤트 기록을 사용하는 방법의 예를 제공합니다. |
|
알림을 생성하기 전에 이벤트 기록을 사용하여 중복된 이벤트가 있는지 확인하는 방법의 예를 제공합니다. |
|
알림을 생성하기 전에 이벤트 기록을 사용하여 이전 이벤트 데이터 값을 확인하는 방법의 예를 제공합니다. |
참고 항목
개념
핵심 이벤트 클래스 속성 정의
이벤트 클래스에 대한 인덱스 정의
관련 자료
이벤트 클래스 정의
Notification Services 응용 프로그램 정의