전체 글

· Data/Airflow
VM 기반 쿠버네티스 클러스터 환경에서 외부 PostgreSQL을 연동하여 Airflow 3.0.2 버전을 배포하는 과정을 정리한 문서입니다.1. 설치 환경항목상세 정보비고PlatformKubernetes Cluster (v1.32.3)VMAirflow3.0.2Helm Chart v1.18.0DBPostgreSQL 16.10외부 DB (별도 설치) 2. Helm 차트 준비Airflow 공식 Helm 저장소를 추가하고, 설치하려는 Airflow 버전(3.0.2)에 해당하는 차트 버전을 확인한다.# Helm 레포지토리 추가helm repo add apache-airflow https://airflow.apache.org# 차트 버전 확인 (Airflow 3.0.2는 Chart 1.18.0에 해당)helm s..
· Cloud
IAM Roles Anywhere는 Public Key Infrastructure(PKI)에서 발급한 X.509 인증서를 사용하여 AWS 외부 워크로드(ex. 온프렘 서버)에 임시 AWS 자격 증명을 사용하도록 지원하는 서비스이다.AWS 외부에서 실행되는 워크로드가 AWS 리소스에 액세스할 수 있도록 허용한다.IAM 역할 및 정책을 사용하여 AWS 리소스에 액세스한다.AWS 외부 워크로드에서 AWS에 액세스하는 부담을 줄인다.공식 문서: https://docs.aws.amazon.com/rolesanywhere/latest/userguide/introduction.html왜 IAM Roles Anywhere를 사용해야 하는가?보안 (Secure): 임시 AWS 자격 증명을 획득한다. 장기 자격 증명 사용..
· Data/Kafka
1. replication.factor (복제 계수)역할: 하나의 토픽 파티션 데이터를 총 몇 개의 복제본으로 저장할지 결정한다.설정 위치: 브로커(서버) 측, 주로 토픽을 생성할 때 지정한다.구성: 계수가 N일 때 복제본은 1개의 리더(Leader)와 N-1개의 팔로워(Follower)로 구성된다.리더: 모든 읽기(Read)와 쓰기(Write) 요청을 처리한다.팔로워: 리더의 데이터를 그대로 복제한다. 평상시에는 요청을 처리하지 않다가, 리더 브로커에 장애가 발생하면 팔로워 중 하나가 새로운 리더로 선출된다.주의: replication.factor는 가용한 브로커 수보다 클 수 없다.2. min.insync.replicas (최소 동기화 복제본)min.insync.replicas는 "데이터를 보냈다고 ..
대용량 데이터 처리나 다수의 네트워크 요청 시, 순차적인 작업 방식은 성능 저하의 원인이 될 수 있다. 이때 병렬 처리(Parallel Processing)를 적용하면 성능을 크게 향상시킬 수 있다. 파이썬의 표준 라이브러리인 concurrent.futures는 병렬 처리를 쉽고 직관적으로 작성하도록 돕는다.본 글에서는 concurrent.futures를 이용해 순차 처리와 병렬 처리의 속도를 비교하고, ThreadPoolExecutor와 ProcessPoolExecutor의 차이점, 그리고 GIL(Global Interpreter Lock)의 개념과 한계에 대해 설명한다. 테스트 시나리오 설정병렬 처리의 효과를 확인하기 위해 의도적으로 시간이 소요되는 두 가지 유형의 작업을 가정한다.I/O-bound ..
hundredragon
다음엔 무엇을 할까