1. 배경 지식

2022년까지는 지표, ad-hoc 데이터 추출, 리포트 등에서 각자의 목적에 맞게 정의한 user를 rds에서 추출하였다(이때는 Data Platform이 구축되지 않았다). 그러다보니 데이터를 추출할 때마다 요청자가 명확하게 정의하지 않으면 이전에 뽑은 데이터와 새로 뽑은 데이터의 수치가 달라지는 문제가 발생했다.

2023년에는 Data 팀에서 과거 경험을 바탕으로 user를 정의하고 구축한 Data Platform을 활용하여 user 한방 쿼리를 만들자는 의견이 나왔다. 그러나 쿼리가 너무 길어지면 리뷰하기 힘들다는 이유와 정의가 불명확하다는 의견이 나와서 보류되었다. 그래서 Data 팀에서 정의한 user를 Data Lake, Data Warehouse에서 추출하였다. 그러다보니 마지막 layer 쿼리(ad-hoc 쿼리, 지표, 리포트 등)에서 사용하는 쿼리들이 매우 길어졌다. 또한 사소한 버그 데이터들을 마지막 layer 쿼리에서 보정해주기위해 사람이 모든 케이스를 기억하는 것은 무리였다.

2024년에는 과거 경험을 바탕으로 user의 상태를 적재하는 user_master 테이블을 모델링하게 되었다. 이를 통해 과거 발생한 여러 문제들이 해결될 것이라 기대했다.

2. 요구사항

AS-IS

Untitled

TO-BE

Untitled

3. 해결 과정

A. user_master는 어떻게 설계해야 할까?