본문 바로가기
DA

[데이터 엔지니어링] 수명 주기의 드러나지 않는 주요 요소

by 권미정 2024. 9. 24.

조 라이스, 맷 하우슬리 저자  <견고한 데이터엔지니어링>의 CHAPTER 2.2.1~2.2.3을 참고하여 요약정리하여 작성한 글입니다.

견고한 데이터 엔지니어링 | 조 라이스 - 교보문고

견고한 데이터 엔지니어링 | 실용적인 데이터 엔지니어링의 세계로 이끄는 최고의 안내서! 고객 요구 사항에 맞는 시스템을 계획하고 구축하는 방법데이터 엔지니어링 분야가 빠르게 성장하면

product.kyobobook.co.kr

 


데이터 엔지니어링 수명 주기의 드러나지 않는 주요 요소

데이터 엔지니어링이 빠르게 발전하면서, 이제 데이터 관리 및 비용 최적화와 같은 전통적인 엔터프라이즈 관행과 데이터옵스와 같은 새로운 관행을 통합해 가치 사슬을 위쪽으로 끌어올리고 있습니다.
아래 표의 7가지 관행들을 드러나지 않는 요소(undercurrent)라 부르는데, 이 요소는 데이터 엔지니어링 수명 주기의 모든 측면을 지원합니다. 이번 글에서는 보안, 데이터 관리, 데이터옵스 세 가지 요소를 자세히 다뤄보겠습니다.

보안데이터 관리데이터옵스데이터 아키텍처오케스트레이션소프트웨어
엔지니어링
1. 접근 제어
- 데이터
- 시스템
1. 데이터 거버넌스
- 발견 가능성
- 정의
- 책임
2. 데이터 모델링
3. 데이터 무결성
1. 데이터 거버넌스
2. 관찰 가능성과 모니터링
3. 사건 보고
1. 데이터 분석 트레이드 오프
2. 디자인과 민첩성
3. 비즈니스에 가치 더하기
1. 워크플로 조정
2. 작업 스케줄링
3. 작업 관리
1. 프로그래밍과 코딩 기술
2. 소프트웨어 디자인 패턴
3. 테스트와 디버깅

 

1. 보안

보안이 드러나지 않는 요소의 첫 번째 요소인 이유는 데이터 엔지니어는 보안을 최우선으로 생각해야 하기 때문입니다. 데이터 엔지니어는 데이터와 접근 보안을 모두 이해하고 최소 권한 원칙을 실행해야 합니다. 최소 권한 원칙이란, 사용자 또는 시스템이 의도된 기능을 수행하는 데 필수적인 데이터와 자원에만 접근할 수 있는 것을 의미합니다. 자신에게 최소 권한 원칙을 강제함으로써 우발적인 피해를 방지하고 안전제일의 사고 방식을 유지할 수 있겠죠.
데이터 보안의 첫 번째 방어선은 조직에 스며들 수 있는 보안 문화를 구축하는 것입니다. 데이터에 접근할 수 있는 모든 개인은 회사의 기밀 데이터와 고객을 보호할 책임이 있음을 이해해야 합니다.
또한 접근 타이밍과도 관련이 있는데, 데이터 보안에 접근해야 하는 사람과 시스템에 정확하게 데이터 접근을 제공하되 해당 작업을 수행하는 데 필요한 기간 동안만 허용하는 것입니다. 암호화, 토큰화, 데이터 마스킹, 난독화 및 단순하고 견고한 접근 제어를 사용해 이동 중인 데이터와 저장된 데이터 모두 원치 않는 가시성으로부터 보호해야 합니다. 
 

2. 데이터 관리

데이터 도구가 단순해지면서 데이터 엔지니어가 관리할 복잡성도 줄어들고 있습니다. 이전에는 데이터 거버넌스, 마스터 데이터 관리, 데이터 품질 관리, 메타데이터 관리 등 대기업의 전유물이었던 데이터 모범 사례가, 이제는 기업 규모 및 성숙도와 관계없이 모든 기업으로 확대되고 있습니다. 데이터 엔지니어링이 '기업화'되고 있다고 할 수 있죠.
DAMA에서 발행하는 데이터 관리 지식 체계 가이드북 DMBOK에서는 데이터 관리를 다음과 같이 정의하고 있습니다.

데이터 관리는 수명 주기 전체에 걸쳐 데이터와 정보 자산의 가치를 제공, 제어, 보호 및 향상할 계획, 정책, 프로그램과 사례를 개발, 실행 및 감독하는 것이다.

데이터 엔지니어는 데이터 수명 주기를 관리하며, 데이터 관리는 데이터 엔지니어가 이 작업을 수행할 때 기술적 또는 전략적으로 활용하는 일련의 모범 사례를 포함합니다. 데이터 관리 프레임워크가 없다면 데이터 엔지니어는 공백 상태에서 작업하는 기술자에 불과하다고 할 수 있습니다.
그렇다면 데이터 관리가 중요한 이유는 무엇일까요? 데이터 관리는 기업이 재무 자원, 완제품 또는 부동산을 자산으로 보는 것과 마찬가지로, 일상적인 운영에 데이터가 필수 요소라는 것을 보여줍니다. 데이터 관리 관행은 조직이 데이터로부터 가치를 얻고 적절히 처리할 수 있도록 모든 사람이 채택할 수 있는 일관된 프레임워크를 형성합니다.
데이터 관리에는 여러 측면이 있는데, 데이터 엔지니어링과 관련한 각 분야의 몇 가지 주요 사항을 간략히 살펴보겠습니다.
 

① 데이터 거버넌스

데이터 거버넌스는 적절한 보안 제어로 데이터를 보호하면서, 조직 전체의 데이터 가치를 극대화하기 위해 인력, 프로세스 및 기술을 활용한다고 할 수 있습니다. 만약 데이터 거버넌스가 제대로 이루어지지 않았다면, 보고서 요청을 받은 비즈니스 분석가는 답변하는 데 필요한 데이터가 무엇인지를 알지 못합니다. 그렇게 되면 어떤 필드가 유용할지 추측하는 데만 몇 시간씩 시간을 허비하고, 보고서의 데이터는 정확성, 타당성, 유효성 등이 떨어지게 되겠죠.
반대로 데이터 거버넌스가 잘 실행되면 사람, 프로세스 및 기술이 연계되어 데이터를 주요 비즈니스 동력으로 취급하고, 데이터 문제가 발생하면 신속하게 처리할 수 있습니다. 
데이터 거버넌스의 핵심 범주는 발견 가능성, 보안, 책임이 있습니다. 각 핵심 범주를 차례로 살펴보겠습니다.
 

발견 가능성

데이터 중심 기업의 최종 사용자는 작업에 필요한 데이터에 신속하고 안정적으로 접근할 수 있어야 합니다. 또 데이터의 출처, 데이터와 다른 데이터와의 관계성, 데이터의 의미를 알아야 합니다. 
데이터 발견 가능성의 주요 분야로는 메타데이터 관리 및 마스터 데이터 관리 등이 있습니다.
 

메타데이터

메타데이터는 '데이터에 관한 데이터'로, 데이터 엔지니어링 수명 주기의 모든 부분을 뒷받침합니다. 데이터를 검색하고 제어하는 데 필요한 데이터입니다. 메타데이터 시스템과 프로세스가 있으면 데이터 엔지니어는 유용한 방식으로 메타데이터를 사용할 수 있습니다. 메타데이터는 수명 주기 전체에 걸쳐 파이프라인을 설계하고 데이터를 관리하는 기반이 됩니다.
다음으로는 DMBOK가 제시한 데이터 엔지니어에게 유용한 메타데이터의 네 가지 주요 범주를 살펴보겠습니다.

비즈니스 메타데이터비즈니스와 데이터 정의, 데이터 규칙과 로직, 데이터 사용 방법과 장소, 데이터 소유자 등 비즈니스에서 데이터가 사용되는 방식과 관련있음.
e.g. 목표: 고객 판매 분석을 위한 데이터 파이프라인 작성
→ 데이터 사전 또는 데이터 카탈로그를 참조해서 어떻게 '고객'을 정의했는지 찾아봄.
기술 메타데이터데이터 엔지니어링 수명 주기 전반에 걸쳐 시스템이 생성하고 사용하는 데이터를 의미함.
e.g. 파이프라인 메타데이터(워크플로 일정, 시스템과 데이터 종속성, 구성, 연결 세부 정보 등 제공), 데이터 계보(데이터 원본과 변경 사항, 데이터 종속성을 시간에 따라 추적), 스키마(시스템에 저장된 데이터 구조 설명)
운영 메타데이터다양한 시스템의 운영 결과를 설명하며 프로세스, 작업 ID, 애플리케이션 런타임 로그, 사용되는 데이터 및 오류 로그에 대한 통계를 포함함. 프로세스의 성공 또는 실패 여부와 그 프로세스에 관련된 데이터를 판단함.
참조 메타데이터
(조회 데이터)
표준 사례로 내부 코드, 지리적 코드, 측정 단위 및 내부 달력 표준 등이 있음. 다른 데이터를 해석하기 위한 표준이므로 데이터가 변경되면 시간이 지남에 따라 서서히 변경됨.

데이터 책임

데이터 책임이란 데이터의 일부를 관리할 개인을 지정하는 것을 의미합니다. 그런 다음 책임자는 다른 이해관계자의 거버넌스 활동을 조정합니다. 문제가 있는 데이터에 대해 책임지는 사람이 없으면 데이터 품질 관리가 어려워지겠죠.
또한 책임은 테이블 또는 로그 스트림 수준에서 발생할 수도 있지만, 여러 테이블에 걸쳐 발생하는 단일 필드 엔티티처럼 세분화될 수도 있습니다.

데이터 품질

데이터 품질은 데이터를 원하는 상태로 최적화하는 것으로 '기대하는 것과 비교해 어떤 결과를 얻을 수 있을까?'라는 질문을 중심으로 합니다. 데이터는 비즈니스 메타데이터의 기대치에 부합해야 합니다. 
데이터 엔지니어는 데이터 엔지니어링 수명 주기 전체에 걸쳐 데이터 품질을 보장합니다. 여기에는 데이터 품질 테스트를 수행하고, 스키마 기대치, 데이터 완전성 및 정밀도에 대한 데이터 준수를 보장하는 것이 포함됩니다.
에브렌 에리우렉의 저서에 따르면, 데이터 품질은 다음 3가지 주요 특징으로 정의됩니다.

  • 정확도: 수집된 데이터가 실제로 정확한가? 중복된 값이 있는가? 수치가 정확한가?
  • 완전성: 기록은 완전한가? 모든 필수 필드에 유효값이 포함되는가?
  • 적시성: 기록을 시기적절하게 이용할 수 있는가?

마스터 데이터 관리(MDM)

마스터 데이터는 직원, 고객, 제품 및 위치와 같은 비즈니스 엔티티에 대한 데이터입니다. MDM은 골든 레코드로 알려진 일관된 엔티티 정의를 구축하는 관행으로, 여기서 골든 레코드는 조직 전체 및 파트너 간에 엔티티 데이터를 조화시킵니다. MDM은 기술 도구를 구축하고 배포함으로써 촉진되는 비즈니스 운영 프로세스입니다. 예를 들어 MDM 팀은 주소의 표준 형식을 결정한 다음, 데이터 엔지니어와 협력해 일관된 주소를 반환하는 API와 주소 데이터를 사용해서 회사 부서 전반의 고객 레코드를 일치시키는 시스템을 구축할 수 있습니다. 
 

② 데이터 모델링 및 설계

비즈니스 분석과 데이터 과학을 통해 데이터에서 비즈니스 통찰력을 얻으려면 데이터가 사용가능한 형태로 제공되어야 하는데, 이 프로세스를 데이터 모델링 및 설계라고 합니다. 데이터 모델링은 조직 내 거의 모든 곳에서 발생할 수 있습니다. 예를 들어, 펌웨어 엔지니어가 IoT 장치용 레코드의 데이터 형식을 개발하거나, 웹 애플리케이션 개발자가 API 호출 또는 MySQL 테이블 스키마에 대한 JSON 응답을 설계하는 것 등이 있습니다.
새로운 데이터 원천과 사용 사례가 다양해지면서 데이터 모델링이 더욱 어려워졌는데, 다행히 차세대 데이터 도구는 측정, 차원, 속성 및 계층 구조를 논리적으로 구분하는 동시에 데이터 모델의 유연성을 높여줍니다.
데이터 엔지니어는 모델링의 모범 사례를 이해하고, 데이터 원천과 사용 사례에 적절한 수준과 유형의 모델링을 적용할 수 있는 유연성을 개발해야 합니다.

③ 데이터 계보

데이터 계보란 데이터를 처리하는 시스템과 데이터가 의존하는 업스트림 데이터를 모두 추적해 수명 주기 전체에 걸쳐 데이터의 감사 추적을 기록하는 것을 말합니다.
데이터 계보의 이점으로는 데이터 및 데이터를 처리하는 시스템의 오류 추적, 설명 및 디버깅에 도움이 되고, 데이터 수명 주기에 대한 감사 추적을 제공하며, 컴플라이언스(규정 준수)에 도움이 된다는 것 등이 있습니다. 예를 들어, 사용자가 시스템에서 데이터를 삭제하려는 경우 해당 데이터에 대한 계보가 있으면 데이터가 저장된 위치와 종속성을 알 수 있습니다.

④ 데이터 통합과 상호 운용성

데이터 통합과 상호 운용성은 여러 도구와 프로세스 전반에 걸쳐 데이터를 통합하는 프로세스입니다. 분석에 대한 단일 스택 접근 방식에서 벗어나, 다양한 도구가 온디맨드로 데이터를 처리하는 이기종 클라우드 환경으로 전환함에 따라 통합 및 상호 운용성은 데이터 엔지니어의 작업 범위를 더욱 넓히고 있습니다.
데이터 통합은 맞춤형 데이터베이스 연결이 아닌 범용 API를 통해 이루어지는 경우가 늘고 있습니다. 모든 작업은 데이터를 직접 처리하는 대신 데이터 시스템과 통신하는 비교적 단순한 파이썬 코드로 관리할 수 있습니다. 데이터 시스템과의 상호 작용의 복잡성은 감소했지만, 시스템 수와 파이프라인의 복잡성은 극적으로 증가하게 되었습니다.

⑤ 데이터 수명 주기 관리

엔지니어는 다음 두 가지 변화에 따라 데이터 엔지니어링 수명 주기가 끝나는 마지막 단계에서 발생하는 일 중 '데이터 보관 및 파기'에 더 많은 관심을 기울이게 되었습니다.
첫째, 클라우드에 점점 더 많은 데이터가 저장되고 있습니다. 즉, 사내 데이터 레이크에 대한 대규모 초기 자본 지출 대신 종량제 스토리지 비용이 발생하게 되었죠. AWS 월별 청구서에 모든 바이트가 표시될 때마다 비용을 절약할 방법을 찾게 되는데, 주요 클라우드 벤더는 매우 드물게 접근한다는 전제 아래 매우 저렴한 비용으로 데이터를 장기간 보존할 수 있는 아카이브별 객체 스토리지 클래스를 제공합니다.
둘째, GPR과 CCPA 같은 개인정보보호 및 데이터 보존법에 따라 데이터 엔지니어는 사용자의 '잊혀질 권리'를 존중하기 위해 데이터 파기를 적극적으로 관리해야 합니다. 현재 보유하고 있는 소비자 데이터를 파악하고, 요청 및 컴플라이언스 요건에 따라 데이터를 파기하는 절차를 수행해야 합니다. 
클라우드 데이터 웨어하우스, SQL 시맨틱, 하이브 ACID 및 델타 레이크 등의 도구를 사용하면 데이터 레이크에서보다 쉽게 데이터를 파기할 수 있습니다.

⑥ 윤리와 개인정보보호

데이터 엔지니어는 데이터셋이 개인식별정보(PII) 및 기타 중요한 정보를 마스킹 처리하는지를 확인해야 합니다. 그러면 데이터셋이 변환될 때 편향을 식별하고 추적할 수 있습니다. 규제 요건과 컴플라이언스에 대한 처벌은 점점 더 엄격해지고 있기 때문에, 데이터 자산이 GPR 및 CCPA처럼 계속 증가하는 데이터 규정을 준수하는지 확인해야 합니다.
 

3. 데이터옵스

데이터옵스는 애자일 방법론, 데브옵스, 통계적 공정 관리(SPC)의 모범 사례를 데이터에 매핑합니다. 데브옵스의 목표는 소프트웨어 제품의 릴리스와 품질을 개선하는 것이지만, 데이터옵스는 데이터 제품에 대해서도 같은 작업을 수행합니다. 데이터 엔지니어는 소프트웨어 제품 구축의 기술적 측면과, 우수한 데이터 제품을 만드는 비즈니스 로직, 품질 및 측정 지표를 모두 이해해야 합니다. 데브옵스와 마찬가지로 데이터옵스는 린 제조 및 공급망 관리에서 많은 부분을 차용해 인력, 프로세스 및 기술을 혼합하고 가치 창출 시간을 단축합니다. 
데이터옵스에는 자동화, 모니터링 및 관찰 가능성, 사고 대응이라는 세 가지 핵심 기술 요소가 있습니다. 각 항목과 데이터 엔지니어링 수명 주기와의 관계를 살펴보겠습니다.
 

① 자동화

자동화를 사용하면 데이터옵스 프로세스의 신뢰성과 일관성을 보장할 수 있으며, 데이터 엔지니어가 새로운 제품 기능과 개선 사항을 기존 워크플로에 신속하게 구현할 수 있습니다. 데이터옵스 자동화는 변경 관리(환경, 코드 및 데이터 버전 제어), 지속적 통합 및 배포(CI/CD), 코드로 구성된 데브옵스와 유사한 프레임워크 및 워크플로를 가집니다. 데브옵스와 마찬가지로 데이터옵스 관행은 데이터 품질, 데이터/모델 드리프트, 메타데이터 무결성 등을 확인하는 차원을 추가해 기술과 시스템(데이터 파이프라인, 오케스트레이션 등)의 신뢰성을 모니터링하고 유지합니다.
데이터옵스 선언의 원칙 중 하나는 '변화 수용'으로, 목표 지향적인 변화를 의미합니다. 핵심은 엔지니어가 워크로드를 줄이고 비즈니스에 제공하는 가치를 높일 수 있는 자동화를 지속해서 구현하려고 한다는 것입니다.
 

② 관찰 가능성과 모니터링

데이터와 데이터 생성 시스템을 관찰하고 감시하지 않으면, 다양한 이해관계자들은 핵심 데이터 팀의 능력에 대한 신뢰를 잃고 각종 불안정한 시스템과 일관성 없는 보고서 및 사일로가 발생하는 등 자신만의 데이터 공포 상황을 맞게 될 것입니다. 관찰 가능성, 모니터링, 로깅, 경고 및 추적은 모두 데이터 엔지니어링 수명 주기에서 발생하는 문제에 대처하는 데 매우 중요합니다. 모니터링 중인 이벤트가 잘못되었는지 여부나 대응할 가치가 있는 사건이 무엇인지를 파악할 수 있도록 SPC(통계적 공정 관리)를 통합하는 것이 좋습니다.
페트렐라의 DODD 방법론은 데이터 관찰 가능성을 고려할 수 있는 좋은 프레임워크를 제공합니다. DODD의 목적은 데이터 가치 사슬에 관련된 모든 사용자가 데이터 및 데이터 애플리케이션에 대한 가시성을 확보하고 그 변경 사항을 수집에서 변환, 분석까지 모든 단계에서 식별할 수 있도록 함으로써 데이터 문제를 해결하거나 예방하는 것입니다.
 

③ 사고 대응

데이터옵스를 사용하는 고기능 데이터 팀은 새로운 데이터 제품을 빠르게 출시할 수 있지만, 실수는 필연적으로 발생합니다. 그러한 문제들은 데이터 엔지니어링 수명 주기를 방해할 수 있습니다. 사고 대응이란 앞서 설명한 자동화 및 관찰 가능성 기능을 사용해 이러한 사고의 근본 원인을 신속하게 특정하고 가능한 한 확실하고 빠르게 해결하는 것입니다.
사고 대응은 기술과 도구에만 국한하지 않고, 데이터 엔지니어링 팀과 조직 전체에 걸쳐 개방적이면서도 흠잡을 데 없는 커뮤니케이션을 제공합니다. 또 사고 대응은 사고가 발생하기 전에 선제적으로 대처하는 것만큼이나 사후에 대응하는 것도 중요합니다.
 

데이터옵스 요약

현재 데이터옵스는 여전히 진행 중입니다. 실무자들은 데이터옵스 선언과 기타 자원을 활용해 데브옵스 원칙을 데이터 도메인에 적용하고 초기 비전을 수립하는 작업을 성공적으로 수행합니다. 데이터 엔지니어는 모든 업무에서 데이터옵스 작업의 우선순위를 높게 지정하는 것이 좋습니다. 오늘날 이용 가능한 도구와 지식을 감안한다면 기업이 가능한 한 최대한으로 도입해보기를 권하고 있습니다.


 
Q1. 데이터 엔지니어링 수명 주기의 드러나지 않는 주요 요소 중 '데이터 관리'에 대한 설명으로 틀린 것을 골라주세요.
데이터 관리는 수명 주기 전체에 걸쳐 데이터와 정보 자산의 가치를 제공, 제어, 보호 및 향상할 계획, 정책, 프로그램과 사례를 개발, 실행 및 감독하는 것이다.
② 메타데이터는 수명 주기 전체에 걸쳐 파이프라인을 설계하고 데이터를 관리하는 기반이 된다.
데이터에서 비즈니스 통찰력을 얻으려면 데이터가 사용가능한 형태로 제공되어야 하는데, 이 프로세스를 데이터 통합과 상호운용성이라고 한다.
④ 데이터 계보는 데이터 및 데이터를 처리하는 시스템의 오류 추적, 설명 및 디버깅에 도움이 된다는 이점이 있다.
⑤ 데이터 엔지니어는 사용자의 잊혀질 권리를 존중하기 위해 데이터 파기를 적극적으로 관리해야 한다.
 
정답(드래그): ③ '데이터 모델링 및 설계'에 대한 설명이다.
 
Q2. 데이터 엔지니어링 수명 주기의 드러나지 않는 주요 요소 중 '데이터옵스'의 세 가지 핵심 기술 요소에는 '자동화', '관찰 가능성과 모니터링', '사고 대응'이 있습니다. 아래 설명을 읽고 ㉠~㉢을 바르게 짝지어 주세요.

을 하지 않으면, 다양한 이해관계자들은 핵심 데이터 팀의 능력에 대한 신뢰를 잃고 각종 불안정한 시스템과 일관성 없는 보고서 및 사일로가 발생하는 등 자신만의 데이터 공포 상황을 맞게 될 것입니다. 중인 이벤트가 잘못되었는지 여부나 대응할 가치가 있는 사건이 무엇인지를 파악할 수 있도록 SPC(통계적 공정 관리)를 통합하는 것이 좋습니다.
이란, 을 사용해 사고의 근본 원인을 신속하게 특정하고 가능한 한 확실하고 빠르게 해결하는 것입니다. 은 기술과 도구에만 국한하지 않고, 데이터 엔지니어링 팀과 조직 전체에 걸쳐 개방적이면서도 흠잡을 데 없는 커뮤니케이션을 제공합니다.
을 사용하면 데이터옵스 프로세스의 신뢰성과 일관성을 보장할 수 있으며, 데이터 엔지니어가 새로운 제품 기능과 개선 사항을 기존 워크플로에 신속하게 구현할 수 있습니다. 데이터옵스 은 변경 관리(환경, 코드 및 데이터 버전 제어), 지속적 통합 및 배포(CI/CD), 코드로 구성된 데브옵스와 유사한 프레임워크 및 워크플로를 가집니다.

 
정답(드래그): ㉠-관찰 가능성과 모니터링, ㉡-사고 대응, ㉢-자동화

댓글