코드가 의도대로 동작하기 위해 필요한 전제조건이 많으면, 하나라도 어긋났을 때 의도한 대로 동작하지 않게된다. 또한 유지보수 시 코드 상에서 파악하기 어려운 숨겨진 전제조건이 존재한다면, 코드의 맥락을 이해하는 데 의문이 생기고 수정 시 예상치 못한 결과를 초래할 가능성이 높다고 생각한다. 그래서 요즘은 코드를 작성할 때: 무의식적으로 깔고 ...
Hibernate / Spring Data JPA 훑어보기
JDBC부터 mybatis-spring까지 간단하게 사용해보면서 어떤지 느껴봤었는데, JPA는 어떨까 시나리오 : 회원 정보 저장시 이력 테이블에도 저장 회원 정보 조회시 이력정보도 조회 JPA @Entity public class Member { @Id @GeneratedValue private Long...
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) 주요...
Kafka In Action
Apache Kafka® is a distributed event streaming platform that is used for building real-time data pipelines and streaming applications. Kafka is a distributed system consisting of different ki...
Cubrid에서 MySQL로의 여정(2) - MySQL용 쿼리 검증
2. Cubrid에서 MySQL로 데이터 마이그레이션 마이그레이션되는 동안 데이터 변경이 없도록 하기 위해, 서비스는 Read Only만 가능하게 사용자 요청이 가장 적은 새벽 시간대에 진행 Read Only로 운영되는 시간을 최소화하기 위해, 마이그레이션에 걸리는 시간을 최소화 하는 방향을 생각 작업 방식 ...
Cubrid에서 MySQL로의 여정(1) - MySQL용 쿼리 검증
1. MySQL용 쿼리 검증 MyBatis를 사용하고 있기 때문에, MySQL 운영을 위해서는 MySQL 쿼리 작성이 필수. 따라서 MySQL용 쿼리에 대한 쿼리 검증이 필수 검증 대상: 쿼리 문법 에러는 없는지 읽기의 경우, Cubrid와 동일한 결과값이 조회되는지 쓰기의 경우, Cubr...
Cubrid에서 MySQL로의 여정(0) - 개요
프로젝트 개요 담당 서비스에서 사용하던 DBMS인 Cubrid를 걷어내고 MySQL로 전환 기존에 사용하던 Cubrid 9.3 버전은 이미 EOL(End of Life, 2023.03.31)이 지나 장기적인 유지보수가 어려운 상황이었음. DBA 팀에 따르면 상위 버전(10.x)으로의 업그레이드는 데이터 저장 방식과 구조 차이로 인...