기술 - 웹/웹

로그인 유저 정보, 어디까지 저장해야 할까? ('id만' vs '유저 정보까지')

졸린개발자 2025. 10. 26. 23:42

안녕하세요, 졸린개발자입니다.

 

바로 떠나봅시다.

 

유저 로그인 정보에는 어떤 정보를 넣을 수 있을까?

유저가 로그인을 하면

그 이후 요청부터는, 자신이 로그인한 유저의 요청임을 알리기위해

특별한 값을 넣어서 서버에 요청하게 되죠

 

서버는 이후 요청에 따라 어떤 유저에게서부터 오는지를 인지하게 됩니다.

jwt나 쿠키/세션 등등의 방법으로, 로그인 유저를 파악할 수 있는데요

 

그러면 유저 로그인 정보를 어떻게 구성할 수 있을까요?

크게 두가지 방식으로 구성해 볼 수 있습니다.

 

1. 아이디만 저장하고, 요청마다 아이디로 유저 정보를 db에서 조회

2. 유저 정보를 로그인 정보에 저장하고, 요청에서는 로그인 정보로부터 유저 정보를 가져옴

 

각각의 장/단점을 알아봅시다.

 

1. 아이디만 저장하고, 요청마다 아이디로 유저 정보를 db에서 조회

장점은 요청마다 유저 정보를 가져오기 때문에

항상 유저의 최신의 데이터를 가져오기가 수월합니다.

 

단점도 요청마다 유저 정보를 가져온다는 겁니다

트래픽이 높으면 이 조회 트래픽도 무시할 수 없겠죠

 

2. 유저 정보를 로그인 정보에 저장하고, 요청에서는 로그인 정보로부터 유저 정보를 가져옴

장점은 db 조회를 하지 않아도 됩니다.

트래픽이 높은 상황에서는 상당한 장점이 되겠죠

 

단점은 유저 정보가 db상에서 변경되었을때

이 정보도 같이 업데이트 해주는 등의, 추가적인 처리가 필요합니다.

 

어떤 방법을 골라야할까?

진리의 케바케입니다.

하지만 위의 장/단점을 기반으로, 원칙을 세울 수 있겠죠.

 

대부분의 초반 상황에서는 1번으로 시작하는것을 추천드립니다.

여러분이 로그인을 처음 만드는것이면, 보통 새로운 서비스일 경우가 대부분일 겁니다.

 

그러면 초반부터 트래픽이 엄청 높지는 않겠죠

(대부분이라는 표현을 쓴 건, 대기업에서 출시하는등의 트래픽이 엄청 많을 것으로 예상되는 서비스는 예외입니다.)

 

만약 2번으로 하게되면, 유저 정보가 db상에서 변경될 경우에

추가적인 처리가 필요합니다.

 

유저 이름부터 시작해서, 권한까지 다양한 정보가 바뀔 수 있을텐데

그 정보가 바뀔때마다 추가적인 처리가 필요합니다.

(물론 로그인 정보에 유저 정보의 일부만 넣을 수도 있겠지만, 그래도 유저 정보가 변경될때마다 로그인 정보가 문제없는지 까지를 체크해줘야한다는 사실은 다름이 없죠)

 

여러분은, 추가적인 처리가 필요하다고 알고 있어서 문제가 없겠지만

신입사원 혹은 다른 팀에서 유저 정보를 변경할때, 로그인 정보도 같이 변경해줘야한다는 사실을 알고

과연 문제가 없게 처리를 할 수 있다고 확신할 수 있으신가요?

 

물론 문제가 없게 처리를 할 수도 있겠죠

하지만 그 과정에서 추가적인 공수가 들게 될겁니다.

 

1번을 선택한다면, db로부터 항상 최신의 데이터를 가져온다는것이 보장되니

코드적으로 더이상 생각할 여지가 없겠죠.

아주 단순합니다.

 

따라서 2번을 선택한다면

그 이유가 명확해야합니다.

 

요청마다 db로부터 가져오는 트래픽이 부담되는 수준이 되서라던지요.

케바케로 여러분만의 다양한 이유가 있을 수 있습니다.

 

정리

오늘은 로그인한 유저 정보에 어떤 데이터를 넣어야할지에 대해 알아보았습니다.

 

결론은 진리의 케바케입니다.

 

요청마다 최신 유저정보를 가져오기 위한 트래픽이 부담스럽지 않은 케이스라면

아이디를 저장하고, 요청마다 db에서 가져오는것으로 시작하는 것을 추천드립니다.

 

오늘도 재밌으셨나요?

긴 글 읽어주셔서 감사합니다.

 

 

섬네일 사진: Unsplash 의 Wolfgang Hasselmann