해결된 질문
작성
·
479
1
카일님 안녕하세요! 🙂
최근 시간이 날 때마다 강의를 들으며 질문이 많아졌네요ㅠㅠ 번거롭게 해드리지만 항상 답변해주시면 큰 도움이 되고 있습니다 😄
데이터 시각화 도구와 PA 도구와의 차이점에 대해 유저 로그 데이터는 PA 도구를, 데이터베이스 데이터는 데이터 시각화 도구를 사용한다고 이해했습니다.
제가 궁금한 점은 데이터 종류에 따라 다른 시각화 도구를 사용하게 되는 것일까요? 즉, 데이터 로그 설계시 수집하기로한 데이터의 소스가 클라이언트면 주로 PA 도구로 분석, 데이터의 소스가 서버면 주로 BI 도구로 분석하게 되는 것일까요?
앞서 데이터 로그 설계시 데이터의 Source는 클라이언트와 서버 두 가지 중 데이터 특성이나 데이터 정합성 등에 따라 결정된다고 학습했던 내용으로 인해 헷갈리게 되었습니다 😭
답변 2
1
ailo님 안녕하세요! 적극적으로 질문해주시는 것은 매우 좋답니다. 번거롭지 않으니 편하게 질문해주셔도 괜찮아요
우선 PA 도구와 데이터 시각화 도구의 역할을 한번 정리해볼게요
PA 도구(Product Analytics) : 제품에서 유저의 이벤트 분석을 위해 만든 도구로 대표적으로 Google Analytics, Firebase, Amplitude, Mixpanel로 들 수 있습니다. GA와 Firebase가 PA 도구냐는 정의는 사람마다 다를 수 있긴한데, 저는 큰 범위에서 모두 PA 도구라고 보고 있습니다. PA 도구는 직접 로깅을 진행합니다. 클라이언트/모바일 사이드에서 데이터 로깅을 진행한 후에, 그 데이터가 어딘가에 저장이 되고(GA/Firebase는 구글의 서버에 저장된 후에 별도 설정을 하면 Google BigQuery에 저장. Amplitude, Mixpanel은 각 회사들의 데이터베이스에 저장) 그 데이터를 가지고 유저의 행동 데이터 시각화를 합니다. 여기서 일반적인 시각화(그래프 등)를 지원하고 클릭 몇번으로 데이터를 파악할 수 있지요.
데이터 시각화 도구(여기선 더 구체적으로 BI 도구로 정의) : 데이터베이스에 연동해서 데이터를 시각화해주는 도구입니다. 대표적으로 Tableau, Superset, Metabase, Redash 등 다양한 도구와 오픈소스가 있습니다. 이 도구들은 데이터베이스와 바로 연결해서 그 데이터를 시각화를 해줍니다. 별도의 로깅이 있는 것은 아니고 데이터베이스의 데이터를 더 쉽게 표현해줄 뿐이지요.
정의는 이정도하고, 회사에서 어떤 방식으로 저장하냐에 따라 다를 수 있습니다.
PA 도구들이 데이터를 외부로 추출(=데이터 웨어하우스)하는 기능이 보통 다 존재합니다. 이렇게 되면 GA, Firebase, Amplitude 등의 데이터를 데이터 웨어하우스라고 하는 데이터 창고로 보낼 수 있습니다. 데이터 웨어하우스는 분석에 최적화된 데이터베이스라고 이해해주셔도 좋습니다. 이렇게 할 경우엔 PA 도구에서 로깅한 데이터도 BI 도구에서 시각화를 할 수 있습니다. 다만 PA 도구에서 데이터를 추출하고 BI 도구에서 바로 보긴 어려울 가능성이 큽니다. 이 이유는 데이터가 저장되는 형태 때문인데, PA 도구에선 이벤트가 있고 이벤트의 파라미터가 존재합니다. 이 데이터 형태는 관계형 데이터베이스처럼 테이블의 형태가 아니고 특정 Key에 특정 Value를 저장한 형태입니다. 그래서 PA 도구에서 추출한 데이터를 재가공해서 BI 도구에서 시각화하기 쉬운 형태로 변환해야 시각화를 할 수 있을거에요.
서버 로그도 데이터를 어디에 저장하냐에 따라서 BI 도구에서 시각화할 수 있습니다.
결국 <유저 로그 데이터> => PA, <데이터베이스 데이터> => 데이터 시각화 도구 이 개념이 아니고, 데이터베이스(관계형 데이터베이스)의 데이터를 쉽게 시각화 할 수 있는 도구가 BI 도구고, PA 도구는 단순히 시각화가 아닌 목적에 맞는 데이터를 저장하고, 시각화까지 표현해준다고 보시면 됩니다.
PA 도구에선 데이터베이스에 있는 데이터를 접근할 수 없기에(우리 서비스의 데이터베이스에 접근 권한을 열어주기엔 보안적 이슈 때문에 열기 어렵고, PA 도구에서도 지원하지 않습니다) 자체 로깅한 데이터 기준으로 데이터를 기록하지요. 물론 로깅할 때 클라이언트에서 서버의 데이터를 받아와서 PA 도구에 기록할 수는 있지만 계속 갱신해줘야 최신화된 값을 볼 수 있을거에요.
저는 PA 도구를 사용하더라도 SQL 쿼리로 데이터를 처리하는게 더 자유도가 높아서 PA 도구로 로깅을 하고, PM분들은 PA 도구로 간단한 데이터를 보고 데이터팀에선 SQL이나 파이썬 등으로 데이터를 처리해서 BI 도구에서 보곤 합니다. PA 도구(Amplitude, Mixpanel)가 비싸서 언젠가는 사라질 수도 있다는 생각이 들어 이런 접근을 하기도 하네요
정리하면
데이터가 저장되는 형태에 따라 다름
PA 도구 : 로깅한 데이터를 분석할 때 활용
BI 도구 : 관계형 데이터를 시각화할 때 사용
이 때 데이터가 데이터베이스, 데이터 웨어하우스에 저장되면 대부분 활용이 가능
(물론 관계형 데이터가 아닌 것을 시각화하는 도구도 있지만 이거까지 아시면 너무 복잡해지니 일단 이렇게 알고 계셔도 충분할 것 같아요)
회사의 상황에 따라 PA 도구, BI 도구 도입 정도가 다를 것
데이터 추출이 가능한 케이스
PA 도구 => 데이터 웨어하우스
데이터 웨어하우스 => PA 도구는 가능은 하지만 시도하는 회사는 적을 것(Reverse ETL이라고 부르긴 하는데 들어본 분이 많진 않을거에요)
역사적 맥락에서 BI 도구가 먼저 나오고 PA 도구가 나왔다는 점을 인지하시면 이해를 더 쉽게 하실 수 있지 않을까 싶어요. 단순하게 시각화하는 BI 도구가 나오고, 한계가 생겨서 PA 도구가 나와서 우리가 분석하고 있고 PA 도구가 가격이 나가기에 PA 도구만 쓰기 애매할 수 있어서 보조적으로 BI 도구를 쓸 수도 있다! 정도면 이해가 되시지 않을까 싶어요
데이터 로그 설계시 데이터의 소스 부분이랑 연결하지 않고 생각하시는게 오히려 더 이해가 편하지 않을까 싶어요. 이 부분이 이해가 덜 되신다면 추후에 코칭 신청하셔서 회사의 상황을 같이 이야기하면 더 이해가 되도록 말씀드릴 수 있을 것 같네요. 제 답변에서 이해가 안되시는 것이 있으면 말씀해주시구요!
0