모르지 않다는 것은 아는것과 다르다.

MongoDB 2

MongoDB Aggregation를 활용해서 QueryDSL-JPA 대체하기 #2

개요 1,2 편에서는 MongoDB Aggregation에 대해서 알아보고, Spring Data MongoDB가 제공해 주는 기능도 알아보았다. 나는 실무에서 실제로 QueryDsl-JPA로 구현된 로직을 Spring Data MongoDB로 변환하는 표준을 만들었다. 나의 목표는 MongoDB Aggregation 쿼리 문법를 알지 못하는 개발자도 QueryDsl로 짜인 모든 로직을 손쉽게 MongoDB Aggregation으로 바꿀 수 있는 방법을 제시하는 것이었다. 하지만, 2편에서 소개했듯이 MongoDB Aggregation으로 코드를 짜면, 코드가 너무 길어지고, 복잡했다. 나는 위의 문제를 해결하기 위해서 AggregationBuiler 클래스를 구현했고, 모든 QueryDsl 로직을 Mo..

MongoDB 2023.02.10

MongoDB Aggregation를 활용해서 QueryDSL-JPA 대체하기 #1

개요 사내에 우리가 만든 프레임워크에 대한 관심이 높아지면서, 몇몇 팀으로부터 프레임워크 적용 요청이 증가하고 있다. 소규모 솔루션의 경우에 RDBMS를 사용하지 않고 MongoDB만을 사용하는 팀들에서도 적용 가능한지에 대한 기술검토를 요구해 왔다. (작은 규모의 솔루션이라 RDB까지 구축하기 힘든 경우가 있다고 한다.) 그래서 기존 RDB로 짜인 로직을 어떻게 하면 MongoDB로 전환할 수 있을지를 고민하던 중 MongoDB Aggregation이라는 것을 알게 되었고, 이를 Spring Data MongoDB를 사용해서 구현할 수 있다는 사실도 알게 되었다. 결론적으로는 성공적으로 전환할 수 있었고, 그 과정을 정리해 보려고 한다. MongoDB는 도큐먼트 기반의 NoSQL인데 RDBMS의 쿼리를..

MongoDB 2023.02.10