카테고리 없음

패스트캠퍼스 환급챌린지 54일차 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 후기

Laftel 2025. 4. 27. 21:48
반응형

***본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다

TypeORM Query Builder 학습 후 느낀 점과 인사이트

TypeORM의 Query Builder를 학습하면서, ORM의 편리함을 넘어 데이터베이스 쿼리를 직접 제어하고 최적화할 수 있는 강력한 도구를 익히게 되었다는 깊은 인상을 받았습니다. 단순히 제공되는 메서드를 사용하는 것을 넘어, SQL에 대한 이해를 바탕으로 복잡한 데이터 조회 및 조작 로직을 유연하게 구현할 수 있다는 점이 가장 큰 매력으로 다가왔습니다.
첫째, ORM의 추상화 너머 데이터베이스 동작 방식에 대한 이해의 중요성을 절실히 느꼈습니다. TypeORM의 find 메서드와 같은 기본적인 API는 개발 생산성을 크게 향상시키지만, 복잡한 조건이나 조인이 필요한 경우에는 Query Builder를 통해 생성되는 SQL 쿼리를 이해하고 최적화하는 것이 중요합니다. 마치 고급 프로그래밍 언어를 사용하는 개발자가 때로는 어셈블리 언어 수준의 최적화가 필요한 경우처럼, ORM을 효과적으로 활용하기 위해서는 그 이면에 있는 데이터베이스의 동작 원리를 이해하는 것이 필수적입니다.
둘째, Query Builder를 통해 얻는 유연성과 제어력의 강력함을 경험했습니다. 다양한 select, where, leftJoinAndSelect, orderBy, groupBy 등의 메서드를 조합하여 원하는 형태의 SQL 쿼리를 직접 구축할 수 있다는 점은 ORM의 제약을 벗어나 더욱 세밀한 데이터 접근이 가능하게 해줍니다. 특히, 복잡한 조인 조건이나 서브 쿼리와 같은 고급 SQL 기능을 JavaScript/TypeScript 코드로 직관적으로 표현할 수 있다는 점이 인상 깊었습니다. 마치 레고 블록을 조립하여 원하는 형태를 자유롭게 만들 수 있는 것처럼, Query Builder는 개발자에게 데이터베이스 쿼리 구성에 대한 강력한 자유도를 제공합니다.
셋째, 성능 최적화를 위한 Query Builder의 잠재력을 확인했습니다. ORM이 자동으로 생성하는 쿼리가 항상 최적인 것은 아닙니다. Query Builder를 사용하면 불필요한 컬럼이나 조인을 제거하고, 특정 데이터베이스에 최적화된 쿼리를 직접 작성하여 애플리케이션의 성능을 크게 향상시킬 수 있습니다. 특히, 대규모 데이터 처리나 복잡한 보고서 생성과 같이 성능이 중요한 작업에서 Query Builder의 역할은 더욱 두드러질 것이라고 생각합니다. 마치 숙련된 요리사가 최고의 재료를 사용하여 가장 효율적인 조리법으로 최상의 맛을 내는 것처럼, Query Builder는 개발자가 데이터베이스 성능을 극대화할 수 있도록 돕는 도구입니다.
넷째, Raw SQL 쿼리와의 균형 있는 활용의 중요성을 인지했습니다. Query Builder는 대부분의 SQL 쿼리를 JavaScript/TypeScript 코드로 추상화하여 제공하지만, 때로는 특정 데이터베이스의 고유 기능이나 매우 복잡한 쿼리의 경우에는 Raw SQL 쿼리를 직접 작성해야 할 수도 있습니다. Query Builder와 Raw SQL 쿼리를 적절히 혼용하여 개발 유연성과 성능 최적화라는 두 마리 토끼를 모두 잡는 것이 숙련된 개발자의 역량이라고 생각합니다. 마치 다양한 종류의 악기를 다룰 수 있는 연주자처럼, 상황에 따라 가장 적합한 방법을 선택하여 최고의 성능을 이끌어낼 수 있어야 합니다.
다섯째, TypeORM의 Query Builder 학습은 SQL에 대한 이해도를 높이는 좋은 기회가 된다는 것을 깨달았습니다. Query Builder를 사용하면서 어떤 메서드가 어떤 SQL 구문으로 변환되는지를 확인하는 과정은 자연스럽게 SQL에 대한 이해를 깊게 만들어줍니다. 이는 ORM 사용 능력을 향상시키는 것은 물론, 데이터베이스 관리 및 튜닝과 같은 다른 영역으로의 성장에도 긍정적인 영향을 미칠 것이라고 생각합니다. 마치 외국어를 배우면서 그 언어의 문법 규칙을 이해하는 것처럼, Query Builder를 학습하는 과정은 데이터베이스 쿼리의 기본 원리를 이해하는 데 큰 도움이 됩니다.
마지막으로, Query Builder는 단순한 데이터 접근 도구를 넘어, 데이터 중심의 사고방식을 길러주는 중요한 도구라는 인사이트를 얻었습니다. 원하는 데이터를 효율적으로 조회하고 조작하기 위해 쿼리를 직접 설계하는 과정은 데이터의 구조와 관계를 더욱 깊이 생각하게 만들고, 애플리케이션의 요구사항을 데이터베이스 관점에서 이해하는 능력을 향상시켜줍니다. 마치 건축가가 건물의 용도와 구조를 고려하여 설계도를 그리는 것처럼, Query Builder를 사용하는 개발자는 데이터의 특성과 관계를 고려하여 최적의 데이터 접근 방식을 설계해야 합니다.
이번 TypeORM Query Builder 학습을 통해 ORM의 편리함에 안주하지 않고 데이터베이스를 더욱 깊이 이해하고 효과적으로 활용할 수 있는 능력을 키울 수 있었습니다. 앞으로 다양한 데이터베이스 연동 시나리오에서 Query Builder를 적극적으로 활용하여 더욱 효율적이고 성능이 뛰어난 애플리케이션을 개발하는 데 기여한다


 
#패스트캠퍼스 #직장인자기계발 #직장인공부 #환급챌린지 #패스트캠퍼스후기 #오공완
https://bit.ly/4hTSJNB  

반응형