데브콘 리뷰 보기

[Review] 2024-03-23 K-DEVCON Deajeon : 삼월엔 데이터! (1)

DonerE 2024. 3. 31. 22:17

 

                                                                                                             작성자 : 최정인 (K-DEVCON DAEJEON 매니저)

 

 

안녕하세요~  K-DEVCON(k-devcon.com) 입니다. 😊

따뜻한 계절이 시작되는 3월입니다. 봄기운과 함께, 새로운 계획을 세우고 실천해보는 좋은 기회가 될 것 같은데요. 모두에게 활력과 행운이 넘치는 3월 되시길 기원하며  DEVCON 대전 밋업 리뷰를 시작하겠습니다.

 

 

[행사 주제 및 스케줄]

 

지난 3월 23일(토) 13시 ~ 17시 대전 SV GROUND 에서 진행한  <데브콘 대전 : 삼월엔 데이터!> 행사가 무사히 끝났습니다! 이번 행사의 주제는 데이터였고, 총 두 개의 세션이 진행되었습니다.

 

 

 

첫번째 세션에서는 다양한 출처에서 발생하는 로그를 버리지 않고 모아서 정돈하고 시각화하여 인사이트를 얻었던 경험에 대하여 공유하는 시간을 가졌고, 두번째 세션에서 대량의 트래픽에서도 견고하고 가용성 높은 데이터베이스를 구축할 수 있는 방법에 대해 알아보았습니다. 그리고 마지막에는 패널토크를 진행하여 참석자분들과 고민을 함께 나누는 시간을 가졌습니다.

 

 

[행사 장소]

SV GROUND

 

 

 

 

이번 행사 또한 대전테크노파크 디스테이션의 10층에 위치한  SV GROUND에서 진행되었습니다! (이제는 정말로 SV GROUND의 홍보대사로 활약중이라 말할 수 있을것 같습니다.)

이번 행사는 노트북을 가져오신 분들도 편하게 이용할 수 있도록 회의실 테이블을 가져와 꺽쇠 형태로 세팅하였는데요! 음..어쩐지 대학교에서 교수님 수업을 듣는 학생들의 모습이 겹치는 것 같은건 저의 착각이겠죠..!🤔

 

 

 

행사 시작

 

이번 행사의 프롤로그 역시 K-DEVCON 대전의 오거나이저이신 박종훈님께서 진행해주셨습니다.

처음오시는 분들을 위해 K-DEVCON의 소개와 연혁, 활동 등을 먼저 소개하였고, 또한 티켓팅시 수집된 정보를 바탕으로  행사에 참여하신 분들의 연차나 직군, 나이 등을 그래프화하여 어떤 분들이 많이 참석하였는지 다같이 확인하는 시간을 가졌습니다. 

 

 

 

앗 그리고 K-DEVCON 대전에서 새로운 스터디를 진행하게 되었는데, 잠깐 안내드리겠습니다~!

 

돌아오는 4월 6일부터 자바 스터디를 시작합니다.
자바를 기초부터 익히고 싶으셨던 분이 있다면 이번에 합류하시면 같이 자바 기초부터 심화(spring, jpa, 최적화 등)까지 같이 공부하여 많은 것들 얻어갈 수 있는 기회입니다 🚀
첫 시작은 누구나 참여할 수 있도록 <자바의 정석>으로 진행할 예정입니다.

정기 스터디 소개 및 신청
https://forms.gle/ubSK3XWJqnSD1mjYA
스터디에는 미리 공부하고 오셔야 많은 것들 얻어가실 수 있습니다.

많은 관심 부탁드립니다.

 

자바 스터디! 많은 관심 부탁드려요 :>

 

 

 

 

 

 

첫번째 세션 : 스타트업에서 데이터를 허투로 버리지 않고 소중히 모시는 방법  

 

 

행사 프롤로그를 마치고, 본격적으로 행사가 시작되었습니다!

첫번째 세션은 클라우드메이트 서비스개발팀의 리드이며, IT 여성기업인협회 SW캠프 멘토이신 김정우님께서 진행해주셨습니다. 김정우님은 물류 및 유통, 여행, 클라우드 등 도메인에 대한 경험이 풍부할 뿐만 아니라, 웹 백엔드 및 서버, 클라이언트 등 개발 분야도 다양하신 18년차 시니어 SW 엔지니어입니다 .😊 

 

 

 

 

이번 행사에서는 평소보다 학생분들이 많이 참석해주셨는데요! 

그런 사정을 고려하신 김정우님은  IT 회사가 어떤 일을 하는지, 어떤 기술을 사용하는지, 그리고 데이터를 활용하는 방법 및 관련된 기술에 대해 가볍게(?)  이야기해주셨습니다. 

 

 

 

(분명 "기술적인 내용은 크게 없으니 가볍게 들어주세요"라고 말씀하셨습니다.🤔)

 

 

세션의 주제는 세가지였습니다.


1. 데이터의 중요성
2. 데이터 엔지니어링 기술
3. 로깅 시스템 구축 이야기

 

 

정우님은 회사에서 우선시되는 목표 중 하나로 "해당 애플리케이션이 서비스를 잘 만족하는지"를 언급하시며, 이 목표를 위해 데이터가 무척 중요하다고 강조하셨습니다. 

 

 

 

 

[ 1. 데이터의 중요성]

요즘은 데이터가 돈이 되는 세상이라고들 하는데요. 정우님께서는 어떤 데이터든 비지니스 가치가 생기는 순간 돈이 되기 때문에 데이터는 매우 중요하다고 하셨습니다.

 

그런데 정우님께서 말하신 데이터 중에는 '그런 데이터까지 확인한다고?'라며 놀란 것도 있었습니다.

예를 들어, 여행 티켓팅 플랫폼의 경우 어떤 나라에서 유저가 창을 많이 닫았는지, 결제창에서 닫은건지 혹은 신용카드 결제 중에 닫은건지, 여행 소개하는 화면창에서 닫은 유저의 수는 얼마나 되는지 등에 대한 데이터까지 수집한다고합니다.

 

이렇게 유저가 어디에서 가장 많이 창을 닫았는지를 확인하면 사용자가 어떤 화면에서 불편해하는지 예측할 수 있고, 이에 대한 개선도 빠르게 진행할 수 있는 장점이 있습니다.

 

 

 

 

사실 웹 브라우저에서도 이러한 데이터 수집이 아주 활발하게 이루어지고 있는데요! 

사용자의 선호도나 관심영역을 라벨링해서, 특정 이미지에 대해 화면에 표출한다고 합니다. 

 

 

 

 

[ 2. 데이터 엔지니어링 기술 ]

 

다음으로 정우님은 데이터와 관련된 기술과, 그 기술의 구성에 대하여 소개해주셨습니다!

 

클라우드 데이터 플랫폼은 일반적으로 다음과 같은 과정으로 데이터를 처리 및 활용한다고 합니다. 
1) 데이터 수집, 2) 데이터 전처리, 3) 데이터 가공, 4) 데이터 분석, 5) 시각화

 

그 중에도 데이터 엔지니어링과 관련된 것은 데이터 수집 및 전처리(변환), 가공인것 같습니다.

 

 

 

 

 

OLTP  vs  OLAP

 

다음으로 정우님은 온라인 상에서 데이터를 처리하는 시스템에 대하여 말씀해주셨는데요.  OLTP과 OLAP 두 가지 유형이 존재한다고 합니다.

 

OLTP( 온라인 트랜잭션 처리)는 여러 사람이 다수의 트랜잭션을 실시간으로 실행할 수 있게 해주는 작업을 포함하고 있습니다. OLTP는 작은 트랜잭션이 대량으로 발생하므로 정규화와 속도가 중요합니다. 그 예시로 유저가 네이터에서 상품을 주문하는 것이 있습니다.

 

반면, OLAP(온라인 분석 처리)는 일반적으로 분석을 목적으로 데이터베이스 내의 트랜잭션(레코드라고도 불림)을 질의하는 작업을 포함합니다. OLAP는 기업이 트랜잭션 데이터로부터 더 많은 인사이트를 추출하여 양질의 정보를 기반으로 한 의사결정을 내리는 데 활용할 수 있게 해줍니다. 

 

 

 

데이터 처리 접근 방식

 

데이터 처리 접근 방식에 대해서도 알려주셨는데요. 

분석을 위한  데이터 처리 접근 방식에는  Extract-Transform-Load (추출-전환-적재, ETL) 와 Extract-Load-Transform( 추출- 적재-전환, ELT) 2가지가 있다고 합니다.

다양한 경로에서 추출된 원시 데이터를 전환을 먼저할 것인지, 저장을 먼저할 것인지가 차이인 것 같습니다. 빅데이터처럼 대규모의 원시 데이터를 처리해야 할 경우 저장을 먼저하고 나중에 필요에 따라 분석하는 것이 효율적이라고 합니다. 

 

 

 

 

 

 

빅데이터 처리 기술

 

빅데이터 처리에 대한 기술도 알려주셨는데요!

먼저 1) 원시데이터를 정제하는 과정을 거치며 불필요한 것들을 제거하고, 2) 데이터를 변환합니다. 그리고, 3) 변환된 데이터를 필터링하고, 4) 데이터를 통합합니다.

 

이렇게 빅데이터 처리 기술이 까다로운 이유는 후단에 작업하는 데이터 분석가분들이 데이터를 쉽게 접근할 수 있도록 하기 위해서라고 합니다!

 

 

[ 3. 로깅 시스템 구축 이야기 ]

 

세번째 주제는 정우님께서 회사에서 로깅 시스템을 구축했었던 경험에 대한 이야기입니다. 

 

로깅 시스템을 구축하기 전, 문제 상황은 다음과 같았습니다.

회사에서 SaaS를 개발했는데, 관측성(Observisity)이 너무 떨어졌고, 그 상태에서 운영하려고 하다보니 서비스에 문제가 발생해도 원인을 파악하기 어려웠다고 합니다.

 

 

 

 

 

당시 개발한 SaaS는 가상 머신을 활용하고 있었고, 애플리케이션 수도 많았다고 하는데요.  기능에 따라 API가 증가하다보니 관리해야 할 서버의 수도 증가하는 상황이어서 로깅의 필요성이 더 절실해졌고, 이러한 문제점들을 고려하여 회사에서는 애저(Azure)를 사용하기로 결했다고 합니다.

 

그러나 막상 로깅 시스템을 위한 설계를 하다보니, 호스트가 너무 많아서 이를 전부 로깅하기엔 오버헤드가 크다는 문제점이 있었습니다. 서비스 유지를 잘 하기 위해 로깅 시스템이 필요한 것이었는데, 그 로깅 시스템을 유지하느라 오히려 서비스 품질이 떨어지는 문제점이 발생하면 안되기 때문에 많은 고민이 있었다고 합니다.

 

그래서 나온 대안은, 모든 수집된 요청을 한곳에 모으고, 어떤 상태 코드가 오는지를 확인하자는 것이었습니다. 

이를 위한 솔루션으로 Fluentd 를 사용했다고 하는데요.

Fluentd 는 로그(데이터) 수집기(collector)입니다. 보통 로그를 수집하는 데 사용하며, 다양한 데이터 소스(HTTP, TCP 등)로부터 데이터를 받아올 수 있다고 합니다.

이렇게 받아온 데이터를 잘 정리정돈하고 시각화하여 회사에서 필요로한  로깅 시스템을 구축하게 되었다고 합니다. 쉽게 말하면, 웹 브라우저에서 개발자 모드\ 네트워크 탭에서 보여주는 정보를 보여주는 시스템인 것입니다.

 

고생하셨습니다!!

 

 

여기까지가 정우님의 로그를 버리지 않고 모아서 정돈하고 시각화하여 인사이트를 얻었던 경험이었습니다. 그동안 궁금했던 데이터 엔지니어의 기술과 프로세스, 실무 경험까지 들을 수 있어서 무척 즐거웠습니다. 😊

 

 

 


 

여기까지 <데브콘 대전 : 삼월엔 데이터!> 행사 1부에 대한 이야기를 적어보았습니다.

다음  < 데브콘 대전 : 삼월엔 데이터!> 행사 2부를 기대해주세요~

(나가시기 전, 데브콘 블로그 구독 꾸욱 ~ 잊지마세요! 😎)

 

 

 


 

K-DEVCON은 IT 전문가 커뮤니티 그룹으로 다양한 IT 기술을 연구하며 회원간의 소통을 공유하는 모임 입니다. 현재 IT업계에 종사하고 있거나, 종사할 예정이거나, IT를 공부하는 학생 그리고 IT에 관심이 있다면 누구나 함께할 수 있습니다.

 

기술 세미나, 스터디, 토론 등 다양한 활동을 하고 있으며, 주요 소통 및 이벤트 공유는 오픈챗 및 홈페이지 등을 통해서 공유하고 있습니다.

소프트웨어 엔지니어, 데이터 엔지니어, 머신러닝 엔지니어, 시스템 엔지니어, 시큐리티 엔지니어, 데브옵스, SRE, PM, Educator, UI/UX, 스타트업, 대학생 등 다양한 구성원이 활동 중입니다.

 

homepage : https://k-devcon.com

contact : info@k-devcon.com