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

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

데이터 엔지니어링

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

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

시작

데이터 레이크 배포

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

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

데이터 수집 패턴 개발

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

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

몇 가지 인기 있는 오케스트레이션 메커니즘은 다음과 같습니다.

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

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

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

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

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

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

데이터 처리 가속화

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

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

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

데이터 시각화 서비스 제공

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

고급

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

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

데이터 품질 검증

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

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

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

데이터 변환 서비스 증명

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

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

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

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

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

데이터 민주화 활성화

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

전반적으로 데이터 민주화는 조직의 모든 사람이 데이터를 가치 있게 여기고, 액세스하고, 이해할 수 있는 문화를 만드는 것입니다. 조직은 데이터 민주화를 활성화하여 혁신을 주도하고, 의사 결정을 개선하고, 궁극적으로 비즈니스 성공으로 이어지는 데이터 기반 문화를 조성합니다.

Excel

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

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

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

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

DataOps 통합

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

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

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