많은 사람들이 Data Engineer라는 직군을 Data Scientist, Data Anlysist와 혼동을 하곤 합니다. Data Engineering이란 한 마디로, **‘데이터를 가져와서 적절한 형태로 변환하여 저장하고, 데이터 과학자나 분석가 등이 사용할 수 있도록 준비하는 것’**입니다.
우리의 서비스에 AI, ML, 데이터 분석을 적용하기 위해서는 일단 제일 먼저 데이터 수집을 수행해야 합니다. 이는 사용자의 로그 및 이벤트일 수도 있고, 사용자가 서비스에 업로드한 게시물, 댓글, 사진, 영상 등 여러 가지가 될 수 있습니다.
하지만, 로그 및 이벤트를 그대로 다른 엔지니어들이 사용하게 하기는 어렵습니다. 만약 몇 백억 건의 이벤트가 저장되어 있는 스토리지가 있다고 가정할 때, 해당 스토리지에 필요할 때마다 쿼리를 해야한다면? 그렇게 되면, 컴퓨팅 리소스가 너무 많이 사용될 것입니다. ML 쪽이라면, AI 모델의 input 데이터의 형식도 맞춰 줘야 하고, 필요한 메타 데이터가 있다면 이에 맞춰 데이터를 조인하여 적재하는 기술 또한 필요하게 됩니다.
간단하게 말하면, Data Engineer의 업무는 다음과 같은 과정을 따른다고 볼 수 있습니다.
다양한 데이터의 원천(DBMS, Mesaage Queue 등)으로부터 정제되지 않은 많은 데이터를 수집하고, 변환하고, 이를 다시 사용자들의 필요에 맞게 Data Lake, Data Warehouse, Data Mart, OLAP Platform 등에 적재합니다. 그렇게 적재된 데이터는 내부 사용자인 Data Analysist, Data Scientist, ML Engineer 등과, 외부 사용자인 Application의 User와 SW Engineer가 사용하게 됩니다.
토스뱅크 채용 공고
쏘카 채용 공고
라인 채용 공고
카카오엔터테인먼트 채용 공고