Til12
title: 2025-08-12 author: 강병호 date: 2025-08-12 category: TIL/강병호/2025/08 layout: post (자유) —
1.1 데이터 엔지니어링이란?
책에서는 다양한 사람들의 의견을 종합하여 다음과 같이 정의하고 있다.
raw data를 통해 분석, 머신러닝과 같은 방식을 지원하고, 고품질의 일관된 정보를 생성하는 시스템의 개발, 구현, 유지 관리를 수행하며 기술적인 입장에서는 보안, 데이터 관리, 데이터 운영, 데이터 아키텍처, 오케스트레이션, 소프트웨어 엔지니어링의 교차점이다.
데이터 엔지니어는 위의 일을 수행하는 사람으로 정의할 수 있다.
데이터 엔지니어링 수명 주기
책에서 강조하는 중요한 아이디어로 기술의 영역이 아닌 데이터 자체와 데이터가 제공해야하는 최종 목표에 관한 이야기를 나눈다.
수명 주기의 단계는 다음과 같다.
- 데이터 생성
- 데이터 저장
- 데이터 수집
- 데이터 변환
- 데이터 서빙 ![[Pasted image 20250305053356.png]]
역사
역사는 그대로 반복되지 않지만, 그 흐름은 분명 반복된다. - 마크 트웨인
위의 말을 기반으로 보면 데이터 엔지니어링을 이해하기 위해서는 해당 분야가 어떻게 발전했는지에 관한 맥락부터 잘 파악해야 한다.
데이터웨어하우징에서 웹
1980년부터 2000년대 까지의 이야기로 데이터 엔지니어의 탄생을 둔다. 1989년 빌 인먼에 의해 데이터 웨어 하우스라는 용어가 공식적으로 생성되었고 이는 IBM의 엔지니어들이 관계형 데이터베이스, 구조적 질의 언어를 개발한 이후 대중화되었다.
이러한 데이터 시스템의 성장에 따라 기업 Report, BI를 위한 툴과 데이터 파이프라인이 필요했는데 데이터 웨어하우징은 이러한 막대한 양의 데이터를 지원하며 다수의 프로세서를 사용하는 새로운 대규모 병렬 처리 데이터베이스의 형태로 나타났다. 즉, 이는 오늘날의 데이터 엔지니어링의 선구자이며 중심적인 역할을 수행하게 된 계기가 된 것이다.
1990년 중반, 아마존, 야후와 같은 웹 기업이 생성되며 인터넷이 주류를 이루고 거대한 인프라 비용, 라이선스 부담 등이 발생하며 웹 어플리케이션은 어마어마한 데이터의 규모를 발생시켰다.
현대 데이터 엔지니어링의 탄생
2000년대 초, 모놀리식 관계형 디비와 데이터 웨어하우스에 의존하며 시스템을 한계까지 몰아붙이다가 대규모 컴퓨팅 클러스터에서의 분산 저장 및 연산을 구현하는 혁신을 통해 빅데이터 시대를 일으키게 되었다.
빅데이터 인간의 행동 및 상호 작용과 관련한 패턴, 경향, 연관성을 밝히고자 계산적으로 분석될 수 있는 큰 데이터셋 데이터의 3V로 간결하게 설명되기도 한다.(속도, 다양성, 크기)
또한, 이 당시에 구글에서 Google File System에 관련하여 논문과 데이터 처리 패러다임인 MapReduce에 대해 논문을 발표하여 이러한 것들이 추후의 대규모 데이터 처리와 관련한 오픈 소스들의 생태계의 가능성을 넓히고 테라바이트, 페타바이트 규모의 데이터를 처리할 수 있게 되었다.
빅데이터 엔지니어링
맵리듀스 출현과 함께 코드 우선 엔지니어링의 유행과 함게 다양한 데이터 도구(하둡, 얀, HDFS 등)의 등장으로 핵심 기술 개발에서 데이터 전달로 강조점이 옮겨졌다. 즉, 빅데이터 엔지니어가 복잡한 도구를 유지 관리하는 관점에서 오픈소스의 등자오가 다양한 서드파티의 등장으로 인해 빅데이터를 추상화, 단순화, 사용 가능성의 발견의 관점으로 옮겨진 것이다.
데이터 수명 주기를 위한 엔지니어링
해당 책에서 논의하고자 하는 데이터 엔지니어를 의미한다. 이는 저수준의 데이터 프로그래밍에 집중하는 것이 아닌 보안, 데이터 관리, 데이터옵스, 데이터 아키텍처, 오케스트레이션과 같은 영역에 점점 집중해야한다는 것이다. 또한, ‘가장 큰 데이터’를 보유하는 것에 초점을 맞추기 보다 데이터 관리와 통제, 사용 및 발견의 용이성, 품질 향상에 더 많은 관심을 요구한다.