본문 바로가기

kafka connect2

[Debezium] Kafka Connect Custom SMT로 JSONB 처리하기 저번 포스팅에 이어서 JSONB를 사용하는 경우 이를 처리 하는 방법에 대해서 포스팅한다. 일단은 자신이 사용하는 데이터의 구조를 파악해서 ElasticSearch Mapping을 작성해야한다. 일단 나는 귀찮으니 JSON to ElasticSearch Mapping 도구를 사용했다.(Nested를 처리 못해서 내가 직접 다 수정해주긴 했다.) 만약 먼저 생성된 인덱스가 있으면 삭제해주자curl -X DELETE 'http://localhost:9200/' 그리고 새로운 인덱스를 생성 해주자.{ "settings": { // 만약 사용할 Analyzer가 있으면 설정 해주자.(Nori 등) }, "mappings": { "properties": { // 작성한 매핑 }} 다.. 2025. 4. 21.
[Debezium] PostgreSQL to ElasticSearch CDC 기존에는 PostgreSQL에서 진짜 한계까지 쥐어짜서 QueryDSL로 통계 쿼리를 작성했었다.근데 배치 처리도 너무 힘들고 쿼리 온몸 비틀기를 하다보니 너무 짜증나서 ElasticSearch를 도입하기로 했다. 그런데 기존에 PostgreSQL에 있는 360만개의 Row는 어떻게 ElasticSearch로 옮기고 관리할지 고민을 해보았는데 나온 결론이 PostgreSQL -> Debezium -> Kafka Connect -> ElasticSearch 순으로 데이터를 옮기기로 했다. 조건기존 360만개의 Row도 옮겨져야함 (initial 모드로 가능)기존 DB가 업데이트되면, ElasticSearch도 반영되어야함 (CDC 캡쳐로 가능)JSONB도 매핑이 되어야함 (커스텀 SMT로 가능)Spring.. 2025. 4. 21.