다음을 통해 공유


Azure Event Hubs 로그 압축

로그 압축은 이벤트 키 기반 보존을 사용하여 Event Hubs에서 데이터를 보존하는 방법입니다. 기본적으로 각 이벤트 허브/Kafka 토픽은 시간 기반 보존 또는 삭제 정리 정책을 사용하여 만들어집니다. 즉 보존 기간이 만료되면 이벤트가 제거됩니다. 세밀하지 않은 시간 기반 보존을 사용하는 대신 Event Hubs가 이벤트 허브 또는 Kafka 토픽의 각 이벤트 키에 대해 마지막으로 알려진 값을 다시 학습하는 이벤트 키 기반 보존 메커니즘을 사용할 수 있습니다.

참고 항목

로그 압축 기능은 * 기본 계층에서 지원되지 않습니다.

다음 이미지에 표시된 것과 같이 이벤트 허브 파티션의 이벤트 로그에는 동일한 키를 가진 여러 이벤트가 있을 수 있습니다. 압축된 이벤트 허브를 사용하는 경우 Event Hubs 서비스는 이전 이벤트를 제거하고 지정된 이벤트 키의 최신 이벤트만 유지합니다.

토픽이 압축되는 방법을 보여 주는 다이어그램.

압축 키

각 이벤트와 함께 설정한 파티션 키는 압축 키로 사용됩니다.

삭제 표식

클라이언트 애플리케이션은 압축 작업 중에 삭제할 이벤트 허브의 기존 이벤트를 표시할 수 있습니다. 이러한 표식을 삭제 표식이라고 합니다. 클라이언트 애플리케이션은 기존 키와 null 이벤트 페이로드를 사용하여 새 이벤트를 전송하여 삭제 표식을 설정합니다.

로그 압축 작동 방식

각 이벤트 허브/Kafka 토픽 수준에서 로그 압축을 사용하도록 설정할 수 있습니다. 모든 지원 프로토콜에서 압축된 문서로 이벤트를 수집할 수 있습니다. Azure Event Hubs 서비스는 압축된 각 이벤트 허브에 대해 압축 작업을 실행합니다. 압축 작업은 지정된 이벤트 키의 최신 이벤트만 유지하여 각 이벤트 허브 파티션 로그를 정리합니다.

로그 압축 작동 방식을 보여 주는 다이어그램.

지정된 시간에 압축된 이벤트 허브의 이벤트 로그에는 정리된 부분정리되지 않은 부분이 있을 수 있습니다. 정리된 부분에는 압축 작업에 의해 압축되는 이벤트가 포함되며 정리되지 않은 부분은 아직 압축되지 않은 이벤트로 구성됩니다.

Event Hubs 서비스는 압축 작업의 실행을 관리하고 사용자는 이를 제어할 수 없습니다. 따라서 Event Hubs 서비스는 압축을 시작할 시기와 지정된 압축 이벤트 허브의 압축 속도를 결정합니다.

압축 보장

Event Hubs의 로그 압축 기능은 다음을 보장합니다.

  • 메시지 순서는 항상 키 및 파티션 수준에서 유지 관리됩니다. 압축 작업은 메시지 순서를 변경하지 않지만 동일한 키의 이전 이벤트를 삭제합니다.
  • 메시지의 시퀀스 번호와 오프셋은 변경되지 않습니다.
  • 이벤트 로그 시작부터 진행하는 모든 소비자는 최소한 기록된 순서대로 모든 이벤트의 최종 상태를 볼 수 있습니다.
  • 소비자는 삭제 표시 보존 시간(시간)으로 정의된 시간 동안 삭제되도록 표시된 이벤트를 계속 볼 수 있습니다.

로그 압축 사용 사례

로그 압축은 동일한 업데이트 가능 이벤트 집합을 스트리밍하는 시나리오에서 유용할 수 있습니다. 압축된 이벤트 허브는 최신 이벤트만 유지하므로 사용자는 이벤트 스토리지가 증가하는 것을 걱정할 필요가 없습니다. 따라서 로그 압축은 일반적으로 CDC(변경 데이터 캡처), 스트림 처리 애플리케이션의 테이블 이벤트 유지 관리, 이벤트 캐싱과 같은 시나리오에서 사용됩니다.

할당량 및 제한

제한 Basic Standard Premium 전용
압축된 이벤트 허브의 크기 해당 없음 파티션당 1GB 파티션당 250GB 파티션당 250GB

할당량 및 제한에 대한 자세한 내용은 Event Hubs 할당량 및 제한을 참조하세요.

다음 단계

Event Hubs에서 로그 압축을 사용하는 방법에 대한 지침은 로그 압축 사용을 참조하세요.