Over-fetching vs Under-fetching

    Over-fetching vs Under-fetching 알아보기

    1. Over fetching

    Over-fetching은 클라이언트가 필요로 하지 않는 정보를 서버에서 받아오는 것을 의미합니다. 예를 들어, 클라이언트가 사용자 이름만 필요한데, 서버에서는 사용자 정보의 모든 필드를 반환하는 경우입니다. 이 경우, 클라이언트는 필요하지 않은 데이터를 받아와서 불필요한 데이터 전송량이 증가하게 되고, 서버 부하가 증가합니다.

    2. Under fetching

    Under-fetching은 클라이언트가 필요로 하는 정보를 얻기 위해 여러 번의 요청을 보내야 하는 것을 의미합니다. 예를 들어, 사용자 정보를 조회하는 API가 있다고 가정해봅시다. 이 API에서는 사용자 정보와 함께 해당 사용자의 게시글 목록도 반환합니다. 하지만, 클라이언트가 필요한 것은 사용자 정보뿐이고, 게시글 목록은 필요하지 않은 경우입니다. 이 경우, 클라이언트는 사용자 정보를 얻기 위해 여러 번의 요청을 보내야 하므로 성능 저하가 발생합니다.

    3. Over fetching과 Under fetching 해결방법

    • Over-fetching: 필요한 필드만 선택하여 반환하도록 API를 설계합니다. 이를 위해 GraphQL이나 RESTful API의 필드 선택 기능 등을 사용할 수 있습니다.
    • Under-fetching: 클라이언트가 필요로 하는 데이터를 한 번에 모두 반환할 수 있도록 API를 설계합니다. 이를 위해 예를 들어, 사용자 정보와 게시글 목록 정보를 한 번에 반환하는 API를 만들 수 있습니다.

    따라서, Over-fetching과 Under-fetching은 RESTful API 디자인에서 발생하는 성능 문제이며, 이를 해결하기 위해서는 필요한 필드만 선택하여 반환하거나, 한 번에 모든 필드를 반환하도록 API를 설계해야 합니다.

    댓글

    Designed by JB FACTORY