분류 전체보기(81)
-
kotlin 프로젝트에서 openapi code generator 사용하기
서론 현재 참여하고 있는 프로젝트는 쿠버네티스 환경으로, 여러 컴포넌트로 구성된 마이크로서비스 아키텍처입니다. 각 컴포넌트는 서로 다른 네트워크 주소와 포트에서 실행됩니다. 따라서 각 컴포넌트의 API를 호출하려면 다음과 같은 어려움을 겪었습니다. 하지만 분산된 시스템에서 서로 다른 서비스의 API를 호출하는 것은 복잡합니다. 네트워크 주소 관리, 로드 밸런싱, 오류 처리 등 고려해야 할 사항이 많기 때문입니다. 이러한 과정을 자동화하고 개발 효율성을 높이기 위해서 Open Api CodeGenerator를 도입하는 것을 고려했습니다. Open Api Code Generator는 OpenAPI Spec을 기반으로 프로젝트 코드를 생성해주는 오픈소스 툴입니다. 기본적으로 각 컴포넌트 API를 OpenAPI..
2024.03.24 -
[querydsl] mysql filesort관련 group by 성능 최적화
mysql 환경에서 querydsl 를 도입하면서 성능 저하 문제를 피하기 위해 고민하고 있습니다. 데이터 조회 시 사용하는 group by 쿼리에서 불필요한 filesort 로 성능저하가 발생할 수 있습니다. filesort는 MySQL 서버가 메모리 버퍼에 담을 수 없는 방대한 데이터를 정렬하기 위해 임시 파일을 사용하는 방식입니다. 이는 불필요한 디스크 I/O 작업을 증가시켜 쿼리 실행 속도를 크게 저하시킵니다. 이번 포스트에서는 querydsl group by 쿼리에서 발생하는 filesort 문제를 분석하고, order_by_null 옵션을 활용하여 Filesort를 효과적으로 방지하는 방법을 소개합니다. MySQL 정렬 방식 MySQL은 데이터 정렬을 위해 다음 두 가지 방식을 사용합니다. 인..
2024.03.17