앞선 이야기
위의 글에서는 해당 발표자료의 목표가 있는 로그, 일관성 있는 로그, 믿을 수 있는 로그를 신경써
무엇을 목표로 하는가, 어떤 질문을 할 것인가, 어떤 이벤트와 항목을 만들까? 에 관한 질문과 답을 진행했습니다.
들어가며
이번에는 앞선 글에서 만들었던 이벤트와 항목을 좀 더 디벨롭해 더 나은 서비스 로그를 만들기를 목표로 하려고 합니다.
좋은 로그가 가진 특성은 무엇일까?
발표에서는 대규모 데이터를 집계하기 위해서
문맥식별자와 고유식별자 2개를 꼭 넣는 것을 추천한다고 합니다.
그렇다면 제가 앞선 글에서 만든 이벤트에 이 2개를 어떻게 적용할 수 있을까요?
배달서비스를 제공하는 카페라 가정할 경우, Walk-in 고객과 배달을 위해 배달원이 입장한 Delivery
두 가지 유형으로 나누어 볼 수 있습니다.
각각의 유형이 카페에 들어온 맥락은 전혀 다릅니다.
Walk-in고객은 음료를 직접 마시기 위해 들어온 고객이고, Delievery 고객은 업무를 수행하기 위한 목적으로 카페에 들어온 것이기 때문입니다.
문맥식별자 추가하기
Entrance
time | 고유입장ID | 고객ID | 나이 | 성별 | 입장타입 |
따라서 이러한 맥락을 고려한 항목이 데이터에 추가되었으면 좋겠습니다.
기존 이벤트에는 각각 고유입장ID, 고유퇴장ID가 있기 때문에, 이를 통해 문맥식별자와 고유식별자 2개를 모두 포함한 이벤트가 되었습니다.
Entrance 이벤트에 입장타입이라는 항목을 추가 했으니, 이벤트의 일관성을 위해
Out 이벤트에도 동일한 항목을 추가해주는 것이 적절해보입니다.
Out
time | 고유퇴장ID | 고객ID | 나이 | 성별 | 입장타입 |
Order 와 Pick Up 이벤트에도 문맥식별자를 추가해보려고 합니다.
매장을 방문하는 고객은 어떤 방식으로 주문을 할까요?
가장 일반적인 매장 내 직접주문, 앞서 언급했던 배달주문, 일부 프랜차이즈 매장에서 운영중인 앱을 이용해 주문, 이후 매장 픽업(스타벅스의 사이렌 오더) 주문 3가지 방식을 생각해 볼 수 있을 것입니다.
그렇다면 Order와 Pickup 이벤트에 주문방식이라는 항목을 추가해 주문방식을 구분해주는 값을 넣어주는 것이 좋아보입니다.
Order
time | 고유주문ID | 고객ID | 주문가격 | 주문수량 | 주문방식 |
Pickup
time | 고유주문ID | 고객ID | 주문가격 | 주문수량 | 주문방식 |
주문방식별 데이터를 집계해 차이를 찾아보고, 특징을 나누어 볼 수 있을 것이라 기대됩니다.
각 이벤트마다 맥락식별자를 추가해 데이터를 집계함으로써, 비즈니스적 인사이트를 발견하는 데에
더 나은 도움이 될 것이라 생각합니다.
좋은 서비스 로그를 남기기 위해 무엇을 해야할까?
처음부터 완벽한 이벤트와 항목을 만드는 것은 어렵습니다.
그렇기 때문에 발표자료에서는 좋은 로그를 위해 고려해야할 것으로 12가지를 제안하지만,
할 수 있는 것부터 시작하는 것을 강조합니다.
제가 예시를 든 이벤트, 항목의 구성방식도 취향을 타는 영역이 있어, 이것이 답은 아니라는 말씀을 드리고 싶습니다.
'log' 카테고리의 다른 글
서비스 로그 남기기 #1 (0) | 2021.08.14 |
---|