카테고리 없음
💡Trigger와 CDC(Change Data Capture)는 무슨 차이일까?
리보리
2024. 10. 8. 18:07
두 방법 모두 데이터 변경 사항을 기반으로 비즈니스 로직을 실행할 수 있는데 무슨 차이가 있는지 궁금해서 정리해봤다.
연관된 글: https://deploymentsuccessful.tistory.com/20
💠트리거 (Trigger) : 트리거는 Salesforce 데이터베이스에서 동기적으로 실행된다 해당 레코드의 DML작업이 성공적으로 완료되기 전에 실행되고, 문제가 발생하면 해당 작업 전체가 롤백된다
💠CDC(Change Data Capture) :CDC는 Salesforce의 비동기 이벤트 처리 방식이다. 데이터 변경 사항(생성, 수정, 삭제, 복원)이 발생하면 해당 객체에 대해 Change Event가 발행되며, 이 이벤트는 실시간으로 구독된 시스템으로 전달된다 비동기적으로 처리되기때문에 이벤트는 데이터 변경 후 별도의 트랜잭션에서 처리된다
CDC는 플랫폼이벤트를 기반으로 하기때문에 외부 시스템간의 실시간 동기화 외부 애플리케이에서 Salesforce내부의 데이터 변경사항을 구독할때 주로 사용된다.
특징 트리거 (Trigger) Change Data Capture (CDC)
처리 방식 동기적 (DML 작업과 같은 트랜잭션에서 실행) 비동기적 (DML 작업 후 별도의 트랜잭션에서 실행) 사용 목적 Salesforce 내부에서 레코드 변경 처리 외부 시스템과 실시간 데이터 동기화 및 통신 실행 시점 DML 작업과 동시에 실행 DML 작업 완료 후 이벤트 형태로 발행 에러 처리 에러가 발생하면 DML 작업이 롤백됨 DML 작업과 별개로 실행되므로 구독자 쪽에서 오류 처리