2023년 데이터 엔지니어 로드맵
Roadmap for Data Engineering 2023
위 링크의 글을 번역한 후, 요약한 글입니다.
해당 글에서는 데이터 엔지니어가 되기 위해 필요한 기술을 기본 수준에서 고급 수준까지 다음의 3단계로 알려주고 있습니다.
- 다른 분야에서 데이터 엔지니어링으로 경력을 전환하려는 사람
- 몇 가지 기본 사항을 알고 앞으로 나아가는 방법을 알고 싶은 사람
- 경험이 있고 경력을 쌓고 싶은 사람
Section 1 - 미지의 탐험
제일 먼저 첫 번째 단계에 있는 즉, 비기술 직업에 종사하고 있는 사람들이거나 학생이나 신입이거나, 다른 기술 직업에서 전환하려는 사람들까지 다양한 사람들이 비슷한 어려움을 겪습니다.
이러한 범주에 속한다면, 먼저 컴퓨터 과학(CS)기초를 숙달해야 합니다.
이 분야를 처음 접하는 경우 데이터 엔지니어링에 뛰어들기 전에 컴퓨터 과학에서 사용되는 기본 개념과 용어를 이해해야 합니다.
그 다음 데이터 엔지니어에게 필요한 3가지 기본 기술이 있습니다.
- 프로그래밍 언어
데이터 엔지니어로서 많은 변환 작업을 작성하고 스크립트를 배포하며 유효성을 검사하고 테스트해야 합니다.
그러기 위해서는 하나의 프로그래밍 언어를 정복해야 합니다.
인기 있는 언어는 Java
, Scala
, Python
입니다.
- SQL
SQL
은 데이터 업계에서의 중요성을 가지고 있습니다. 데이터 분석가, 데이터 엔지니어, 데이터 과학자로 일 하게 된다면 자주 사용하게 될 것입니다.
SQL
은 관계형 데이터베이스와의 커뮤니케이션 방식이며, 데이터를 선택, 삽입, 갱신, 삭제하는 방법을 이해하는 것이 중요합니다.
- Linux 명령어
대부분의 데이터 엔지니어링 작업은 원격 컴퓨터나 클라우드 플랫폼에서 수행 되며, 이러한 컴퓨터는 일반적으로 Linux 운영 체제에서 실행됩니다.
컴퓨터와 작업하는 방법과 기본적인 Linux 명령어를 이해하는 것이 중요합니다.
Section 2 - 튼튼한 기반 구축하기
이 단계에서는 데이터 엔지니어링에 필요한 최소한의 기술 세트를 학습하고 경력을 시작할 수 있는 방법에 초점을 맞춰야 합니다.
먼저 집중해야 할 기본 기술은 데이터 웨어하우스에 대한 이해입니다.
여기에는 두 가지 요소가 있습니다.
- 데이터 웨어하우스 기본 원리 학습
Snowflake
나BigQuery
와 같은 도구 학습
데이터 웨어하우스 기본 원리는 OLTP, 차원 테이블, 추출, 변환, 로드, 사실과 차원 테이블 이해와 같은 데이터 모델링을 포함합니다.
책으로는 Ralph Kimball의 "The Data Warehouse Toolkit"을 추천하고 있습니다.
데이터 웨어하우스 기본 사항을 배운 후에는 배운 내용을 특정 도구에 적용할 수 있습니다.
Snowflake
, BigQuery
, Redshift
와 같은 다양한 데이터 웨어하우스가 있는데, Snowflake
에 대한 수요가 증가하고 있으므로 학습하는 것이 좋습니다.
데이터 저장 뿐만 아니라 데이터 처리 프레임워크도 이해해야 합니다.
주요한 프레임워크는 다음과 같습니다.
- 배치 처리: 데이터를 일괄적으로 처리하는 것으로, 예를 들어 매일 한 번 또는 두 번 지난 달의 데이터를 처리하는 것
- 실시간 처리: 데이터가 실시간으로 들어오는 대로 처리하는 것
배치 처리에는 대부분의 회사에서 데이터 처리를 위한 오픈 소스 프레임워크인 Apache Spark
를 사용합니다.
먼저 Apache Spark
의 기본 원리를 학습한 다음, Apache Spark
환경을 지원하는 도구 중 하나인 Databricks
, AWS EMR
, GCP Data Proc
등 다른 도구를 학습하면 됩니다.
Databricks
에서 Spark
를 사용하고 언어로는 PySpark(Python)
를 사용하여 실습하는 것을 제안합니다.
실시간 처리에는 Apache Kafka
, Apache Flink
, Apache Storm
과 같은 프레임워크와 도구가 있습니다 이 중 하나를 선택하고 학습하면 됩니다.
먼저 기본 원리를 학습하고, 시장에서 수요가 높은 도구 중 하나를 학습하여 기본 지식을 실전에 적용하는 것에 초점을 맞춥니다.
데이터 엔지니어로서 마스터해야 할 세 번째 기술은 클라우드 플랫폼에 대한 학습입니다.
주요 선택지로는 다음과 같습니다.
- Microsoft Azure
- Amazon Web Services (AWS)
- Google Cloud Platform (GCP)
어떤 클라우드 플랫폼을 선택하든 하나를 학습한 후, 다른 플랫폼을 익히는 것은 더욱 쉬울 것입니다.
클라우드 플랫폼의 기본 개념은 유사하지만 사용자 인터페이스, 비용 및 기타 요소에서 약간의 차이가 있을 수 있습니다.
데이터 엔지니어링에서는 데이터를 처리하기 위해 데이터 파이프라인을 생성해야 합니다.
ETL 파이프라인이라고도 불리며, 관계형 데이터베이스에서 데이터를 추출한 후 변환과 비즈니스 로직을 적용하여 데이터를 대상 위치로 로드하는 데 사용됩니다. 이러한 작업을 관리하기 위해 워크플로우 관리 도구에 대해 학습해야 합니다.
인기 있는 선택지 중 하나는 Apache Airflow
입니다.
Airflow
는 오픈 소스 워크플로우 관리 도구로, 데이터 파이프라인을 생성, 스케줄링 및 모니터링할 수 있습니다. 산업에서 널리 사용되며 큰 사용자 커뮤니티를 보유하고 있습니다.
Airflow
를 학습함으로써 데이터 파이프라인을 생성하고 ETL 프로세스를 자동화하여 데이터 엔지니어로서의 업무를 훨씬 더 쉽게 수행할 수 있게 될 것입니다.
Section 3 - 최신 데이터 스택 및 고급 수준 기술
업데이트된 정보를 학습하고 그 도구들에 대해 알아야 하는 것이 중요합니다.
또한 전체 데이터 인프라를 설계하는 방법, 시스템을 관리하고 확장하는 방법, 고급 기술을 숙달해야 합니다.
해당 섹션에서는 데이터 엔지니어링에 필요한 고급 수준의 기술을 학습하는 데 초점을 맞출 것입니다.
먼저, Modern Data Stack (MDS)를 탐색하는 것을 추천합니다.
학습하고 핵심 사용 사례를 이해하기 위해 자세히 알아볼 수 있는 도구 목록이 있습니다.
많은 회사들이 사용하고 시장에서 인기를 얻고 있는 DBT(Data Build Tool)를 탐색하는 것을 강력히 추천합니다.
하지만 너무 많은 도구에 매몰되지 않도록 주의해야 하고, 각 도구의 핵심 사용 사례를 이해하는 것이 중요합니다.
또 다른 중요한 측면은 보안, 네트워킹, 배포 및 관련 주제를 이해하는 것입니다.
또한, 데이터 파이프라인을 운영 환경에 배포할 때 유용한 Docker
나 Kubernetes
에 대해서도 학습할 수 있습니다.
마무리
여기까지 데이터 엔지니어링 로드맵에 대한 글을 정리해봤습니다.
원글에서는 추천하는 책이나 기술 블로그들을 확인할 수 있었는데요. 이 부분은 원글에서 확인하길 바랍니다!
여전히 어색한 문장이 많은 거 같네요🙃 그래도 영어로 된 글들이 생각보다 도움되는 글들이 매우 많은 걸 알게 되었습니다.
앞으로도 영어에 겁먹지 말고 자주 찾아봐야할 거 같습니다 ㅎㅎ!...
'Big Data > Data Engineering' 카테고리의 다른 글
[번역] How to Become a Data Engineer in 2023: 5 Steps for Career Success (4) | 2023.06.11 |
---|