Home
zz9z9
Cancel

Cubrid에서 MySQL로의 여정(0) - 개요

프로젝트 개요 담당 서비스에서 사용하던 DBMS인 Cubrid를 걷어내고 MySQL로 전환 기존에 사용하던 Cubrid 9.3 버전은 이미 EOL(End of Life, 2023.03.31)이 지나 장기적인 유지보수가 어려운 상황이었음. DBA 팀에 따르면 상위 버전(10.x)으로의 업그레이드는 데이터 저장 방식과 구조 차이로 인...

오늘 드는 생각 (251016, 은탄환)

개발자라는 직업을 갖고나서 “은탄환은 없다”라는 말을 많이 들었던 것 같다. 왜 은탄환은 없는걸까 ? 내 나름대로의 결론은, 모든 상황에는 저마다의 맥락(context)이 있기 때문인 것 같다. 예를 들어, 특정 서비스의 DBMS를 다른 DBMS로 마이그레이션하는 프로젝트를 진행한다고 할 때 고려해야할 맥락은 다양하다: 서비스의 기술 스택,...

오늘 드는 생각 (251015, 일과 공부)

현실적으로 생계를 유지하려면 내 인생에서 일은 계속 해야하지 않을까 생각한다. 하루 24시간 중 일과 관련된 시간은: 출퇴근 (출근 준비시간 포함) : 2시간 회사에 있는 시간 : (8시간 근무 기준) 9시간 11시간 정도된다. 단순 계산으로 비율을 따져보면: 하루로 계산했을때, 약 45% 1년 워킹데이(대략 250일)로 계산...

유지보수하기 어렵다 ?

나는 주로 어떤 상황에서 ‘유지보수하기 어렵다’라고 느낄까 ? 유지보수와 어렵다를 각각 그동안의 내 경험에 비추어 생각해보면 유지보수 1. 새로운 기능 추가 (또는 시스템 단위의 개발) 2. 요구사항 변경 등으로 인한 기존 기능 수정 3. 이슈 디버깅 및 조치 4. 기능은 동작하지만 사용자 경험이 좋지않거나, 추후 이슈가 될 것으로 예상되는 부분...

MySQL - Hash Join 알아보기

Hash Join 해시 테이블을 사용해서 매칭되는 행을 찾는 조인 방식 Hash Join은 크게 build phase와 probe phase 두 단계로 구성된다. 1. Build Phase SELECT given_name, country_name FROM persons JOIN countries ON persons.country...

MySQL - Nested-Loop Join 알아보기

Nested-Loop Join Algorithm MySQL은 테이블 간 조인을 수행할 때, 중첩 루프 조인(Nested-Loop Join, NLJ) 알고리즘(및 그 변형)을 사용한다. MySQL 8.0.18부터는 Hash Join도 지원 NLJ : 바깥(outer) 테이블에서 한 행씩 가져와 안쪽(inne...

오늘 드는 생각 (250923, 정답)

정답을 찾는데 급급해하지 않고, 정답이 아니면 어쩌나 불안해하지 않고, 적절한 근거와 논리에 기반한 내 생각을 갖고 살 수 있기를.

Spring Batch - Step 개념

개념 Step Batch Job을 구성하는 독립된 작업 BATCH_STEP_EXECUTION 테이블에 저장됨 해당 Step을 포함하는 JobExecution 정보(JOB_EXECUTION_ID)도 기록됨 package org.springframework.batch.core; public interfa...

오늘 드는 생각 (250910, 환경)

현재의 환경에서 좋지않은 점에 집중하여 비관적인 태도를 가지면 시간만 낭비하게되는 것 같다. 주어진 환경에서 할 수 있는 최선을 다하자. 기여할 부분이 보이지 않는다면, 내 역량이 부족한 것이다.

Spring Batch - Job 개념

개념 Job 배치 작업 (출처 : https://docs.spring.io/spring-batch/reference/domain.html) 하나의 Job은 하나 이상의 Step을 가지며, 각각의 Step은 하나의 ItemReader, 하나의 ItemProcessor, 그리고 하나의 ItemWriter를 가진다. 즉, Job은 ...