IT 회사에서 데이터가 흐른다는 것 #3 - 데이터 수집

2020.11.23 | 조회 3.86K |
0
|

그랩의 IT 뉴스레터

매주 월요일, 'IT 콘텐츠' 큐레이션 & 잘 읽히는 'IT 개발지식'을 제공합니다.

안녕하세요 구독자 여러분. 날씨가 점점 추워지는데 따뜻하게 입으시면서 감기 조심하세요 :)

 지난 시간에 데이터 파이프라인의 첫 번째 과정인 데이터 생성에 대해 알아봤습니다. IT 회사에서 다루는 데이터의 비중은 로그 데이터가 대부분을 차지한다고 말씀드렸습니다. 로그 데이터 중에서도 저는 클라이언트 로그에 초점을 맞춰서 다루고 있습니다. 실제로 클라이언트가 웹 서비스에 한 번 접속해서 나가기까지 적게는 10개, 많게는 100개 이상의 데이터를 생성하기 때문입니다.

 

데이터 수집

일반적으로 프론트엔드(웹, 앱)에서 생성된 유저 행동 데이터는 1. SAAS 분석 툴 2. 회사 데이터 수집 서버로 전송됩니다.

SAAS 분석 툴의 경우 자주 언급했던 Google Analytics, Amplitude 등의 서비스를 생각하시면 됩니다. 이들은 규격에 맞게 데이터를 전송하면 트래픽에 관계없이 안전하게 데이터를 저장해주는 동시에 분석 & 시각화를 해준다는 장점이 있습니다. 실제로 규모에 상관없이 거의 모든 IT 회사들은 SAAS 데이터 분석 제품을 사용하고 있어요.

하지만 여타 SAAS 제품과 동일하게 제공해주는 환경 밖에서는 커스터마이징이 불편합니다. 원하는 형태로 데이터를 가공하고 분석하기에 한계가 있죠. 이들이 관리하는 데이터들을 Export해서 다시 저장하고 가공하는 과정이 여간 귀찮은 게 아닙니다.
또한 Ad Block 같은 광고 차단 프로그램을 사용하게 되면 데이터 전송이 막힐 수 있습니다. 이들은 유저가 사용하는 서비스의 도메인이 아닌 서버의 네트워크 트래픽을 차단하곤 합니다. 그렇게 되면 데이터의 손실이 발생할 수 있겠죠?

그래서 규모가 있는 IT 회사에서는 자체적으로 데이터 인프라를 구축합니다. 외부 트래픽 차단 프로그램에서 자유로우며 데이터 손실을 최소화할 수 있게 됩니다. 그렇다고 SAAS 분석 제품을 안 쓰는 건 아니에요. IT 회사들은 거의 대부분은 규모에 따라 무료부터 유료까지 다양한 분석 제품을 혼용해서 사용하고 있습니다.

 

 

수 많은 유저들이 사용하는 서비스에서 발생하는 데이터들은 곧바로 데이터베이스(데이터 레이크 혹은 데이터 웨어하우스 등)에 저장되지 않습니다. 대신 수집 서버를 거치게 됩니다. 

수집 서버는 데이터가 흐르는 중간 매체(미들웨어)라고 생각하시면 되는데요. 이 수집 서버를 거쳐서 데이터베이스에 저장시키는 경우가 있고 아니면 데이터를 가공하는 서버로 전달하기도 합니다. 보통 데이터의 가공된 정도(비정형, 정형)에 따라 달라집니다.

수집 서버는 기본적으로 트래픽을 견딜 수 있도록 견고하게 설계되어야 합니다. 또한 다양한 목적지로 데이터를 전송해주기까지 잘 보관하고 있어야 합니다. 즉 대용량의 데이터를 실시간으로 처리하는 기능이 뛰어나야 하죠. 그래서 데이터 엔지니어가 가장 신경써야 하는 영역 중 하나입니다. 

[참고]
개발자가 대표적으로 많이 쓰는 수집 서버 솔루션으로 AWS의 Kinesis, Apache의 Kafka 등이 있습니다. 혹은 개발자들이 더 손쉽게 데이터를 관리할 수 있도록 도와주는 Segment 이벤트 콜렉터도 사용하곤 합니다(가격이 굉장히 후덜덜합니다...)

 

다음 시간에는 데이터를 가공하고 새롭게 적재하는 ETL 과정에 대해 알아보도록 하겠습니다! 감사합니다.

 

 

 

다가올 뉴스레터가 궁금하신가요?

지금 구독해서 새로운 레터를 받아보세요

✉️

이번 뉴스레터 어떠셨나요?

그랩의 IT 뉴스레터 님에게 ☕️ 커피와 ✉️ 쪽지를 보내보세요!

댓글

의견을 남겨주세요

확인
의견이 있으신가요? 제일 먼저 댓글을 달아보세요 !

© 2024 그랩의 IT 뉴스레터

매주 월요일, 'IT 콘텐츠' 큐레이션 & 잘 읽히는 'IT 개발지식'을 제공합니다.

자주 묻는 질문 오류 및 기능 관련 제보

서비스 이용 문의admin@team.maily.so

메일리 (대표자: 이한결) | 사업자번호: 717-47-00705 | 서울 서초구 강남대로53길 8, 8층 11-7호

이용약관 | 개인정보처리방침 | 정기결제 이용약관 | 070-8027-2840