데이터 엔지니어링 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

데이터 엔지니어링

조직 전체에서 데이터 흐름을 자동화하고 오케스트레이션합니다.

메타데이터를 사용하여 원시 데이터를 처리하고 최적화된 출력을 생성하는 파이프라인을 자동화합니다. 여러 AWS CAF 플랫폼 아키텍처 및 플랫폼 엔지니어링 기능과 운영 관점에서 정의된 기존 아키텍처 가드레일 및 보안 제어를 활용합니다. 플랫폼 엔지니어링 지원 팀과 협력하여 파이프라인 배포를 간소화하는 일반적인 패턴에 대해 재사용 가능한 블루프린트를 개발합니다. 

시작

데이터 레이크 배포

정형 및 비정형 데이터에 적합한 스토리지 솔루션을 사용하여 기본 데이터 스토리지 기능을 설정합니다. 이를 통해 다양한 소스에서 데이터를 수집 및 저장할 수 있으며 추가 처리 및 분석을 위해 데이터에 액세스할 수 있습니다. 데이터 스토리지는 데이터 엔지니어링 전략의 중요한 구성 요소입니다. 잘 설계된 데이터 스토리지 아키텍처를 통해 조직은 데이터를 효율적이고 비용 효율적으로 저장, 관리 및 액세스할 수 있습니다. AWS에서는 특정 비즈니스 요구 사항을 충족하는 다양한 데이터 스토리지 서비스를 제공합니다.

예를 들어 객체 스토리지에는 Amazon Simple Storage Service(Amazon S3), 관계형 데이터베이스에는 Amazon Relational Database Service(Amazon RDS), 데이터 웨어하우징에는 Amazon Redshift를 사용하여 기본적인 데이터 스토리지 기능을 설정할 수 있습니다. 이러한 서비스를 사용하면 데이터를 안전하고 비용 효율적으로 저장하고 추가 처리 및 분석을 위해 데이터에 쉽게 액세스할 수 있습니다. 성능을 개선하고 비용을 절감하기 위해 데이터 분할 및 압축과 같은 데이터 스토리지 모범 사례도 구현하는 것이 좋습니다.

데이터 수집 패턴 개발

데이터 흐름을 자동화하고 오케스트레이션하려면 데이터베이스, 파일 및 API를 비롯한 다양한 소스에서 데이터를 수집하는 데이터 수집 프로세스를 설정합니다. 데이터 수집 프로세스는 비즈니스 민첩성을 지원하고 거버넌스 제어를 고려해야 합니다.

오케스트레이터는 클라우드 기반 서비스를 실행할 수 있어야 하며 자동화된 예약 메커니즘을 제공해야 합니다. 폴링 및 오류 처리 기능과 함께 여러 태스크 사이에서 조건부 링크 및 종속성에 대한 옵션을 제공해야 합니다. 또한 파이프라인이 원활하게 실행되도록 알림 및 모니터링 시스템과 원활하게 통합되어야 합니다.

다음은 몇 가지 널리 사용되는 오케스트레이션 메커니즘입니다.

  • 시간 기반 오케스트레이션은 재귀적 간격과 정의된 빈도로 워크플로를 시작합니다.

  • 이벤트 기반 오케스트레이션은 파일 생성 또는 API 요청과 같은 이벤트 발생을 기반으로 워크플로를 시작합니다.

  • 폴링은 태스크 또는 워크플로가 API 등을 통해 서비스를 직접 호출하고 정의된 응답을 기다린 후 다음 단계를 진행하는 메커니즘을 구현합니다.

최신 아키텍처 설계에서는 클라우드에서 인프라 관리를 간소화하고 개발자 및 인프라 팀의 부담을 줄이는 관리형 서비스의 이점을 강조합니다. 이 접근 방식은 데이터 엔지니어링에도 적용됩니다. 해당하는 경우 관리형 서비스를 사용하여 데이터 수집 파이프라인을 빌드해 데이터 엔지니어링 프로세스를 가속화하는 것이 좋습니다. 이러한 서비스 유형의 두 가지 예로 Amazon Managed Workflows for Apache Airflow(Amazon MWAA) 및 AWS Step Functions가 있습니다.

  • Apache Airflow는 프로그래밍 방식으로 워크플로를 작성, 예약 및 모니터링하는 데 널리 사용되는 오케스트레이션 도구입니다. AWS에서는 개발자가 오케스트레이션 도구의 인프라를 관리하는 대신 빌드에 집중할 수 있도록 관리형 서비스로 Amazon Managed Workflows for Apache Airflow(Amazon MWAA)를 제공합니다. Amazon MWAA를 사용하면 Python 스크립트를 통해 워크플로를 쉽게 작성할 수 있습니다. 방향성 비순환 그래프(DAG)는 각 태스크의 관계 및 종속성을 표시하는 방식을 통해 태스크 컬렉션으로 워크플로를 나타냅니다. 원하는 만큼 DAG를 보유할 수 있으며, Apache Airflow는 각 태스크의 관계 및 종속성에 따라 이를 실행합니다.

  • AWS Step Functions를 사용하면 개발자가 IT 및 비즈니스 프로세스를 자동화하기 위한 로코드 시각적 워크플로를 빌드할 수 있습니다. Step Functions로 빌드하는 워크플로를 상태 시스템이라고 하며, 워크플로의 각 단계를 상태라고 합니다. Step Functions를 사용하여 기본 제공 오류 처리, 파라미터 전달, 권장 보안 설정 및 상태 관리를 위한 워크플로를 생성할 수 있습니다. 그러면 작성 및 유지 관리해야 하는 코드 양이 줄어듭니다. 태스크는 온프레미스 또는 클라우드 환경에서 호스팅하는 애플리케이션 또는 다른 AWS 서비스와 함께 작업을 수행합니다.

데이터 처리 가속화

데이터 처리는 현대 조직에서 수집하는 방대한 양의 데이터를 이해하는 데 중요한 단계입니다. 데이터 처리를 시작하기 위해 AWS에서는 강력한 추출, 전환, 적재(ETL) 기능을 제공하는 AWS Glue와 같은 관리형 서비스를 제공합니다. 조직은 이러한 서비스를 사용하여 데이터를 정리, 정규화 및 집계하여 분석을 준비하는 등 원시 데이터의 처리 및 변환을 시작할 수 있습니다.

데이터 처리는 초기 데이터 변환을 수행하기 위해 집계 및 필터링과 같은 간단한 기법으로 시작됩니다. 데이터 처리 요구 사항이 진화함에 따라 다양한 소스에서 데이터를 추출하고, 특정 요구 사항에 맞게 데이터를 전환하며, 통합 분석을 위해 중앙 집중식 데이터 웨어하우스 또는 데이터베이스에 적재할 수 있는 고급 ETL 프로세스를 구현할 수 있습니다. 이 접근 방식을 사용하면 데이터가 정확하고 완전하며 데이터를 적시에 분석에 사용할 수 있습니다.

데이터 처리에 AWS 관리형 서비스를 사용하면 조직은 더 높은 수준의 자동화, 확장성 및 비용 효율성과 같은 이점을 얻을 수 있습니다. 이러한 서비스는 스키마 검색, 데이터 프로파일링 및 데이터 변환과 같은 많은 일상적인 데이터 처리 태스크를 자동화하고 더 전략적인 활동을 위해 귀중한 리소스를 확보합니다. 또한 이러한 서비스는 증가하는 데이터 볼륨을 지원하도록 자동으로 조정됩니다.

데이터 시각화 서비스 제공

데이터 시각화를 사용하여 데이터를 의미 있고 빠르게 해석하는 의사 결정권자가 데이터를 사용할 수 있는 방법을 찾습니다. 시각화를 통해 패턴을 해석하고 기술 역량에 관계없이 다양한 이해관계자의 참여를 높일 수 있습니다. 좋은 플랫폼을 사용하면 데이터 엔지니어링 팀이 거의 오버헤드 없이 빠르게 데이터 시각화를 제공하는 리소스를 프로비저닝할 수 있습니다. 엔지니어링 전문 지식 없이 데이터 저장소를 쉽게 쿼리할 수 있는 도구를 사용하여 셀프 서비스 기능을 제공할 수도 있습니다. 데이터 시각적 객체와 대화형 대시보드를 통해 서버리스 비즈니스 인텔리전스를 제공하고, 자연어를 사용하여 백엔드 데이터를 쿼리할 수 있는 기본 제공 도구를 사용하는 방법을 고려합니다. 

고급

거의 실시간에 가까운 데이터 처리 구현

데이터 처리는 모든 데이터 엔지니어링 파이프라인의 필수 구성 요소로, 이를 통해 조직은 원시 데이터를 의미 있는 인사이트로 변환할 수 있습니다. 기존의 배치 처리 외에도 실시간 데이터 처리는 오늘날 빠르게 변화하는 비즈니스 환경에서 점점 더 중요해지고 있습니다. 실시간 데이터 처리를 통해 조직은 이벤트 발생 시 이에 대응할 수 있으며 의사 결정 및 운영 효율성을 개선할 수 있습니다.

데이터 품질 검증

데이터 품질은 데이터에서 파생된 인사이트와 의사 결정의 정확성 및 신뢰성에 직접적인 영향을 줍니다. 분석에 신뢰할 수 있는 고품질 데이터를 사용하려면 데이터 검증 및 정리 프로세스를 구현해야 합니다.

데이터 검증에는 사전 정의된 규칙 및 기준과 비교하여 데이터의 정확성, 완전성 및 일관성을 확인하는 작업이 포함됩니다. 이를 통해 데이터의 불일치 또는 오류를 식별하고 목적에 맞는지 확인할 수 있습니다. 데이터 정리에는 데이터의 부정확성, 불일치 또는 중복을 식별하고 수정하는 작업이 포함됩니다.

조직은 데이터 품질 프로세스 및 도구를 구현하여 데이터에서 파생된 인사이트의 정확성과 신뢰성을 개선함으로써 의사 결정 및 운영 효율성을 개선할 수 있습니다. 그러면 조직의 성과가 향상될 뿐만 아니라 생성된 데이터 및 분석에 대한 이해관계자의 신뢰를 구축하고 신뢰도를 높일 수 있습니다.

데이터 변환 서비스 증명

데이터 변환에서는 고급 분석 및 기계 학습 모델을 위해 데이터를 준비합니다. 여기에는 데이터 정규화, 보강 및 중복 제거와 같은 기술을 사용하여 데이터가 깔끔하고 일관되며 분석에 사용할 준비가 되었는지 확인하는 작업이 포함됩니다.

  • 데이터 정규화에는 데이터를 표준 형식으로 구성하고, 중복을 제거하며, 여러 소스에서 데이터가 일관되게 유지되도록 하는 작업이 포함됩니다. 이를 통해 여러 소스의 데이터를 더 쉽게 분석하고 비교할 수 있으며 조직은 운영을 보다 포괄적으로 이해할 수 있습니다.

  • 데이터 보강에는 인구 통계 데이터 또는 시장 추세와 같은 외부 소스의 추가 정보로 기존 데이터를 개선하는 작업이 포함됩니다. 이를 통해 내부 데이터 소스만으로는 명확하지 않을 수 있는 고객 행동 또는 업계 추세에 대한 소중한 인사이트를 얻을 수 있습니다.

  • 중복 제거에는 중복 데이터 항목을 식별 및 제거하고 데이터가 정확하고 오류가 없는지 확인하는 작업이 포함됩니다. 특히 작은 비율의 중복이라도 분석 결과를 왜곡할 수 있는 대규모 데이터세트를 처리할 때 중요합니다.

조직은 고급 데이터 변환 기술을 사용하여 데이터가 고품질이고 정확하며 해당 데이터로 더 복잡한 분석을 수행할 준비가 되었는지 확인합니다. 이를 통해 의사 결정이 개선되고 운영 효율성이 향상되며 시장에서 경쟁 우위를 확보할 수 있습니다.

데이터 대중화 지원

모든 직원이 데이터에 액세스하고 데이터를 이해하고 사용할 수 있도록 지원함으로써 데이터 대중화 문화를 장려합니다. 데이터 대중화는 직원이 데이터에 기반한 결정을 내리고 조직의 데이터 기반 문화에 기여하는 데 도움이 됩니다. 즉, 사일로를 허물고 모든 직원이 데이터를 공유하고 사용하여 의사 결정을 내리는 문화를 조성해야 합니다.

전반적으로 데이터 대중화는 조직의 모든 사람이 데이터 가치를 인정하고, 데이터에 액세스하며, 데이터를 이해할 수 있는 문화를 구축하는 것입니다. 데이터 대중화를 지원함으로써 조직은 혁신을 주도하고, 의사 결정을 개선하며, 궁극적으로 비즈니스 성공으로 이어지는 데이터 기반 문화를 조성합니다.

Excel

UI 기반 오케스트레이션 제공

민첩하고 효과적인 접근 방식을 사용하는 조직을 구축하려면 여러 사업부의 개발 및 운영 리소스에서 사용하는 최신 오케스트레이션 플랫폼을 계획하는 것이 중요합니다. 목표는 하나의 팀, 기술 또는 지원 모델에 의존하지 않고 데이터 파이프라인과 워크플로를 개발, 배포 및 공유하는 것입니다. 이는 UI 기반 오케스트레이션과 같은 기능을 통해 달성할 수 있습니다. 끌어서 놓기(drag-and-drop 상호 작용과 같은 기능을 사용하면 기술적 전문 지식이 거의 없는 사용자가 DAG를 구성하고 시스템 데이터 흐름을 명시할 수 있습니다. 그런 다음 이러한 구성 요소는 데이터 파이프라인을 오케스트레이션하는 실행 코드를 생성할 수 있습니다. 

DataOps는 데이터 관리의 복잡성을 극복하고 조직 전체에서 원활한 데이터 흐름을 보장합니다. 메타데이터 기반 접근 방식은 조직의 필수 규정에 따라 데이터 품질과 규정 준수를 보장합니다. 마이크로서비스, 컨테이너화, 서버리스 함수와 같은 도구 세트에 투자하면 확장성과 민첩성이 개선됩니다.

데이터 엔지니어링 팀에 의존하여 데이터에서 가치를 창출하고 일상적인 인프라 태스크를 자동화에 맡기면 조직은 자동화 및 오케스트레이션에서 우수한 성과를 달성할 수 있습니다. 데이터 흐름 관리 작업의 실시간에 가까운 모니터링 및 로깅은 즉각적인 문제 해결 조치를 지원하고 데이터 흐름 파이프라인의 성능 및 보안을 개선합니다. 이러한 원칙은 안전한 데이터 공유 모델을 보장하면서 확장성과 성능을 달성하고 향후 성공을 위해 조직을 준비하는 데 도움이 됩니다.

DataOps 통합

DataOps는 데이터 파이프라인 생성, 테스트 및 배포를 간소화하기 위해 개발 및 운영 프로세스의 통합을 강조하는 데이터 엔지니어링에 대한 최신 접근 방식입니다. DataOps 모범 사례를 구현하기 위해 조직은 코드형 인프라(IaC)와 지속적 통합 및 지속적 전송(CI/CD) 도구를 사용합니다. 이러한 도구는 자동화된 파이프라인 생성, 테스트 및 배포를 지원하며 효율성을 크게 개선하고 오류를 줄입니다. DataOps 팀은 플랫폼 엔지니어링 지원 팀과 협력하여 이러한 자동화를 빌드하므로 각 팀은 팀에서 가장 잘하는 업무에 집중할 수 있습니다. 

DataOps 방법론을 구현하면 데이터 엔지니어, 데이터 과학자 및 비즈니스 사용자를 위한 협업 환경을 조성하고 데이터 파이프라인 및 분석 솔루션을 신속하게 개발, 배포 및 모니터링할 수 있습니다. 이 접근 방식은 여러 팀 간에 보다 원활한 통신과 협업을 지원하며 혁신을 가속화하고 결과를 개선합니다.

DataOps의 이점을 최대한 활용하려면 데이터 엔지니어링 프로세스를 간소화하는 것이 중요합니다. 코드 검토, 지속적 통합, 자동화된 테스트 등 플랫폼 엔지니어링 팀의 모범 사례를 사용하여 이를 달성합니다. 이러한 사례를 구현함으로써 조직은 데이터 파이프라인이 안정적이고 확장 가능하며 안전하고 비즈니스 및 기술 이해관계자의 요구 사항을 충족할 수 있도록 보장합니다.