Gradle 기반 스프링 부트 프로젝트를 세팅해보자. 프로젝트 만들기 실습환경 : IntelliJ IDEA 2025.2 경로 : File > New > Project... 프로젝트 세팅 File > Project Structure Project SDK 프로젝트에서 사용할 JDK 버전을 지정 ...
Git - Submodule 알아보기
배경 AWS 환경에서 운영시 사내 nexus를 사용할 수 없어서, common 모듈 같은 공통 모듈을 별도 프로젝트로 관리하고, git submodule로 포함시킨다는데 이게 어떤 의미일까 ? 보통 사내에서 빌드된 공통 라이브러리(common module)는 Nexus (또는 Artifactory) 같은 사설 Maven Reposit...
AWS - 상품 살펴보기
갑작스럽게 AWS 관련 학습을 해야할 일이 생겼다. 각각의 상품에 대해 학습해보기 전에 전반적으로 어떤 느낌인건지 GPT에게 물어보았다. 1. 네트워크 및 인프라 기본 VPC (Virtual Private Cloud) AWS 상에서 논리적으로 분리된 네트워크 공간을 만드는 서비스. 서브넷, 라우팅 테이블, 게이트웨이 등을 설정해서 트래...
오늘 드는 생각 (251109, 전제조건)
코드가 의도대로 동작하기 위해 필요한 전제조건이 많으면, 하나라도 어긋났을 때 의도한 대로 동작하지 않게된다. 또한 유지보수 시 코드 상에서 파악하기 어려운 숨겨진 전제조건이 존재한다면, 코드의 맥락을 이해하는 데 의문이 생기고 수정 시 예상치 못한 결과를 초래할 가능성이 높다고 생각한다. 그래서 요즘은 코드를 작성할 때: 무의식적으로 깔고 ...
Debezium MySQL Connector Snapshot 알아보기
Snapshot 소스 DB의 현재 데이터와 스키마 구조를 캡처해, 변경 이벤트 스트리밍의 기준선을 만드는 초기 동기화 과정 Debezium MySQL 커넥터가 시작될 때, 데이터베이스의 일관된 초기 스냅샷(initial consistent snapshot)을 수행한다. 이 스냅샷은 커넥터가 현재 데이터베이스 상태의 기준선(base...
Debezium 알아보기
Debezium Debezium은 CDC(Change Data Capture)를 위한 오픈 소스 분산 플랫폼이다. (공식 사이트) Kafka Connect의 Source Connector 플러그인 중 하나 (내가 지금까지 이해한 정도) Debezium은 Kafka Connect와 호환되는 소스 커넥터(Source Connector)...
Kafka Connect 알아보기
Kafka Connect Apache Kafka와 다른 데이터 시스템 간에, 데이터를 확장 가능하고 안정적으로 스트리밍하기 위한 도구 대규모 데이터를 Kafka로 가져오거나 Kafka에서 내보내는 커넥터를 빠르고 간단하게 정의할 수 있게 해준다. 전체 데이터베이스를 가져오거나, 애플리케이션 서버 전반에서 수집한 메트릭(metric...
CDC(Change Data Capture) 알아보기
CDC(Change Capture Data)란 ? 데이터베이스나 데이터 웨어하우스 같은 데이터 소스의 모든 변경 사항을 추적하여, 이러한 변경 내용을 대상 시스템에 반영할 수 있도록 하는 과정 (출처 : https://www.confluent.io/learn/change-data-capture/#quick-intro-to-cdc) 주요...
Cubrid에서 MySQL로의 여정(0) - 개요
프로젝트 개요 담당 서비스에서 사용하던 DBMS인 Cubrid를 걷어내고 MySQL로 전환 기존에 사용하던 Cubrid 9.3 버전은 이미 EOL(End of Life, 2023.03.31)이 지나 장기적인 유지보수가 어려운 상황이었음. DBA 팀에 따르면 상위 버전(10.x)으로의 업그레이드는 데이터 저장 방식과 구조 차이로 인...
오늘 드는 생각 (251016, 은탄환)
개발자라는 직업을 갖고나서 “은탄환은 없다”라는 말을 많이 들었던 것 같다. 왜 은탄환은 없는걸까 ? 내 나름대로의 결론은, 모든 상황에는 저마다의 맥락(context)이 있기 때문인 것 같다. 예를 들어, 특정 서비스의 DBMS를 다른 DBMS로 마이그레이션하는 프로젝트를 진행한다고 할 때 고려해야할 맥락은 다양하다: 서비스의 기술 스택,...