👋 백앤드 개발자 박준수입니다.
Introduction
- 소통을 중요시하는 백앤드 개발자 박준수입니다.
- 문제를 정의하고 해결하는 것을 중요하게 생각합니다.
- 항상 왜?를 고민합니다.
- 새로운 기술과 지식을 적극적으로 학습하고
혼자가 아닌 동료와 함께 성장하는 것을 목표로 하고 있습니다
Work Experience
Tmax Tibero / Backend Engineer
2024.04 ~
- DBAS (Database As a Service)
Migration 기능 통합
- Migration 코드 병합
- Migration 기능 제공을 위한 코드 통합 작업 수행
- Migration 라이브러리 사용을 위해 JNI(Java Native Interface) 활용
- JNI 옵션 제거 및 배포 간편화
- JNI 사용 시 필수인 라이브러리 경로를 별도로 지정하지 않고, resources 폴더에 라이브러리 파일을 추가하여
하나의 JAR 파일로 패키징
- static 필드에서 라이브러리를 로드 후 Migration에 필요한 native method 실행
- Migration 실행 전 Database 분석 개발
- Database 이관률 분석 및 분석 진척률 API 개발
- 비동기로 분석 진행 및 callback 함수를 활용하여 분석 정보 저장
- 데이터베이스 접속 시 발생하는 예외 처리 후 사용자에게 예외 메시지 전달
Database 모니터링 개발 및 설계
- DB 모니터링: Database 지표 수집 및 성능 모니터링 시스템의 아키텍처 설계 및 구현
- Schema Object, Transaction등의 지표를 수집하여 적재
- Connection Pool 관리 및 성능 최적화
- 모니터링할 Database의 JDBC Connection 을 Pool로 관리
- Apache DBCP 옵션을 사용해 수집 및 적재 속도를 30% 개선(197ms→141ms)
- validation query, testOnIdle 옵션을 사용해 유휴 상태에서 Connection 유효성 검증
- statement pooling을 통해 매번 RDBMS에서 Statement를 얻어오지 않고 캐싱하여 성능 최적화
Database 구독 관리
- AWS 인스턴스 관리
- AWS 인스턴스의 재개, 정지 및 제거 기능 API 개발
- blkid 명령어를 활용하여 Mount시 Volume 고정
- Mount시 EBS의 크기가 작은 순으로 할당되는 것을 막기 위해,
blkid 명령어로 EBS의 UUID를 얻어 Mount 시 EBS 연결을 UUID를 통해 할당
- Tmax Cloud Service를 활용한 구독 상태 관리
- 인스턴스 상태 예외 처리
- 인스턴스가 중지, 제거, 재개 중일 때 중복 작업 예외처리
운영 및 개발 효율성 개선
- 테스트 환경 최적화
- JDBC Connection Pool을 적용해 테스트 속도 개선