대규모로 분석 및 AI에 정제된 데이터를 수집, 변환 및 제공하는 견고한 데이터 파이프라인을 설계, 구축 및 유지 관리하는 분야
작성자: Databricks 직원
데이터 엔지니어링은 분석, 보고, 머신러닝, 의사결정을 위해 데이터를 수집, 저장, 변환, 전달하는 시스템을 설계, 구축, 유지관리하는 활동입니다. 데이터가 제때에 양호한 상태로 제공되도록 하는 것입니다.
데이터 엔지니어링은 데이터를 신뢰할 수 있게 만들고, 더 빠르고 나은 의사 결정을 가능하게 하는 파이프라인을 구축하며, 조직이 성장함 에 따라 데이터가 확장될 수 있도록 하므로 조직에 매우 중요합니다. AI, 머신러닝, 고급 분석은 잘 설계된 데이터와 신뢰할 수 있는 파이프라인을 위해 데이터 엔지니어링에 의존합니다. 견고한 데이터 기반은 시간과 비용을 절약하고 팀 간의 협업을 가능하게 하며 데이터를 경쟁 우위로 전환합니다.
데이터 엔지니어는 다양한 소스의 가공되지 않은 데이터를 실행 가능한 인사이트를 위한 사용 가능한 데이터로 변환합니다. 데이터 엔지니어는 애널리스트, 데이터 사이언티스트, 경영진, 마케팅, 제품/비즈니스 팀, APIs 및 앱을 지원합니다. 훈련 데이터 세트를 만들고, 피처 파이프라인을 유지하며, 액세스 제어, 데이터 계보, 문서화 및 데이터 품질 검사를 구현합니다.
기존 데이터베이스와 임시 스크립트로는 방대한 양의 정형 및 비정형 데이터를 따라잡을 수 없었기 때문에 데이터 엔지니어링은 필수적인 분야로 부상했으며 계속 성장하고 있습니다. 클라우드 컴퓨팅은 저렴하고 확장 가능한 스토리지, 탄력적인 컴퓨팅 및 관리형 분산 시스템을 지원하기 위해 등장했으며, 이 모든 것은 대규모 분산 데이터 파이프라인에 필수적입니다. 실시간, AI 및 머신러닝 사용 사례가 계속 확장되면서 데이터 거버넌스, 보안, 규정 준수가 필수가 되었습니다. 데이터는 핵심 자산이 되어 전략을 주도하고 수익 결정에 영향을 미쳤습니다.
데이터 파이프라인 은 소스에서 목적지로 데이터를 이동, 변환, 관리하는 자동화된 시스템으로, 데이터의 신뢰성을 보장하고 대규모로 반복해서 사용할 수 있도록 준비합니다. 신뢰할 수 있는 파이프라인은 최신 데이터가 일관성 있게 제시간에 흐르도록 보장하고, 시기적절한 인사이트를 얻기 위해 신뢰할 수 있어야 하므로 매우 중요합니다. 이러한 자동화된 프로세스를 사용하여 데이터를 위한 조립 라인처럼 작동합니다.
데이터 소스 → 수집 → 처리/변환 → 저장 → 서빙/액세스
진행 방식은 다음과 같습니다.
파이프라인은 애플리케이션 데이터베이스, 마케팅 플랫폼, API, 이벤트 스트림, 파일과 같은 데이터 소스에서 데이터를 가져옵니다. 그런 다음 데이터는 수집, 검증되어 배치 방식 또는 실시간(수집)으로 중앙 시스템으로 이동합니다.
수집된 데이터는 지저분한 필드를 정리하고, 형식을 표준화하며, 데이터세트를 조인하고, 측정항목과 집계를 생성함으로써 원시 데이터에서 분석에 바로 사용할 수 있는 데이터로 변환됩니다. 처리된 데이터는 데이터 웨어하우스, 데이터 레이크, 데이터베이스 및 분석 도구에 저장됩니다.
파이프라인은 일정 또는 트리거에 따라 실행되어 다양한 대상으로 데이터를 공급하고, 종속성을 처리하고, 실패 시 재시도하며, 문제가 발생하면 알림을 보냅니다. 데이터 파이프라인은 일반적으로 데이터가 이동하는 방식, 시점, 용도에 따라 분류됩니다.
고객 행동을 추적하는 전자상거래 회사의 파이프라인 예시는 다음과 같습니다.
데이터 엔지니어링은 한 번에 여러 유형의 데이터를 다루고 이해하는 데 도움이 됩니다. 이는 각 유형을 사용할 수 있게 만들고 서로 연동되도록 하는 구조를 제공합니다. 이러한 데이터 유형은 다음과 같습니다.
데이터 엔지니어링은 데이터 다양성이 증가할 때 단일 스토리지 및 처리 방식이 빠르게 무너지기 때문에 주로 존재합니다. 구조는 데이터 쿼리 방법을 결정합니다.
고정된 스키마와 예측 가능한 필드 및 관계를 가진 정형 데이터는 관계형 데이터베이스나 데이터 웨어하우스에 저장될 수 있습니다. 필터링, 집계, 조인과 같은 간단한 변환은 SQL로 잘 처리할 수 있습니다.
시간이 지남에 따라 필드가 변경될 수 있는 반정형 데이터는 반정형을 지원하는 데이터 레이크 또는 웨어하우스에 저장하는 것이 가장 좋습니다. 비정형 데이터(미리 정의된 스키마가 없는 대용량 파일)는 객체 스토리지(데이터 레이크)에 저장하는 것이 가장 좋습니다. 텍스트 분석, 이미지 특징 추출, ML 파이프라인과 같은 복잡한 처리를 위해서는 특화된 도구와 컴퓨팅 성능이 필요합니다.
현대의 조직은 전체 데이터 자산을 활용하기 위해 세 가지 데이터 유형을 모두 처리해야 합니다.
데이터 엔지니어링 수명 주기는 데이터가 생성에서 소비로 이동하는 방식과 시간이 지남에 따라 지속적으로 개선되는 방식을 설명합니다. 데이터 이동의 6단계:
ETL(추출, 변환, 로드) 은 소스 시스템의 데이터를 정리하고 일관되고 사용 가능한 형식으로 변환한 후 일반적으로 데이터 웨어하우스와 같은 대상 시스템으로 이동시켜 스토리지에 로드하는 데 사용되는 데이터 통합 프로세스입니다.
가공되지 않은 데이터는 지저분하고 일관성이 없으며 분석에 적합하지 않기 때문에 변환은 필수적입니다. 소스 시스템은 중복, 누락된 값, 일관성 없는 형식, 다른 이름 지정 규칙이 포함된 데이터를 생성합니다. 데이터는 다른 스키마를 사용하고, 다른 비즈니스 규칙을 적용하며, 값을 다르게 저장하는 다양한 소스에서 올 수 있습니다. 변환은 비즈니스 규칙을 적용하므로 조직 전체에서 메트릭이 동일한 의미를 갖게 됩니다.
일반적인 변환 작업에는 데이터 정리 및 유효성 검사, 스키마 정렬 및 재구성, 데이터 보강, 형식 표준화, 데이터 집계 및 요약, 비즈니스 로직 및 메트릭 생성, PII 마스킹 및 제한된 필드 필터링을 위한 보안 및 규정 준수 변환이 포함됩니다.
ELT(추출, 로드, 변환) 대안(데이터 레이크, 클라우드 데이터 웨어하우스 및 최신 데이터 아키텍처에서 일반적)은 가공되지 않은 데이터를 먼저 로드하고 나중에 변환하는 것을 의미합니다. 최신 웨어하우스는 대규모 가공되지 않은 데이터를 처리하고 변환을 효율적으로 처리할 수 있습니다. 가공되지 않은 데이터는 비즈니스 로직이 적용되기 전에 보존되므로 새로운 로직으로 재처리하여 새로운 분석 및 AI/ML 사용 사례를 지원할 수 있습니다.
모든 결정, 인사이트, 자동화된 작업은 그 기반이 되는 데이터의 품질에 따라 결정되므로 데이터 품질을 확보하는 것 이 매우 중요합니다. 이러한 '가비지 인, 가비지 아웃' 원칙은 모든 후속 사용에 적용됩니다. 데이터가 잘못되면 결정도 잘못되어 조직에 시간, 신뢰, 수익 손실을 초래할 수 있습니다.
데이터 변환 도구는 규모, 복잡성, 변환이 발생하는 위치에 따라 다릅니다. SQL은 간단하고 강력하며 유지 관리가 용이한 언어로서 데이터베이스 변환에 일반적으로 사용됩니다. 더 복잡하거나 맞춤화된 변환의 경우 Python, Scala, Java가 비표 형식 데이터 처리, 맞춤형 유효성 검사 로직, 고급 데이터 조작, machine learning 피처 엔지니어링에 사용됩니다.
대규모 데이터 처리를 위해 Apache Spark, Flink, Beam과 같은 분산 데이터 처리 프레임워크는 단일 머신의 한계를 초과하는 데이터 볼륨을 처리할 수 있습니다.
배치 처리를 사용하면 일정 기간 동안 데이터가 수집된 후 예약(시간별, 일별, 주별)에 따라 한 번에 모두 처리됩니다. 이는 덜 복잡하고 비용 효율적이지만, 데이터가 누적되도록 허용하므로 지연 시간이 길어져 시간에 민감한 의사 결정에는 적합하지 않습니다. 배치 처리는 과거 추세 분석, 재무 보고, 영업 및 마케팅 대시보드, 데이터 백업 및 주기적 집계에 일반적으로 사용됩니다.
실시간 처리에서는 데이터가 생성될 때 처리되며 지연 시간은 밀리초에서 초 단위로 최소화됩니다. 이를 통해 즉각적인 인사이트와 빠르고 자동화된 의사 결정이 가능하지만, 구축이 더 복잡하고 운영 비용이 더 많이 듭니다. 실시간 처리는 라이브 대시보드, 사기 탐지, 알림 및 모니터링, 실시간 추천, 주식 거래, 동적 가격 책정에 일반적으로 사용됩니다.
지연 시간, 비용, 인프라 복잡성 간의 상충 관계 때문에 많은 조직에서 Lambda 아키텍처라는 하이브리드 접근 방식을 선택합니다. 이 방식은 두 가지를 결합하여 빠른 인사이트와 정확하고 완전한 데이터를 모두 제공합니다. 람다 아키텍처는 실시간 속도를 위한 경로와 배치 정확도를 위한 경로, 이렇게 두 개의 병렬 경로를 통해 데이터를 처리한 다음 그 결과를 병합하여 사용할 수 있도록 합니다.
배치, 실시간 또는 하이브리드 접근 방식을 사용할지에 대한 결정은 비즈니스가 할 수 있는 일과 그 속도를 직접적으로 결정합니다. 의사 결정 속도, 위험 감지 또는 고객 행동에 대한 대응이 가장 중요하다면 실시간 처리가 더 빠르고 민첩합니다. 운영 효율성 측면에서 배치 처리는 인프라 및 인건비가 더 낮고 장애 지점이 더 적어 관리하기가 더 쉽습니다. 실시간 처리는 혁신과 차별화를 촉진하기 위해 더 빠른 테스트 및 학습 주기를 가능하게 합니다.
실제로 배치 처리는 보고 및 예측의 정확성을 보장하는 반면, 실시간 처리는 고객 경험, 알림 및 자동화를 위한 최신성을 보장합니다. 하이브리드 접근 방식은 속도, 신뢰성, 비용의 균형을 맞춥니다.
데이터 스토리지는 만능이 아닙니다. 규모, 성능, 비용, 액세스 패턴에 최적화된 다양한 솔루션이 존재합니다. 스토리지 아키텍처 결정은 조직이 데이터를 분석하고 ML 모델을 구축하는 속도에 영향을 미칩니다.
데이터 웨어하우스 는 정형 데이터에 사용되며 빠른 query와 비즈니스 분석 및 보고에 최적화되어 있습니다. 최신 데이터 웨어하우스는 ACID를 보장하는 schema-on-write(데이터가 저장되기 전에 변환됨) 방식을 사용하므로, 측 정항목이 깨끗하고 신뢰할 수 있는 데이터로 계산되어 보고서에 대한 신뢰도를 높이고 query 성능을 향상시킵니다. 대부분의 비즈니스 인텔리전스 도구는 안정적인 스키마, 예측 가능한 데이터 유형, 잘 정의된 관계를 기대하므로, 데이터 웨어하우스는 속도와 명확성이 가장 중요한 대시보드 및 정기적인 보고 시나리오에 가장 적합합니다.
데이터 레이크 스토리지는 정형 및 비정형을 포함한 모든 유형의 가공되지 않은 데이터를 대규모로 저장하는 데 탁월합니다. 데이터를 읽거나 쿼리할 때만 스키마가 적용되는 schema-on-read 데이터 모델링 접근 방식은 탐색적 분석과 머신러닝에 최고의 유연성을 제공합니다.
새롭게 부상하는 데이터 레이크하우스 아키텍처는 warehouse의 성능과 데이터 레이크의 유연성이라는 장점을 결합합니다. 저비용 스토리지에서 구조화, 반구조화, 비구조화 데이터 유형과 ACID 트랜잭션을 지원합니다. 배치 처리와 실시간 스트리밍을 모두 지원하며 다운스트림 사용자에게 영향을 주지 않고 더 빠른 반복을 위한 유연한 스키마 변화를 지원합니다. 동일한 통합 데이터를 BI 및 대시보드, Data Science, machine learning에 사용할 수 있습니다.
개괄적으로 말하자면, 데이터 엔지니어링은 데이터 기반을 구축하고, 데이터 분석은 무슨 일이 왜 일어났는지 설명하며, Data Science는 무슨 일이 일어날지 예측하고 조치를 권장합니다. 각 분야는 서로 다른 기술을 필요로 하지만 모두 데이터 기반 조직에 필수적입니다.
데이터 엔지니어링은 데이터 흐름을 위한 시스템 및 인프라 구축에 중점을 둡니다. 핵심 기능에는 파이프라인 생성, 인프라 관리, 데이터 수집 및 구성을 통해 후속 작업을 지원하는 신뢰할 수 있고 확장 가능한 데이터 시스템을 제공하는 것이 포함됩니다.
데이터 분석 은 특정 비즈니스 질문에 답하기 위해 데이터를 해석하는 데 중점을 둡니다. 핵심 기능에는 데이터 분석, 의사 결정을 위한 인사이트로 데이터 전환, 보고서 작성, 추세 및 패턴 식별, 대시보드 구축, KPI 및 비즈니스 메트릭 추적이 포함됩니다.
데이터 과학 은 예측 모델을 구축하고 고급 분석 인사이트를 추출하며 자동화를 추진하는 데 중점을 둡니다. 핵심 기능에는 통계 분석, 예측 모델, 머신러닝 알고리즘 및 실험이 포함됩니다.
세 가지 분야는 서로 의존하고 강화합니다. 데이터 엔지니어링은 신뢰할 수 있는 데이터 파이프라인, 확장 가능한 스토리지 및 컴퓨팅, 데이터 품질, 거버넌스 및 액세스를 제공하여 분석 및 Data Science가 성공할 수 있는 기반을 만듭니다.
데이터 분석은 데이터 엔지니어링 결과물을 사용하고 데이터를 이해와 비즈니스 가치로 변환합니다. 그리고 데이터 과학은 데이터 엔지니어링을 기반으로 신뢰할 수 있는 피처 파이프라인을 구축하고 분석을 예측 및 자동화로 확장합니다.
| 범주 | 데이터 엔지니어링 | 데이터 분석 | 데이터 사이언스 |
| 주요 초점 | 데이터 인프라 구축 및 유지 관리 | 데이터 이해 및 설명 | 결과 예측 및 의사결정 최적화 |
| 핵심 목표 | 데이터를 신뢰할 수 있고, 액세스 가능하며, 확장 가능하도록 만들기 | 데이터를 인사이트로 전환 | 데이터를 예측 및 자동화로 전환 |
| 답변된 주요 질문 | 데이터를 사용할 수 있고 신뢰할 수 있습니까? | 무슨 일이 왜 일어났는가? | 다음에는 어떤 일이 일어날까요? |
| 일반적인 방법론 | ETL / ELT 파이프라인, 배치 및 스트리밍 처리, 데이터 모델링, 오케스트레이션 및 모니터링 | 기술 분석, 탐색적 데이터 분석(EDA), KPI 추적, 대시보드 작성 | 통계적 모델링, 머신러닝, 실험(A/B 테스트), 피처 엔지니어링 |
| 처리된 데이터 | 원시 → 큐레이션된 데이터 | 정리된 정형 데이터 | 큐레이션된 기능 준비 데이터 |
| 도구 및 기술 | SQL, Python, 클라우드 플랫폼, 데이터 웨어하우스 및 레이크, 오 케스트레이션 도구 | SQL, BI 도구, 스프레드시트 | Python, RML 프레임워크, 통계 도구 |
| 출력 | 데이터 파이프라인, 데이터 모델 및 테이블, 신뢰할 수 있는 데이터 세트 | 대시보드, 보고서, 비즈니스 인사이트 | 예측 모델, 예측, 추천 |
| 시간 지향성 | 현재 및 미래 대비 | 과거 및 현재 이해 | 미래 결과 |
| 성공 측정 기준 | 신뢰성, 확장성, 데이터 품질 | 인사이트 정확성, 채택, 명확성 | 모델 성능, 비즈니스 영향 |
| 주요 이해관계자 | 애널리스트, 데이터 과학자, 엔지니어 | 비즈니스 팀, 리더십 | 제품, 엔지니어링, 리더십 |
데이터 엔지니어링은 데이터를 사용 가능하게 함으로써 다음과 같은 사용 사례를 지원하는 인프라를 구축합니다.
데이터 엔지니어링은 각각 데이터 수명 주기의 특정 부분을 해결하는 계층화된 도구 및 기술 생태계에 의해 구동됩니다.
온프레미스 데이터 인프라는 폭발적으로 증가하는 데이터 볼륨과 다양성으로 인해 어려움을 겪었습니다. 회사 데이터 센터의 물리적 서버와 고정된 스토리지에는 높은 초기 자본 비용이 필요했습니다. 긴 프로비저닝 주기와 수동 확장 및 유지보수로 인해 데이터 엔지니어는 파이프라인 구축보다 인프라 관리에 더 많은 시간을 소비하게 되었습니다.
기업들은 더 빠른 인사이트를 제공하고, 신속한 실험을 가능하게 하며, 새로운 소스의 비정형 및 반정형 데이터를 처리하는 등 민첩성과 속도에 대한 요구를 충족하기 위해 클라우드 기반 데이터 시스템으로 전환했습니다.
클라우드 시스템은 즉각적인 확장(업 또는 다운), 스토리지와 컴퓨팅의 분리, 종량제 가격 책정을 가능하게 했습니다. 데이터 엔지니어들이 데이터 로직에 집중하게 되면서 데이터 웨어하우스, 스트리밍 시스템, 오케스트레이션을 위한 완전 관리형 서비스가 운영 오버헤드를 줄였습니다.
클라우드를 도입하면서 ELT, 데이터 레이크, 레이크하우스와 같은 새로운 아키텍처 패턴과 serverless 및 이벤트 기반 파이프라인이 가능해졌습니다. 기업은 거의 실시간에 가까운 분석, 셀프서비스 데이터, 대규모 AI 및 ML, 더 빠른 혁신 주기, 더 낮은 총소유비용을 확보하여 데이터를 전략적 자산으로 만들었습니다.
데이터 엔지니 어링 분야는 초창기 데이터베이스 관리에서 시작하여 데이터 웨어하우징으로 발전했습니다. 데이터베이스 관리자는 스키마 설계, 인덱스 관리, 백업 및 복구 보장, 온프레미스 관계형 데이터베이스의 성능 및 가용성 유지를 담당했습니다.
데이터 웨어하우징의 등장으로 중앙 집중식 분석 데이터베이스, ETL 프로세스, 스타 및 스노우플레이크 스키마, 배치 기반 보고가 도입되었습니다. 하지만 작업은 여전히 스키마 온 라이트 방식이었고 고도로 계획되었으며 경직적이었습니다. DBA 및 웨어하우징 방식은 스트리밍 데이터, 탄력적 확장, 복잡한 파이프라인, 빠른 반복을 위해 구축되지 않았습니다.
빅데이터와 클라우드는 기존의 온프레미스 데이터 센터를 대체했으며, 배치 전용 처리에서 실시간 및 스트리밍 아키텍처로의 또 다른 전환을 가져왔습니다. 새로운 프레임워크는 분산 스토리지 및 compute, 읽기 시 스키마 적용(Schema-on-read), 새로운 처리 패러다임을 도입했습니다. 데이터 시스템은 단순한 데이터베이스가 아닌 엔지니어링 시스템이 되었습니다.
데이터 엔지니어링은 계속해서 발전하고 있습니다. 데이터 소스는 계속해서 늘어나고 있고, 실시간 사용 사례는 확장되고 있으며, AI와 ML은 강력하고 민첩한 데이터 기반에 의존합니다. 규제 요건이 늘어남에 따라 데이터 품질과 거버넌스에 대한 관심이 높아지고 있으며, 셀프 서비스 분석 플랫폼을 통한 조직 전체의 데이터 액세스에 대한 필요성 또한 커지고 있습니다.
데이터 파이프라인은 내부 연결 수단 그 이상이 되고 있습니다. 조직은 명확하게 정의된 소비자와 사용 사례를 바탕으로 데 이터를 제품으로 사용하고 있습니다. 데이터 엔지니어링은 특징점과 실시간 피처 파이프라인을 구축하면서 AI 및 ML과 더욱 깊이 통합되고 있습니다.
통합 플랫폼이 지나치게 복잡한 스택을 대체하면서 도구 간 핸드오프가 줄고 운영 오버헤드가 낮아지며 개발 속도가 빨라지고 있습니다. 데이터 품질에 대한 강조가 커지면서 기본 내장 품질 검사, 엔드투엔드 관측 가능성, 사전 예방적 이상 탐지로 이어지고 있습니다. 자동화된 리니지, 스마트 오케스트레이션, 자가 복구 파이프라인은 수작업을 줄이면서 더 복원력 있는 시스템을 제공합니다.
데이터 엔지니어링은 가공되지 않은 데이터의 혼돈을 체계적이고, 확장 가능하며, 신뢰할 수 있고, 접근 가능한 정보로 변환하는 성장 분야입니다. 이를 통해 조직은 데이터 기반 의사 결정을 내리고, AI 및 머신 러닝 모델을 구축하며, 시장 변화에 신속하게 대응하고, 데이터를 제품으로 제공할 수 있습니다.
데이터 볼륨이 계속해서 폭발적으로 증가하고 조직이 데이터 인사이트에 대한 의존도가 높아짐에 따라 견고한 데이터 엔지니어링 인프라가 매우 중요해졌습니다. 이것이 없으면 데이터 파편화와 신뢰할 수 없는 데이터가 모든 분석 및 AI 노력을 저해하며, 오늘날의 경쟁적이고 규제가 심한 비즈니스 환경에서는 치명적일 수 있습니다.
데이터 엔지니어링 개념, 프로세스, 수명 주기 접근 방식 및 실제 적용 사례를 이해하면 조직이 데이터 인프라, 도구 선택 및 분석 전략에 대해 더 나은 결정을 내리는 데 도움이 됩니다.
데이터 엔지니어링에 중점을 두는 조직은 더 빠르게 움직이고, 더 현명한 결정을 내리며, 데이터를 경쟁 우위로 전환할 수 있습니다.
블로그를 구독하고 최신 게시물을 이메일로 받아보세요.