더북(TheBook)

데이터 쿼리 패턴

서비스마다 DB를 두면 각 서비스가 소유한 데이터를 조인하는 쿼리도 문제입니다. 서비스 데이터는 오직 그 서비스의 API를 통해서만 접근할 수 있기 때문에 DB에 분산 쿼리를 사용할 수가 없습니다. 그래서 이런 쿼리는 그림 1-14에 표시된 두 가지 패턴을 응용해서 구현합니다.

▲ 그림 1-14 서비스마다 자체 DB를 갖고 있으므로 두 가지 쿼리 패턴 중 하나를 사용하여 여러 서비스에 흩어진 데이터를 조회한다

API 조합 패턴(composition pattern)은 하나 이상의 서비스를 호출해서 그 결과를 조합하고, CQRS(Command Query Responsibility Segregation, 커맨드 쿼리 책임 분리)는 하나 이상의 데이터 레플리카(replica, 사본/복제본)를 유지해서 쉽게 쿼리하는 방식입니다. 두 가지 패턴 모두 자세한 내용은 7장에서 이어집니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.