본문 바로가기
728x90

CDC6

[Flink] Flink가 CDC에 강력한 이유, SparkSteaming과 비교, 코드 예제(feat. Debezium, Iceberg) 1. Flink가 CDC에 있어서 강력한 이유1) 진정한 스트림 처리 엔진 (Event-at-a-time, Low Latency)Flink는 레코드 단위(event 단위)로 즉시 처리하는 ‘진짜 스트리밍’ 처리 구조반면 Spark Structured Streaming은 마이크로배치(몇 백 ms~초 단위) 처리로, 처리 지연(latency)이 크고 실시간 반응 속도가 떨어짐Kafka Connect + Debezium처럼 CDC 이벤트를 실시간으로 받아 즉각 반영해야 하는 경우 Flink가 훨씬 적합2) 강력한 상태 관리(Stateful Processing)Flink는 상태 저장소(State Backend)를 이용해 이벤트 간 상태를 유지할 수 있음CDC 데이터는 여러 이벤트가 특정 키(예: PK)에 대해 .. 2025. 6. 22.
[Kafka] Aurora(MySQL) & Debezium connector & MSK Hands-on DebeziumCDC(change data capture)의 대표적인 오픈소스Oracle / MySQL / MongoDB / Cassandra 등 다양한 데이터베이스 지원신규 버전을 계속해서 릴리즈하고 있으며 Reference 문서, 커뮤니티 등 활성화되어 있음DB 트랜잭션 로그를 이용하여 데이터 변경 사항을 실시간으로 캡처하여 스트리밍 하는 오픈 소스ConnectorRoleDescriptionSource ConnectorPRODUCER데이터 변경 발생시 MSK로 실시간 데이터 전송Sink ConnectorCONSUMERTarget DB에 데이터를 적재, 대표적으로 JDBC Sink Connector 이번 포스트에는 Debezium을 통해 Source connector로써 활용하여 Source DB의 변.. 2025. 6. 16.
[Flink] 좋은 스트리밍 시스템과 Apache Flink 기본 개념 정리 및 내부 구조 이번 포스트에는 스트림 데이터와 좋은 스트리밍 시스템은 어떤 것인지, Flink에 대한 기본 개념과 내부구조, 왜 좋은지 장단점에 대해서 정리해보겠습니다.1. 스트림 데이터와 좋은 스트리밍 시스템우선 flink가 스트리밍 시스템에 있어서 왜 좋은지를 파악하려면 스트림 데이터는 어떻게 쓰이고, 좋은 스트리밍 시스템은 어떤 기준을 갖고 있는지를 파악해 봐야 합니다.1) 스트림 데이터란계속해서 끊임없이 생성되고 흐르는 데이터를 의미한 번에 한 건씩(또는 작은 단위로) 발생하며, 실시간으로 처리되는 것이 일반적스트림 데이터의 예시쇼핑몰 고객의 구매 요청항공사 예약 발생보험금 청구은행 트랜잭션 발생클릭 이벤트서버 로그현재 IoT 장비의 위치기타 등등스트림 데이터를 활용하는 예시은행에서 이상 거래를 탐지쇼핑몰에서 .. 2025. 6. 15.
[Kafka] Kafka와 Debezium 그리고 CDC구현 정리 이번 포스트에는 kafka와 Debezium 그리고 CDC구현에 대해서 정리해보겠습니다.1. Debezium이란?database에서 발생하는 변경사항을 추적할 수 있는 일종의 Apache Kafka Connect의 source connector성공적으로 commit이 발생한 데이터에 대해서만 변경사항이 전파되기 때문에 실패한 트랜잭션은 고려할 필요가 없음Debezium은 변경사항을 디스크에 저장하기 때문에 데이터의 변경사항을 전달받아야 하는 애플리케이션이 다운되더라도 문제가 없음Debezium은 애플리케이션이 여러 DBMS와 호환이 될 수 있도록 middleware 역할을 함 Kafka와 Kafka Connect를 활용함으로써 durability, reliability, fault tolerance을 보.. 2025. 6. 15.
[LakeHouse] Apache Iceberg 파헤치기 1) 기본 개념 정리, 내부 구조, 성능 이번 포스트에는 LakeHouse Table Format 중 하나인 Apache Iceberg에 대해서 정리해보겠습니다.1. LakeHouse Table Format이란?데이터 레이크(Data Lake)의 유연함과 데이터 웨어하우스(Data Warehouse)의 구조화된 관리 기능을 결합하기 위해 고안된 테이블 기반의 저장 포맷 1) 기존 구조의 문제시스템장점단점Data Lake저렴한 저장, 유연한 포맷(csv/parquet)ACID 없음, 원본과 분석용 데이터의 정합성 문제 발생Data Warehouse구조적 쿼리, ACID 보장, 높은 품질비싸고, 폐쇄적, 실시간 ingest 어려움위의 시스템 2개를 하나로 통합 한 것이 Lakehouse 아키텍처Data lake로 방대한 양의 데이터를 저장하고 gl.. 2025. 6. 15.
[IT용어] (데이터 이관) CDC(Change Data Capture), ETL(Extract Transform Load), ODS(Operational Data store) # CDC 실시간으로 원천 데이터의 변경 사항을 감지하여 이관하는작업이 CDC(Change Data Capture)이다. 다양한 방법으로 캡쳐를 진행하나, 로그를 읽어 변경을 반영하는 방법과 통신을 통한 변경이 주로쓰인다. 현업에서 CDC란 용어는 실시간데이터가 반영된 EDW 그 자체를 칭하기도 한다. # ETL 그리고 데이터를 이관하기위해 추출, 변환, 적재라는 일련의 과정을 거치는데 이를 ETL이라고 한다. ETL 도구로는 SSIS(MS-SQL), ODI(Oracle), ESF 등이 있다. # ODS 현재는 ODS가 staging과 같은의미로 1차적인 데이터 수집공간(temporary)으로 표현되곤한다. EDW로 이관을 위한 중간단계 데이터로, 원천데이터의 복사본으로 사용한다. #Snap Shot D.. 2021. 5. 15.
728x90