AI VIDEO BRIEFING

SQL Server 2025 변경 이벤트 스트리밍(CES) 정리: CDC·미러링과 무엇이 다른가

마이크로소프트가 공개 미리보기로 내놓은 변경 이벤트 스트리밍이 트랜잭션 로그의 변경분을 곧바로 메시지 버스로 흘려보내는 방식과, 기존 CDC나 미러링·트랜잭션 복제와 어떻게 다른지까지 함께 정리했습니다.

SQL에서 바로 흘려보낸다: 변경 이벤트 스트리밍 공개 미리보기 영상 대표 이미지

핵심 메시지

  • 변경 이벤트 스트리밍(CES)이 SQL Server 2025와 Azure SQL 계열 전반에서 공개 미리보기로 열렸다.
  • 트랜잭션 로그에서 커밋된 변경을 읽어 CloudEvents 형식으로 직렬화한 뒤 메시지 버스로 내보낸다.
  • CDC와 달리 변경분을 데이터베이스 안에 다시 쓰지 않아 이중 쓰기 부담이 없다.
  • 여러 소비자가 SQL을 각자 폴링하지 않고 메시지 버스 한 곳에서 데이터를 가져간다.
  • 전달 보장 구조 때문에 스트리밍이 실패하면 트랜잭션 로그가 계속 커지므로 감시가 필수다.

쉽게 이해하기

마이크로소프트의 데이터 전문 프로그램에서 변경 이벤트 스트리밍(Change Event Streaming, CES)이 공개 미리보기에 들어갔다는 소식을 다룹니다. 대상은 SQL Server 2025, Azure SQL Database(하이퍼스케일 포함), Azure SQL Managed Instance, 그리고 패브릭의 SQL 데이터베이스로, 널리 쓰이는 SQL 제품군 대부분이 포함됩니다. 리눅스 위의 SQL Server는 아직 준비 중이라고 밝힙니다.

출연자는 데이터가 실시간으로 흐르는 시대라고들 하지만 일상은 여전히 배치에 묶여 있다고 지적합니다. 카드 명세서, 쇼핑몰 재고, 배송 상태처럼 오늘과 내일 사이에 무슨 일이 있었는지 알 수 없는 화면이 대표적입니다. CES는 데이터가 삽입·수정·삭제되는 순간 그 변화를 메시지 버스로 흘려보내, 여러 소비자가 원본 데이터베이스에 부담을 주지 않고 같은 흐름을 나눠 쓰게 하려는 기능입니다.

시연은 자전거를 산 고객에게 헬멧 할인 쿠폰을 보내는 마이크로서비스로 진행됩니다. 먼저 목적지 정보를 담는 이벤트 스트림 그룹을 만듭니다. 여기에 대상(Azure Event Hubs), 프로토콜(AMQP 또는 Kafka), 엔드포인트, 인증 정보, 큰 행을 나눠 보낼 방식을 지정합니다. 그다음 구매 테이블을 이 그룹에 추가하면 그 순간부터 스트리밍이 시작됩니다. 실제로 구매 한 건을 넣자 콘솔 앱이 JSON을 받아 곧바로 쿠폰 메일을 보내고, 메일 속 주문 번호가 방금 넣은 값과 일치하는 모습이 화면에 나옵니다.

동작 원리는 트랜잭션 로그를 훑어 커밋된 변경을 찾아내고, 스트리밍 대상으로 설정된 테이블의 변경이라면 CloudEvents 형식으로 직렬화해 Azure Event Hubs로 보내는 방식입니다. 아직 네이티브 Kafka를 목적지로 지원하지는 않지만, Event Hubs와 패브릭 이벤트 스트림이 제공하는 Kafka 호환 엔드포인트를 통해 Kafka 프로토콜을 쓸 수는 있습니다.

기존 기능과의 경계도 정리됩니다. CDC 역시 트랜잭션 로그를 읽지만 수집한 변경을 데이터베이스 안의 다른 테이블에 다시 기록하는 이중 쓰기 구조이고, 소비자들은 각자 SQL을 폴링해야 합니다. 미러링은 클릭 몇 번으로 끝나는 대신 목적지가 원레이크 한 곳으로 고정됩니다. SQL에서 SQL로 그대로 복제하려는 경우라면 여전히 트랜잭션 복제가 가장 알맞은 선택이라고 못 박습니다.

주요 인사이트

  • CES가 겨냥하는 대표 시나리오는 오래된 모놀리식 시스템 옆에 새 기능을 마이크로서비스로 붙이는 경우다. 원본 애플리케이션의 데이터 흐름에 안정적으로 올라탈 수단이 필요하기 때문이다.
  • 브론즈·실버·골드로 이어지는 전통적인 ETL은 계층마다 배치가 끝나기를 기다려야 해서 분석 가능한 데이터까지 몇 시간이 걸린다. 스트림을 실시간으로 변환하면 그 시간을 크게 줄일 수 있다.
  • CES는 전달을 보장하기 위해 마지막으로 성공한 이벤트 지점까지만 트랜잭션 로그를 잘라낸다. 인증이나 네트워크 문제로 전송이 막히면 재시도가 반복되며 로그 파일이 계속 불어난다.
  • 목적지의 처리량이 보내려는 이벤트 양에 못 미치면 스로틀링이 걸리고, SQL은 재시도를 반복하며 성능까지 갉아먹는다. 대상 크기를 미리 맞춰두라는 것이 두 번째 팁이다.
  • 설정 자체는 명령 세 줄 수준으로 단순하지만, 켜두고 잊어버려도 되는 기능은 아니다. 변경이 많은 시스템일수록 오류 감시가 곧 운영 안정성이라는 점을 반복해 강조한다.

자주 묻는 질문

CES는 어떤 제품에서 쓸 수 있나요?

공개 미리보기 기준으로 SQL Server 2025, Azure SQL Database와 하이퍼스케일, Azure SQL Managed Instance, 패브릭의 SQL 데이터베이스에서 사용할 수 있습니다. 리눅스 환경의 SQL Server는 아직 지원되지 않으며 작업이 진행 중이라고 밝혔습니다.

CDC와 비교했을 때 가장 큰 차이는 무엇인가요?

CDC는 로그에서 읽은 변경을 데이터베이스 안 테이블에 다시 저장하는 이중 쓰기라서 성능 부담이 있고, 소비자마다 SQL을 폴링해야 합니다. CES는 변경을 감지하는 즉시 외부 메시지 버스로 내보내므로 소비자가 늘어도 원본 데이터베이스를 건드리지 않습니다.

미러링 대신 CES를 골라야 하는 경우는 언제인가요?

여러 통합을 얹을 범용 데이터 스트림이 필요하다면 CES가 맞습니다. 대신 소비자를 직접 구성해야 합니다. 테이블을 골라 원레이크로 보내기만 하면 되는 상황이라면 클릭만으로 끝나는 미러링이 더 간단합니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식