본문 바로가기
카테고리 없음

데이터분석 전문가(ADP) 2과목 데이터 처리 기술 이해. 1장 데이터 처리 프로세스, 2절. CDC(Change Data Capture)/ 3절. EAI

by 현실남자 2023. 7. 14.

지난번 포스팅에도 언급했지만 데이터 처리 기술 이해의 세부 과목은 아래와 같습니다.

총 객관식 10문제가 출제되며, 과락을 면하기 위해 반드시 4문제 이상 맞춰야 합니다.

2. CDC(Change Data Capture)

CDC는 데이터베이스 내 데이터에 대한 변경을 식별해 필요한 후속 처리(데이터 전송/공유 등)를 자동화하는 기술 또는 설계 기법이자 구조입니다. CDC는 실시간 또는 근접 실시간 데이터 통합을 기반으로 하는 데이터 웨어하우스 및 기타 데이터 저장소 구축에 폭넓게 활용됩니다.
CDC
는 스토리지 하드웨어 계층에서부터 애플리케이션 계층에 이르기까지 다양한 계층에서 다양한 기술을 통해 구현될 수 있습니다. 단일 정보 시스템 내 다수의 CDC 메커니즘이 구현돼 동작될 수 있습니다. CDC 구현 기법들을 살펴보면 다음과 같습니다.

 

1. Tima Stamp on Rows
변경이 반드시 인지되어야 하는 테이블 내 마지막 변경 시점을 기록하는 타임스탬프 칼럼을 두고, 마지막 변경 타임스탬프 값보다 더 최근의 타임스탬프 값을 갖는 레코드를 변경된 것으로 식별합니다.

 

2. Veraion Numbers on Rows
변경이 반드시 인지되어야 하는 테이블 내 해당 레코드의 버전을 기혹하는 컬럼을 두고, 기 식별된 레코드 버전보다 더 높은 버전을 보유한 레코드를 변경된 것으로 식별합니다. 따라서, 레코드들의 버전을 기록/관리하는 참조 테이블을 함께 운용하는 것이 일반적인 기법입니다.

 

3. Status on Rows
타임 스탬프
및 버전 넘버 기법에 대한 보완 용도로 활용되며, 변경 여부를 Ture/False Boolean 값으로 저장하는 칼럼의 상태 값을 기반으로 변경 여부를 판단합니다.

 

4. Time/Version/Status on Rows
타임스탬프, 버전 넘버, 상태 값의 세 가지 특성을 모두 활용하는 기업으로, ‘특정 시간대의 버전 넘버 x.xx를 보유했으며 변경 상태 값이 True인 모든 레코드를 추출하는 등 정교한 쿼리 생성에 활용해 개발 유연성을 제공할 수 있는 기법입니다.

 

5. Triggers on Tables

데이터베이스 트리거를 활용해 사전에 등록(Subscribe)된 다수 대상 시스템(Target)에 변경 데이터를 배포(Publish)하는 형태로 CDC를 구현하는 기업입니다. 단 데이터베이스 트리거는 시스템 관리 복잡도를 증가시키며 변경 관리를 어렵게 하며 확장성을 감소시키는 등 전반적 시스템 유지보수성을 저하시키는 특성이 있어 사용에 주의를 요합니다.

 

6. Event Programming
데이터 변경 식별 기능을 애플리케이션에 구현하며, 어플리케이션 개발 부담과 복잡도를 증가시키나, 다양한 조건에 의한 CDC 매커니즘을 구현할 수 있는 기법입니다.

 

7. Log Scanner on Database
대부분의 데이터베이스 관리 시스템은 데이터 베이스의 데이터에 대한 변경 여부와 변경 값 시간 등을 트랜잭션 로그를 기록/관리하는 기능을 제공합니다. 이 트랜잭션 로그에 대한 스캐닝 및 변경 내역에 대한 해석을 통해 CDC 매커니즘을 구현합니다. 그런데 각 데이터베이스 관리 시스템에 따라 트랜잭션 로그 관리 메커니즘이 상이해 다수의 이기종 데이터베이스를 사용하는 환경에서 적용 시 규모가 증가할 수 있으니 주의가 필요합니다.

이외에도 해당 기법에는 아래와 같은 장점을 가지고 있습니다.

 1) 데이터베이스에 대한 영향도 최소화
 2)
데이터베이스 사용 애플리케이션에 대한 영향도 최소화
 3)
변경 식별 지연시간 최소화
 4)
트랜잭션 무결성에 대한 영향도 최소화
 5)
데이터베이스 스키마 변경 불필요

 

3. EAI(Enterprise Application Integration)

1.EAI? EAI(Enterprise Application Integration)는 기업 정보 시스템들의 데이터를 연계, 통합하는 소프트웨어 및 정보 시스템 아키텍처 프레임워크로서, 기업 또는 기업 간 복수의 이질적 정보 시스템들의 데이터를 연계함으로써 상호 융화 내지 동기화돼 동작하도록 합니다.
, EAI는 프런트 오피스 시스템, 기존의 레거시 시스템, 패키지 애플리케이션 등의 형태로 산재된 정보 시스템들을 프로세스 및 메시지 차원에서 통합, 관리 할 수 있게 합니다.

                  [Point to Point 데이터 연계 방식]

기존 단위 업무 위주의 정보 시스템 개발 시, 필요에 따라 정보 시스템들 간 포인트 투 포인트 방식으로 데이터를 연계함으로써 그림과 같은 데이터 연계의 복잡성이 발생합니다.
이러한 방식은 정보 시스템 간 데이터 통합과 연계를 확보하기 어렵게 하고, 기준 마스터 데이터의 통합과 표준화를 불가능하게 합니다. 또한 방대하고 복잡한 데이터 연계 경로를 발생시키기 때문에 유지보수성이 극도로 저하됩니다. 이는 유지보수 및 관리 비용의 상승으로 연결됩니다.
또한 위와 같이 포인트 투 포인트 방식으로 정보 시스템을 개발하고 데이터 연계 시, N개의 연결 대상 노드들이 존재할 경우 연결은 N(N-1)/2개가 발생합니다.

 

                        [Hub and Spoke 아키텍처]                              

위의 Point to Point 데이터 연계 방식의 특성으로 발생하는 복잡성과 유지보수 비용 증가를 극복하기 위해, Hub and Spoke 방식의 EAI 기반 구조를 적용할 수 있습니다. , 가운데 지점에 허브 역할을 하는 중개인을 두고, 연결 대상 노드들의 데이터 연계 요구를 중계해 줌으로써 발생 연결 개수 및 구조를 단순화할 수 있습니다. 각 연결 대상 노드들은 스포크에 해당합니다.

 

 

 

 

 

 

 

 

 

아래 그림은 EAI 구성 요소로서 각 정보 시스테과 EAI 허브(Engine) 간 연결성을 확보하기 위한 어댑터(Adapter)들이 있습니다. 이 어댑터들을 매개로 연결된 각 정보 시스템들 간의 데이터 연동 경로인 버스(BUS), 데이터 연동 규칙을 통제하는 중개인(Broker),데이터 형식 변환 등을 담당하는 트랜스포머(Transformer)가 있습니다.

 

2. EAI 구현 유형

 

1) Mediation(intra-communication) : Publish/subscribe Model

EAI 엔진이 중개자(Broker)로 동작하며, 특정 정보 시스템 내 데이터 신규 생성 또는 갱신, 신규 트랜잭션 완료(Commit)등 유의미한 이벤트 발생을 식별해, 사전 약속된 정보 시스템들에게 그 내용(데이터)을 전달합니다.

 

2) Federation(inter-communication) : Request/reply Model

EAI 엔진이 외부(고객 또는 파트너) 정보 시스템으로부터의 데이터 요청들을 일괄적으로 수령해 필요한 데이터를 전달합니다.

 

3. EAI 기대 효과

EAI를 통해 아래와 같은 기대 효과를 볼 수 있습니다.

1)    향후 정보 시스템 개발 및 유지 보수비용 절감 도모

2)    기업 업무 정보 시스템들의 지속적 발전 기반 확보

3)    협력사, 파트너, 고객과의 상호 협력 프로세스 연계 발전 기반 확보

4)    웹 서비스 등 인터넷 비즈니스를 위한 기본 토대

 

 

 

참고문헌


데이터 분석 전문가 가이드, 한국데이터산업진흥원, 2021315일 개정판