Notice
Recent Posts
Recent Comments
09-29 07:02
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

Byeol Lo

[ADP] 2장 데이터 처리 기술 이해 - 데이터 처리 프로세스, CDC(Change Data Capture) 본문

AI/ADP

[ADP] 2장 데이터 처리 기술 이해 - 데이터 처리 프로세스, CDC(Change Data Capture)

알 수 없는 사용자 2024. 7. 16. 03:13

 데이터베이스는 하나의 시점의 데이터가 아니라 계속 변화되는 데이터다. 따라서 데이터 내의 변경이 있을 때는 다른 사람들이 데이터베이스 내부의 데이터가 변경됐는지 모를 것이다. CDC는 이를 알려주기 위해 필요한 후속 처리(데이터 전송/공유) 를 자동화하는 기술 또는 설계 기법이자 구조다. 또한, CDC는 실시간 또는 근접 실시간 데이터 통합을 기반으로 하는 데이터 웨어하우스 및 기타 데이터 저장소 구축에 폭 넓게 활용된다. 이때 CDC는 물리 계층부터 어플리케이션 계층까지 다양한 기술을 통해 구현될 수 있다.

  • Time Stamp on Rows: 마지막 변경 시점을 기록하기 위한 time stamp 필드를 두고 최근의 타임스탬프 값을 갖는 레코드로 변경

  • Version Numbers on Rows: 버전을 기록하는 컬럼을 둠. "참조 테이블"과 함께 운영됨

  • Status on Rows: time stamp 와 version number에 대한 보완으로 활용되며 변경 여부를 boolean을 기반으로 변경 여부 판단 사람이 직접 결정할 수 있도록 다양한 여지를 줄 수 있음.

  • Time/Version/Status on Rows: 위 세가지를 전부 활용하여 정교한 쿼리 생성 가능. 개발 유연성 제공

  • Triggers on Tables: 트리거를 활용하여 사전에 등록(subscribe)된 다수 대상 시스템(target)에 변경 데이터를 배포(publish)하는 형태로 CDC를 구현하는 기법, 하지만 시스템 관리 복잡도를 증가시키며, 변경 관리를 어렵게 해서 확장성을 감소시키는 등의 전반적 시스템 유지 보수성을 저하시킴.

  • Event Programming: 데이터 변경 식별 기능을 어플리케이션에서 구현하여, 개발 부담과 복잡도를 증가시키지만, 다양한 조건에 의한 CDC 메커니즘을 구현할 수 있음.

  • Log Scanner on Database: 데이터에 대한 변경 여부와 변경 값 시간 등의 트랜잭션 로그를 기록/관리하는 기능을 제공. 이기종의 데이터베이스들은 로그가 다 다르므로 다양한 데이터베이스를 다루는 경우에는 작업 규모가 증가할 수 있음. 장점으로는
    • 데이터베이스에 대한 영향력 최소화
    • 데이터베이스 사용 어플리케이션에 대한 영향력 최소화
    • 변경 식별 지연시간 최소화
    • 데이터베이스 스키마 변경 불필요

 CDC를 구현할 때에는 원천에서 변경을 식별하고 대상 시스템(target)에 변경 데이터를 적재해주는 push 방식과 대상 시스템(target)에서 원천을 정기적으로 살펴서 필요 시 데이터를 다운로드 하는 pull 방식으로 구분됨

Comments