7.2

View in English

7.2 데이터 엔지니어링

개요와 동기

데이터 엔지니어링은 데이터가 생성되는 곳에서 가치를 만드는 곳으로 옮기는 파이프라인과 플랫폼을 만들고 운영하는 규율입니다. 원천 시스템에서의 수집, 깨끗하고 모델링된 형태로의 변환, 비용 효율적인 형식으로의 저장, 전체 흐름의 오케스트레이션, 이 모두를 신뢰할 수 있게 유지하는 신뢰성 실천을 다룹니다. 데이터 전략이 어떤 데이터가 존재해야 하고 누가 소유하는지 정한다면, 데이터 엔지니어링은 그것을 흐르게 하는 배관과 기계입니다.

큰 팀에게 이 규율은 기초적입니다. 분석, 비즈니스 인텔리전스, 제품 실험, 머신러닝, 규제 보고는 모두 데이터 파이프라인의 하류에 앉아 있습니다. 그 파이프라인이 취약하거나, 느리거나, 불투명하면 의존하는 모든 기능이 고생합니다. 대시보드는 낡은 숫자를 보여 줍니다. 모델은 오염된 피처로 학습합니다. 감사자는 수치가 어떻게 만들어졌는지 재구성할 수 없습니다. 기업과 정부 규모에서 파이프라인은 많은 원천 시스템에 걸쳐 수십억 건의 기록을 처리하며, 단 한 번의 조용한 실패가 틀린 데이터를 결정, 지급, 공개 통계에 밀어 넣을 수 있습니다.

이 분야는 맞춤 스크립트와 모놀리식 ETL(추출, 변환, 적재) 도구에서 현대 데이터 스택으로 자라났습니다. 수집, 변환, 오케스트레이션, 저장을 위한 모듈식이고 대체로 SQL 중심인 구성 요소가 개방형 형식으로 연결된 것입니다. 이 모듈성은 선물이자 덫입니다. 최고의 도구를 조립할 수 있게 해 주지만, 엔지니어링 규율이 없으면 문서화되지 않고 테스트되지 않은 작업의 난립을 낳습니다. 이 장은 파이프라인을 멱등하고, 테스트 가능하고, 관찰 가능하고, 규모에서 감당할 수 있게 유지하는 실천을 다룹니다.

핵심 원칙

  • 파이프라인은 소프트웨어이며 버전 관리, 테스트, 리뷰, CI/CD를 누릴 자격이 있습니다.
  • 안전하게 다시 실행할 수 있는 멱등하고 재현 가능한 변환을 선호하십시오.
  • 데이터 흐름을 관찰 가능하게 만드십시오. 최신성, 양, 스키마, 품질을 모니터링합니다.
  • 원시 테이블을 쏟아 놓지 말고 소비자를 위해 데이터를 의도적으로 모델링하십시오.
  • 새로움이 아니라 실제 지연 필요에 따라 배치나 스트리밍을 고르십시오.
  • 저장 형식, 파티셔닝, 컴퓨트 비용을 일급 관심사로 최적화하십시오.
  • 수집, 변환, 서빙을 분리해 각각이 독립적으로 진화할 수 있게 하십시오.
  • 크게, 일찍 실패하십시오. 깨진 파이프라인이 조용히 틀린 데이터보다 안전합니다.

권장 사항

ETL이나 ELT를 의도적으로 고른다

ETL은 목적지에 적재하기 전에 데이터를 변환합니다. ELT(추출, 적재, 변환)는 원시 데이터를 먼저 적재하고 강력한 웨어하우스나 레이크하우스 안에서 변환합니다. 저장은 싸고 컴퓨트는 탄력적이며, 원시 데이터를 유지하면 로직이 바뀌거나 버그가 나올 때 재처리할 수 있으므로, 현대 클라우드 플랫폼은 ELT를 기본으로 만들었습니다. 분석 워크로드에는 ELT를 선호하십시오. 원시 불변 데이터를 안착시킨 다음 그 위에 층층이 변환을 쌓습니다. 프라이버시, 비용, 계약상의 제약이 데이터가 안착하기 전에 정제나 필터링을 요구하는 경우에 적재 전 변환을 남겨 두십시오.

지연 필요에 맞춰 배치와 스트리밍 파이프라인을 설계한다

대부분의 분석 필요는 추론, 테스트, 백필이 더 단순한 예약된 배치 파이프라인으로 잘 충족됩니다. 비즈니스가 정말로 낮은 지연의 데이터를 필요로 할 때만 스트리밍에 손을 뻗으십시오. 사기 탐지, 운영 알림, 실시간 개인화입니다. 스트리밍은 순서, 정확히 한 번 의미론, 늦게 도착하는 데이터, 상태 관리에 실제 복잡성을 더합니다. 둘 다 필요하면 갈라지는 두 코드베이스를 유지하는 대신 배치와 스트리밍 로직을 통합하는 아키텍처를 고려하십시오. 지연 요건에 대해 정직하십시오. “실시간”은 비용을 두 배로 만드는 검토되지 않은 소원인 경우가 많습니다.

명시적 의존성으로 오케스트레이션한다

오케스트레이터를 써서 파이프라인을 명시적 의존성, 재시도, 스케줄링이 있는 과업의 방향 비순환 그래프(DAG)로 표현하십시오. 이는 무엇이 실행되고, 실패하고, 막혀 있는지의 가시성과 결정적으로 백필하고 다시 실행하는 능력을 줍니다. 의존성을 시계 시간만이 아니라 데이터 가용성에 근거해, 하류 작업이 짐작으로 발동하는 대신 상류 데이터를 기다리게 하십시오. 오케스트레이션 로직을 버전 관리에 두고 DAG 변경을 코드 변경처럼 다루십시오.

소비를 위해 데이터를 모델링한다

원시 테이블은 분석가에게 적합한 경우가 드뭅니다. 거버넌스가 적용되고 재사용 가능한 셀프서비스 분석이 필요한 곳에는 사실과 정합 차원을 스타 스키마에 배치하는 차원 모델링을 적용하십시오. 넓은 비정규화 테이블(“하나의 큰 테이블”)은 특정 질의 패턴에서 더 나은 성능을 낼 수 있고 일부 소비자에게 더 단순하지만, 중복과 유연성을 대가로 합니다. 변환을 층층이 쌓으십시오. 원시 스테이징 계층, 정제되고 정합된 핵심 계층, 소비자 대면 마트입니다. 이 분리는 한 곳에서 로직을 고치게 하고, 소비자가 안정적인 인터페이스에 의존하게 합니다.

파이프라인을 멱등하고 테스트 가능하게 만든다

다시 실행하면 데이터를 중복하거나 오염시키는 대신 같은 결과를 내도록 변환을 설계하십시오. 예컨대 비즈니스 식별자를 키로 하는 결정적 업서트와 파티션 덮어쓰기 패턴을 씁니다. 여러 수준에서 테스트를 작성하십시오. 변환 로직의 단위 테스트, 스키마 테스트, 고유성, 널이 아닌 키, 참조 무결성, 허용되는 값 범위 같은 기대를 단언하는 데이터 테스트입니다. 이를 CI에서 돌려 나쁜 변경이 프로덕션 데이터에 닿기 전에 잡으십시오.

관측 가능성과 신뢰성을 계측한다

데이터 건강의 네 가지 핵심 신호를 모니터링하십시오. 최신성(최신인가), 양(행 수가 예상 범위에 있는가), 스키마(구조가 예상치 못하게 바뀌었는가), 분포(값이 비정상적으로 드리프트했는가)입니다. 위반 시 알리고 소유 팀에 라우팅하십시오. 서비스에 하듯 데이터 사고에도 런북, 온콜 순환, 비난 없는 사후 검토를 유지하십시오. 계보를 추적해 무언가 깨질 때 하류 영향을 곧바로 볼 수 있게 하십시오.

저장과 비용을 최적화한다

Parquet 같은 컬럼 방식 개방형 형식이나 스키마 진화, 시간 여행, 효율적 갱신을 지원하는 개방형 테이블 형식을 쓰십시오. 가장 많이 필터링하는 열, 보통 날짜로 데이터를 파티셔닝하고, 압축으로 작은 파일의 난립을 피하십시오. 계층형 저장소와 수명 주기 정책으로 뜨거운 데이터와 차가운 데이터를 분리하십시오. 파이프라인별 및 질의별 컴퓨트 지출을 모니터링하십시오. 폭주하는 비용은 보통 전체 스캔, 빠진 파티션, 무제한 재처리에서 옵니다. 비용을 월간 청구서의 놀람이 아니라 소유자가 있는 지표로 다루십시오.

장단점

선택장점단점가장 적합한 곳
ELT (제자리 변환)원시 데이터를 유지. 싼 저장. 재처리 가능큰 저장 공간. 거버넌스 필요클라우드 분석
ETL (적재 전 변환)비용 통제. 민감한 데이터를 일찍 필터링원시를 잃음. 재처리가 더 어려움규제되거나 제약된 적재
배치단순하고 테스트 가능하며 백필 쉬움더 높은 지연대부분의 분석
스트리밍낮은 지연. 실시간 반응복잡하고 비싸며 테스트하기 어려움사기. 운영 알림
스타 스키마거버넌스가 적용되고 재사용 가능하며 셀프서비스 친화적선행 모델링 노력공유 BI
넓은 테이블알려진 질의에 빠르고 단순중복. 덜 유연좁은 고성능 용도

지배적 트레이드오프는 단순함 대 지연과 유연성입니다. 배치와 ELT에 층층이 쌓은 스타 스키마는 대부분의 필요를 감당할 수 있는 비용으로 충족하는, 테스트 가능하고, 백필 가능하고, 잘 이해되는 시스템을 줍니다. 스트리밍, 실시간, 크게 비정규화된 설계는 속도와 특정 성능을 사지만 운영 복잡성과 테스트 어려움이라는 가파른 비용을 치릅니다. 구체적 비즈니스 요건이 값을 치르는 곳에서만 복잡성을 채택하고, 단순한 길을 기본으로 유지하십시오.

팀과 논의할 질문

  1. ETL 대신 ELT를 의도적으로 골랐으며, 로직이 바뀌거나 버그가 드러날 때 재처리할 수 있도록 원시 불변 데이터를 유지하고 있습니까? 이 장의 기본은 ELT입니다. 원시 데이터를 싸게 안착시킨 다음 층층이 변환을 쌓습니다. 원시를 유지하면 규칙이 바뀌거나 몇 주 뒤 버그가 나타날 때 모든 것을 다시 실행할 수 있기 때문입니다. 원시 데이터를 삭제하면 그 옵션이 막히며 흔하고 고통스러운 함정입니다. 규제되거나 제약된 적재에서는 ETL을 위한 경쟁하는 논거도 실제입니다. 프라이버시, 비용, 계약 조건이 데이터가 안착하기 전에 필터링이나 마스킹을 요구하기 때문입니다. 증거를 가져오십시오. 이력을 얼마나 자주 재처리해야 했고, 그러지 못했을 때 비용이 얼마였습니까? 어떤 수치든 원천까지 추적해야 하는 정부나 기업 파이프라인에서 불변 원시 기록은 감사 가능성 요건이기도 하므로, 답은 저장 정책과 법적 방어 가능성을 모두 형성합니다.

  2. 데이터 건강의 네 신호 중 실제로 모니터링하는 것은 무엇이며, 하나가 깨지면 누가 호출받습니까? 이 장은 지켜볼 가치가 있는 네 신호를 짚습니다. 최신성, 양, 스키마, 분포입니다. 많은 팀이 이 중 어느 것도 모니터링하지 않고, 낡은 대시보드를 바라보는 임원에게서 실패를 알게 되는데, 이는 가능한 최악의 탐지기입니다. 기업과 정부 규모에서 단 한 번의 조용한 실패가 틀린 데이터를 지급, 보고서, 공개 통계에 밀어 넣을 수 있으므로, 늦은 탐지의 비용은 단순한 재작업이 아니라 신뢰와 돈으로 측정됩니다. 실제 평균 탐지 시간과 현재 사고를 가장 먼저 발견하는 사람의 이름을 가져오십시오. 답이 “소비자”라면 소유 팀에 라우팅되는 알림과 런북, 비난 없는 사후 검토가 필요하며, 데이터 사고를 서비스 장애와 똑같이 다뤄야 합니다.

  3. 분석가들이 모델링되고 테스트된 마트를 소비합니까, 아니면 원시 테이블을 쏟아 놓고 셀프서비스라 부르고 있습니까? 이 장은 직설적입니다. 원시 테이블은 분석가에게 적합한 경우가 드물고, 변환을 원시 스테이징 계층, 정합된 핵심, 소비자 대면 마트로 층층이 쌓으면 로직을 한 번 고치고 소비자에게 안정적인 인터페이스를 줄 수 있습니다. 경쟁하는 끌림은 속도입니다. 스타 스키마나 의도적인 넓은 테이블로 모델링하는 데는 선행 노력이 들어 건너뛰고 싶어지기 때문입니다. 그러나 원시 데이터를 쏟아 놓으면 모델링 비용이 모든 분석가에게 반복해서 전가되어 갈라지는 숫자와 낭비된 시간을 낳습니다. 신호를 가져오십시오. 분석가 시간의 몇 퍼센트가 원시 데이터를 재구성하는 데 가며, 몇 팀이 같은 조인을 다시 만들었습니까? 숫자가 높다면 소비자가 재발명하는 대신 테스트되고 재사용 가능한 인터페이스에 의존하도록 정합된 핵심 계층에 투자하십시오.

  4. “실시간”은 어디서 정말로 비용만큼 값하며, 어디서 조용히 운영 부담을 두 배로 만드는 검토되지 않은 소원입니까? 이 장의 기본은 추론, 테스트, 백필이 더 단순한 예약된 배치이고, 스트리밍은 사기 탐지나 운영 알림처럼 비즈니스가 정말로 낮은 지연을 필요로 하는 경우에 남겨 둡니다. 경쟁하는 끌림은 위신과 “라이브” 데이터에 대한 막연한 이해관계자 요청입니다. 이는 기획 회의에서는 싸게 들리고 프로덕션에서는 비싸집니다. 스트리밍은 순서, 정확히 한 번 의미론, 늦게 도착하는 데이터, 상태 관리와, 배치 로직과 보조를 맞춰야 하는 두 번째 코드베이스를 끌고 오기 때문입니다. 논의에 증거를 가져오십시오. 운영하거나 제안하는 각 스트리밍 파이프라인에 대해, 그것이 공급하는 결정과 그 결정이 실제로 허용하는 지연을 형용사가 아니라 분이나 시간으로 이름 붙이십시오. 대기업이나 정부 플랫폼에서는 모든 실시간 경로의 온콜과 테스트 비용을 더하십시오. 아무도 테스트하거나 24시간 인력을 둘 수 없는 스트리밍 파이프라인은 기능으로 포장된 신뢰성 부채이며, 정직한 답은 흔히 “실시간” 요건을 같은 결정을 충족하는 시간별 배치로 되돌립니다.

  5. 오늘 안전하게 다시 실행할 수 없는 파이프라인은 어느 것이며, 모든 변환을 멱등하게 만들려면 무엇이 필요합니까? 이 장은 멱등하고 재현 가능한 변환을 주장합니다. 비즈니스 식별자를 키로 하는 결정적 업서트와 파티션 덮어쓰기 패턴을 써서, 다시 실행하면 데이터를 중복하거나 오염시키는 대신 같은 결과가 나오게 합니다. 경쟁하는 압력은 전달 속도입니다. 단순한 추가 전용 작업은 다시 실행 가능하게 설계된 것보다 빨리 출하되고, 그 지름길의 비용은 실패가 새벽 2시에 부분 재실행을 강제하고 누군가 매출을 이중 집계할 때까지 숨어 있기 때문입니다. 구체적인 목록을 가져오십시오. 실패 지점부터 다시 실행하면 데이터를 오염시킬 작업을 열거하고, 최악의 작업의 피해 범위를 추정하십시오. 단 한 번의 조용한 실패가 틀린 데이터를 지급, 보고서, 공개 통계에 밀어 넣을 수 있는 기업과 정부 규모에서, 멱등하지 않은 처리는 단지 불편한 것이 아닙니다. 규칙이 바뀐 뒤 한 기간을 재처리하면서도 모든 수치를 원천까지 추적할 수 있게 하는 감사 가능성을 훼손하므로, 재실행을 안전하게 하는 재작업에 자금을 대는 것은 정돈의 문제가 아니라 통제의 문제입니다.

  6. 각 파이프라인을 운영하는 데 얼마가 드는지, 누가 그 숫자를 소유하는지, 클라우드 청구서의 얼마가 전체 스캔과 빠진 파티션에서 오는지 압니까? 이 장은 저장 형식, 파티셔닝, 컴퓨트 지출을 소유자가 있는 일급 관심사로 다루며, 폭주하는 비용은 보통 전체 스캔, 빠진 파티션, 무제한 재처리로 추적된다고 경고합니다. 경쟁하는 고려는 비용 작업이 기능을 출하하는 것보다 덜 급해 보여, 월간 청구서가 놀람이 되고 재무가 엔지니어링이 답할 수 없는 질문을 하기 시작할 때까지 미뤄진다는 것입니다. 증거를 가져오십시오. 파이프라인별 및 질의별 지출, 파티션되지 않은 스캔에서 오는 비용의 비율, 압축해야 하는 작은 파일의 수입니다. 많은 원천 시스템에 걸쳐 수십억 건의 기록을 돌리는 큰 조직에서 소유자 없는 클라우드 청구서는 어느 단일 팀도 책임을 느끼지 않은 채 커지고, 정부 환경에서 공공 지출은 항목별로 정당화되어야 하므로, 컴퓨트 비용을 추적되는 지표와 함께 지명된 소유자에게 귀속시키면 불투명한 비용이 관리되는 비용이 되고 다음 플랫폼 투자에 자금을 댈 만큼 큰 절감을 드러내는 경우가 많습니다.

분야별 관점

스타트업. 속도가 아키텍처를 이깁니다. 수집을 관리형 커넥터에 연결하고, 소수의 버전 관리되는 변환을 만들고, 밤사이 조용히 깨지는 cron 작업을 직접 짜는 대신 스스로 재시도하고 백필하는 가벼운 오케스트레이터에서 돌리십시오. 모든 모델을 첫 커밋부터 멱등하게 유지하고 널 키와 행 수에 대한 몇 개의 싼 테스트를 더해, 나쁜 원천 변경이 창업자의 월요일 대시보드에 나타나는 대신 CI에서 실패하게 하십시오. 스트리밍이나 맞춤 플랫폼은 세우지 마십시오. 가장 희소한 자원은 엔지니어링의 주의입니다.

소기업. 전담 데이터 엔지니어가 없으니 조립하기보다 통합 스택을 사는 쪽을 선호하십시오. 관리형 ELT 서비스에 클라우드 웨어하우스를 더하면 이를 유지할 플랫폼 팀 없이 커넥터, 스케줄링, 저장을 얻습니다. 선택을 파이프라인 프로젝트가 아니라 데이터 위생으로 구성하십시오. 어느 원천 시스템이 보고서에 공급하는지 알고, 틀린 숫자를 추적하고 재처리할 수 있도록 원시 데이터를 유지하고, 전체 테이블 스캔이 월 예산을 날리지 않도록 비용이 예측 가능한 도구를 고르십시오.

대기업. 문제는 많은 팀과 많은 원천 시스템에서 오는 수십억 기록에 걸친 일관성입니다. 그룹들이 취약한 파이프라인을 다시 발명하지 않도록 ELT 패턴, 층층이 쌓은 스테이징-핵심-마트 모델, 네 가지 데이터 건강 신호를 표준화하십시오. 모든 모델에 데이터 테스트와 CI를 시행하고, 컴퓨트 비용을 소유 팀에 귀속시키고, 조용한 실패가 눈에 띄지 않고 대시보드에 닿는 일이 없도록 서비스에 쓰는 것과 같은 온콜, 런북, 비난 없는 사후 검토 규율로 데이터 사고를 처리하십시오.

정부. 조달 규칙, 투명성, 공적 책임이 파이프라인을 형성합니다. 감사 가능성을 위해 불변 원시 기록을 안착시키고, 층층이 테스트되는 단계에서 변환하고, 감사자가 공표된 모든 수치를 흔히 법적 요건인 원천 문서까지 추적할 수 있도록 전체 계보를 유지하십시오. 멱등 처리는 규칙이 바뀔 때 제출이나 보고 기간을 안전하게 재처리하게 해 주며, 개방형 형식과 이식 가능한 변환 코드를 선호하면 여러 해 계약에 걸쳐 단일 벤더에 종속되는 것을 막습니다.

사례

스타트업. 열 명의 분석 스타트업은 밤사이 조용히 깨지고 엔지니어가 손으로 하나를 다시 실행하면 가끔 행을 이중 집계하는 cron 작업의 엉킴으로 자라나 있었습니다. 팀은 수집에는 관리형 커넥터, 버전 관리되는 모델에는 변환 프레임워크, 스스로 재시도하고 백필하는 가벼운 오케스트레이터로 옮겼습니다. 모든 모델을 멱등하게 만들고 널 키와 행 수에 대한 몇 개의 테스트를 더해, 이제 나쁜 원천 변경이 창업자의 월요일 대시보드에 나타나는 대신 CI에서 실패합니다.

기업. 한 글로벌 소매업체가 손으로 쓴 수백 개의 추출 스크립트를 ELT 스택으로 교체했습니다. 관리형 커넥터가 원시 원천 데이터를 안착시키고, 변환 프레임워크가 레이크하우스에 테스트되고 버전 관리되는 모델을 만들며, 오케스트레이터가 재시도와 백필로 의존성을 관리합니다. 데이터 테스트가 원천 시스템의 스키마 드리프트를 대시보드에 닿기 전에 잡습니다. 파티셔닝된 컬럼 방식 저장이 질의 비용을 상당히 줄이는 동시에 최신성을 일 단위에서 시간 단위로 개선했습니다.

정부. 한 세무 당국은 제출물과 제3자 데이터를 거버넌스가 적용되는 파이프라인으로 수집하는데, 감사 가능성을 위해 불변 원시 기록을 안착시킨 다음 층층이 테스트되는 단계에서 변환합니다. 멱등 처리 덕에 규칙이 바뀔 때 제출 기간을 안전하게 재처리할 수 있습니다. 전체 계보 덕에 감사자가 계산된 어떤 수치든 공적 책임을 위한 법적 요건인 원천 문서까지 추적할 수 있습니다.

비즈니스 사례: 동기, ROI, TCO

규율 있는 데이터 엔지니어링의 ROI는 신뢰성, 속도, 비용 통제에서 나옵니다. 믿을 만한 파이프라인은 결정과 보고서가 신뢰할 수 있는 데이터에 근거한다는 뜻이므로, 틀린 숫자의 비싼 재작업과 평판 손상을 피합니다. 모듈식이고 테스트된 파이프라인은 팀이 새 데이터 제품을 더 빨리 출하하게 하여 모든 하류의 분석과 ML 투자의 가치를 복리로 키웁니다. 저장과 컴퓨트를 최적화하면 클라우드 청구서가 직접 줄며, 파티셔닝과 질의 패턴이 고쳐지면 큰 폭인 경우가 많습니다.

도입 비용에는 플랫폼 도구, 테스트되는 모듈식 파이프라인을 만드는 엔지니어링 시간, 데이터를 소프트웨어로 다루는 규율이 있습니다. 이를 도입하지 않는 비용에 견주어 저울질하십시오. 작성자만 이해하는 취약한 맞춤 작업, 임원이 발견하는 조용한 데이터 오염, 전체 테이블 스캔으로 부푸는 클라우드 지출, 데이터를 기다리며 막힌 분석가입니다. 리더십에는 데이터 엔지니어링을 분석, BI, AI를 신뢰할 수 있고 감당할 수 있게 하는 기초로 구성하십시오. 여기에 과소 투자하면 그 위의 모든 데이터 이니셔티브의 수익에 상한을 씌웁니다.

안티패턴과 함정

  • 버전 관리, 테스트, 리뷰가 없는 일회성 스크립트로 만든 파이프라인.
  • 실패 뒤 다시 실행하면 데이터를 중복하거나 오염시키는 멱등하지 않은 작업.
  • 배치가 지연 요건을 충족할 수 있는데 위신 때문에 스트리밍을 채택하는 것.
  • 원시 테이블을 분석가에게 쏟아 놓고 셀프서비스라 부르는 것.
  • 관측 가능성이 없어 하류 소비자가 실패를 발견하는 것.
  • 클라우드 청구서가 폭발할 때까지 파티셔닝과 파일 크기를 무시하는 것.
  • 수집, 변환, 서빙을 결합해 아무것도 안전하게 바꿀 수 없게 하는 것.
  • 원시 데이터를 삭제해 로직이 바뀔 때 재처리가 불가능해지는 것.

성숙도 모델

  1. 시작: 테스트도 모니터링도 없는 즉흥적 스크립트와 수동 실행. 실패는 하류 소비자가 발견하고, 작업은 안전하게 다시 실행할 수 없으며, 클라우드 비용은 관리되지 않고 귀속되지 않습니다.
  2. 발전: 일부 팀이 오케스트레이터를 채택하고 기본 변환을 버전 관리에 두었지만 실천은 조직 전반에서 일관되지 않습니다. 가끔 테스트가 있고, 멱등성은 들쭉날쭉하며, 깨진 파이프라인은 여전히 반응적 불 끄기를 뜻합니다.
  3. 표준화: 테스트되고 버전 관리되는, 층층이 쌓은 스테이징-핵심-마트 모델을 가진 ELT가 팀 전반에 적용되는 문서화된 표준입니다. 재시도와 백필이 있는 오케스트레이션된 의존성, CI에서 도는 데이터 테스트, 스타 스키마 모델링과 파티셔닝의 공유 관례가 각 그룹에 맡겨지는 대신 조직 전체에서 시행됩니다.
  4. 관리: 플랫폼이 측정되고 통제됩니다. 최신성, 양, 스키마, 분포가 소유 팀에 라우팅되는 알림과 함께 모니터링되고, 파이프라인 SLA, 평균 탐지 시간, 데이터 품질 통과율, 파이프라인별 및 질의별 컴퓨트 비용이 기준선에 대해 추적됩니다. 롤백과 중단 임계값이 증거에 따라 시행되고, 비용과 신뢰성에 목표로 평가받는 지명된 소유자가 있습니다.
  5. 오케스트레이션: 파이프라인이 CI/CD, 데이터 계약, 소비자보다 먼저 드리프트를 잡는 자동 이상 탐지와 함께 완전히 소프트웨어로 다뤄집니다. 지연이 정말로 보답하는 곳에서는 배치와 스트리밍 로직이 통합되고, 플랫폼은 지속적으로 개선되는 셀프서비스이며, 워크로드가 이동함에 따라 용량, 저장 계층, 비용이 적응적으로 재균형되어 새 데이터 제품이 안정적인 기초 위에서 빠르게 출하됩니다.

논의를 위한 아이디어

  • 스택의 어디서 “실시간”이 비용만큼 값을 하고, 어디서 희망 사항입니까?
  • 오늘 안전하게 다시 실행할 수 없는 파이프라인은 어느 것이며, 고치려면 무엇이 필요합니까?
  • 클라우드 데이터 청구서의 얼마가 전체 스캔과 빠진 파티션에서 옵니까?
  • 분석가들이 모델링된 마트를 소비합니까, 원시 테이블을 소비합니까? 그것이 그들에게 무엇을 치르게 합니까?
  • 데이터 사고의 평균 탐지 시간은 얼마이며, 누가 가장 먼저 발견합니까?
  • 배치와 스트리밍 로직을 통합하면 유지보수 부담이 줄겠습니까, 위험이 늘겠습니까?

핵심 요점

  • 파이프라인을 소프트웨어로 다루십시오. 버전 관리, 테스트, 리뷰, CI/CD, 관측 가능성입니다.
  • 층층이 쌓고 테스트되는 모델의 ELT를 선호하고, 재처리를 위해 원시 데이터를 유지하십시오.
  • 기본은 배치로 하고, 지연이 정말로 보답하는 곳에서만 스트리밍을 쓰십시오.
  • 재실행이 안전하도록 변환을 멱등하게 만드십시오.
  • 스타 스키마나 의도적인 넓은 테이블로 소비자를 위해 데이터를 모델링하십시오.
  • 최신성, 양, 스키마, 분포를 모니터링하고 데이터 사고를 장애처럼 다루십시오.
  • 저장 형식, 파티셔닝, 컴퓨트 비용을 일급 관심사로 최적화하십시오.

참고 문헌과 더 읽을거리

  • Joe Reis and Matt Housley, “Fundamentals of Data Engineering.”
  • Ralph Kimball and Margy Ross, “The Data Warehouse Toolkit.”
  • Martin Kleppmann, “Designing Data-Intensive Applications.”
  • Bill Inmon, “Building the Data Warehouse.”
  • James Densmore, “Data Pipelines Pocket Reference.”
  • Nathan Marz and James Warren, “Big Data” (Lambda architecture).
  • Barr Moses and colleagues, “Data Quality Fundamentals” (data observability).