데이터 엔지니어

에어플로우 airflow

[Airflow] 컴포넌트, MWAA

Airflow 컴포넌트Airflow는 복잡한 워크플로우를 스케줄링하고 관리하기 위한 오픈소스 플랫폼임.데이터 엔지니어 및 개발자들은 작업의 의존성을 명확히 정의하고, 반복적인 작업을 자동화할 수 있음.Airflow는 여러 컴포넌트로 구성되어 있으며, 각각의 역할이 있음 Airflow 각 컴포넌트 역할1. Web ServerFlask를 기반으로 한 웹 어플리케이션으로 사용자 인터페이스를 제공함.웹 서버를 통해 사용자는 작업 스케줄, 실행 상태 확인, 로그 보기 등의 작업을 수행할 수 있음. 2. Scheduler워크플로우의 스케줄링을 담당함.이 컴포넌트는 DAGs(방향성 비순환 그래프)를 주기적으로 폴링하며, 실행해야 할 새로운 작업 인스턴스를 확인하고 실행함. 3. Executor실제 작업을 실행하는 역..

AWS

[AWS] EMR, Yarn, Spark 특징

AWS EMRAWS EMR은 대규모 데이터 처리, 분석 및 머신러닝을 위해 설계된 관리형 클라우드 서비스임.AWS EMR은 특히 빅데이터 환경에서 많이 사용되며, Hadoop과 Apache Spark 같은 오픈 소스 프레임워크를 사용하여 데이터를 처리함. AWS EMR 핵심 기능1. 스케일링EMR은 수요에 따라 자동으로 클러스터 크기를 조정할 수 있어 사용자는 데이터 처리량에 맞게 자원을 유연하게 확장하거나 축소할 수 있음. 2. 다양한 프레임워크 지원EMR은 Apache Hadoop, Spark, HBase, Presto 등 다양한 빅데이터 프레임워크를 지원함.이는 다양한 유형의 데이터 처리 작업을 가능하게 함. 3. 비용 효율성사용자는 실제 사용한 컴퓨팅 리소스에 대해서만 비용을 지불함.또한, 스팟 ..

스파크 spark

[Spark] Partition, Parquet 파일 크기

Spark PartitionSpark에서 파티션(Partition)은 큰 데이터 세트를 더 작은 청크로 나누는 개념임.데이터의 병렬 처리와 분산 처리 성능을 향상시키는 데 중요한 역할을 함.파티셔닝은 RDD(Resilient Distributed Dataset), DataFrame, Dataset 등 Spark의 주요 데이터 구조들에서 자동으로 관리됨. Spark Partition 기본 개념1. 파티션 정의Spark에서 데이터를 논리적으로 분할한 조각임.각 파티션은 클러스터의 다른 노드에서 독립적으로 처리될 수 있음. 2. 병렬 처리파티션은 병렬 처리의 기본 단위가 되며, 각 파티션은 클러스터 내의 다른 실행자(Executor)에 의해 동시에 처리될 수 있음. Spark Partition 관리Spark..

스파크 spark

[Spark] Spill, 직렬화 메커니즘

Apache Spark SpillApache Spark에서 spill은 메모리 용량을 초과할 때 발생하는 작업을 의미함.Spark는 큰 데이터 세트를 처리할 때 필요한 메모리를 모두 확보할 수 없는 경우, 임시적으로 디스크에 데이터를 저장함.이 과정을 spill to disk라고 하며, 이를 통해 메모리 부족 문제를 회피하고 작업의 계속을 가능하게 함. Apache Spark Spill 발생 원인Spark에서 다양한 상황에서 spill이 발생할 수 있음.1. Shuffle 작업 중여러 노드 간에 데이터를 재분배할 때, 각 노드에서 처리해야 할 데이터가 메모리에 들어갈 수 없는 경우. 2. Aggregations 및 Joins큰 키에 대한 데이터 집계나 조인을 수행할 때, 관련 데이터를 메모리에 모두 유지..

AWS

[AWS] Aurora, KMS, Secrets Manager, 자동 자격증명 교체

AWS AuroraAWS의 관리형 관계형 데이터베이스 서비스 중 하나임.MySQL, PostgreSQL과 호환되는 이 데이터베이스는 확장성, 내구성 및 성능을 강조함 AWS Aurora 특징1. 성능Aurora는 고성능을 제공함.여러 가용 영역에 걸쳐 데이터를 복제하고, SSD 기반 스토리지를 사용하여 빠른 I/O 성능을 제공함.자동화된 데이터베이스 캐시 및 스토리지 관리를 통해 응용 프로그램의 성능을 최적화함. 2. 확장성Aurora는 필요에 따라 자동으로 확장하고 축소할 수 있는 기능을 제공함.이를 통해 응용 프로그램의 요구 사항이 변경되어도 데이터베이스 성능을 유연하게 조정할 수 있음. 3. 내구성Aurora는 여러 가용 영역에 걸쳐 데이터를 복제하여 내구성을 보장함.이를 통해 하나의 가용 영역에서..

AWS

[AWS] EC2 Auto Scaling, CloudWatch 지표 스트림, Kinesis Data Firehose

AWS EC2 Auto Scaling 이벤트 모니터링 방법다양한 도구와 서비스를 이용할 수 있음.가장 일반적으로는 AWS CloudWatch를 사용하여 이벤트를 모니터링하고 경고를 설정할 수 있음. 1. Amazon CloudWatch 설정AWS Management Console 에서 Amazon CloudWatch 서비스로 이동함.좌측 탐색 창에서 "Events"를 선택함. 2. 이벤트 생성"Create rule"을 클릭하여 새로운 이벤트 규칙을 생성함."Event Source"를 "EC2 Auto Scaling"으로 선택함.원하는 이벤트 패턴을 선택하거나 패턴을 직접 정의할 수 있음.예를 들어, EC2 인스턴스 시작, 종료, 실패 등의 이벤트를 모니터링 할 수 있음. 3. 대상 설정이벤트가 발생했을 ..

AWS

[AWS] Lambda 지연시간, Lambda SnapStart, DynamoDB, DynamoDB 모드 종류

AWS Lambda 지연 시간람다에서 지연 시간은 함수가 실행되기 위해 필요한 시간임.이 지연 시간은 여러 요소에 의해 결정됨 1. Cold Start vs Warm Start람다 함수는 Cold Start 및 Warm Start 라는 두 가지 상태를 가짐.Cold Start는 함수가 처음 실행될 때 발생하며, 람다가 컨테이너를 시작하고 함수 코드를 로드하는 시간이 소요됨.Warm Start는 이미 실행 중인 컨테이너에서 함수를 다시 실행할 때 발생하며, 이 경우 컨테이너가 이미 실행 중이므로 시작 및 로드 시간이 단축됨. 2. 함수 크기함수 코드의 크기가 함수 실행에 영향을 미칠 수 있음.큰 함수 코드는 다운로드 및 실행하는 데 더 많은 시간이 걸릴 수 있음. 3. 리소스 할당량람다 함수에 할당된 메모..

AWS

[AWS] VPC, 서브넷, AZ, 인스턴스

AWS VPC(Virtual Private Cloud)AWS 클라우드에서 가상의 네트워크를 프로비저닝하고 구성할 수 있는 서비스임.이는 AWS 리전 내의 논리적으로 격리된 가상 네트워크를 생성하여 AWS 리소스를 배치할 수 있는 환경을 제공함.AWS VPC는 클라우드 네트워킹의 핵심 요소임.보안, 확장성 및 관리 용이성을 제공하여 AWS 리소스를 안전하게 배포하고 운영할 수 있도록 지원함. AWS VPC 특징1. 논리적 격리VPC는 논리적으로 격리된 네트워크 공간을 제공함.여러 고객이 같은 하드웨어 리소스를 공유하지만 서로의 네트워크 간에 격리되어 있음. 2. 사용자 정의VPC를 사용하여 IP 주소 범위, 서브넷, 라우팅 테이블, 네트워크 게이트웨이 등을 사용자 정의할 수 있음. 3. 네트워크 접근 제어..

AWS

[AWS] SQS, 대기열, SNS, LB종류, CLB

AWS SQS (Amazon Simple Queue Service)AWS의 메시지 대기열 서비스이 서비스를 사용하면 분산 시스템 간에 메세지를 전송하고 저장할 수 있음여러 시스템이나 컴포넌트 간에 비동기적으로 통신할 때 유용함여러 응용 프로그램 간의 결합을 느슨하게 만들어줌작업을 조정하고 분배할 수 있는 중앙 집중식 메시지 대기열을 제공함분산 시스템 아키텍처에서의 중요한 구성 요소로 사용됨.마이크로서비스, 서버리스 컴퓨팅, 이벤트 기반 아키텍처 등 다양한 환경에서 활용됨.예를 들어, 웹 애플리케이션에서 백그라운드 작업을 처리하거나, 여러 컴포넌트 간에 이벤트를 전달하거나, 다른 AWS 서비스와 통합하여 작업을 조정하는 데 사용될 수 있음. AWS SQS 주요 특징1. 간단성SQS는 관리형 서비스이기 때문..

AWS

[AWS] CloudTrail, CloudWatch, Lambda, SNS, SQS

AWS CloudTrailAWS 계정에서 수행되는 작업을 모니터링하고 로깅하는 서비스.이를 통해 AWS 리소스의 사용, 변경 및 액세스를 추적하고 감사할 수 있음.AWS CloudTrail은 AWS 환경에서 보안, 감사 및 규정 준수 요구 사항을 충족하기 위한 중요한 도구임.이를 통해 조직은 AWS 리소스의 활동을 추적하고 모니터링하여 보안 위협을 식별하고 대응할 수 있음. AWS CloudTrail에 대한 설명1. 로그 기록AWS CloudTrail은 다양한 AWS 서비스에 대한 활동을 기록함.이러한 활동에는 관리 콘솔, AWS CLI, AWS SDK를 통한 API 호출 등이 포함됨. 2. 활동 추적CloudTrail은 각 활동에 대한 세부 정보를 기록함.이 정보에는 작업을 수행한 사용자, 작업의 일시..

박경태
'분류 전체보기' 카테고리의 글 목록