분류 전체보기
-
[Spark] Python → Spark 안티패턴 & 올바른 사용법공부 2026. 4. 26. 23:31
1부. 핵심 패러다임1. 명령형(Imperative) vs 선언형(Declarative)Spark와 일반 Python 프로그래밍의 가장 큰 차이점은 프로그래밍 패러다임에 있습니다.구분일반 Python (for 루프)Spark (DataFrame)방식명령형 (Imperative)선언형 (Declarative)실행 위치드라이버 노드 (단일)워커 노드 (분산)병렬 처리불가가능메모리 위험모든 데이터를 드라이버로 로드각 노드에서 분산 처리일반 Python (명령형): 각 행을 하나씩 꺼내서 처리하고 결과를 리스트에 담습니다.result_list = []for row in data_list: result_list.append({ "table": row["table"], "call_co..
-
시계열 데이터, 분석, 예측 모델이란?공부/데이터 2026. 4. 26. 20:34
시계열(Time Series)은 데이터 엔지니어링과 데이터 과학에서 가장 자주 다루는 데이터 유형 중 하나입니다. 본 문서에서는 시계열 데이터의 개념, 분석 방법, 그리고 대표적인 모델까지 순서대로 정리합니다.1. 시계열 데이터란?1-1. 정의시계열 데이터(Time Series Data)란 일정한 시간 간격으로 순서대로 수집된 데이터의 집합입니다. 각 데이터 포인트는 특정 시점(timestamp)에 대응하며, 시간의 흐름에 따라 값이 어떻게 변화하는지를 나타냅니다.예를 들어 다음과 같은 데이터가 시계열 데이터에 해당합니다.주식 가격 (매 분/일/주 단위 종가)기온 및 날씨 측정값 (매 시간 단위)서버 CPU 사용률 (매 초 단위)월별 매출액일별 활성 사용자 수(DAU)1-2. 시계열 데이터의 특징시계열 ..
-
MPP란공부/데이터 2026. 4. 26. 17:04
1. 개요MPP(Massively Parallel Processing, 대규모 병렬 처리)는 현대 빅데이터 분석 인프라의 핵심 아키텍처입니다. 단일 서버에서 처리하기 어려운 페타바이트 규모의 데이터를 여러 노드에 분산하여 동시에 처리함으로써, 쿼리 응답 시간을 획기적으로 단축합니다. 데이터 웨어하우스, 데이터 레이크, 데이터 레이크하우스 등 다양한 데이터 아키텍처에서 MPP 엔진은 분석 쿼리의 실행을 담당하는 핵심 컴포넌트로 자리잡고 있습니다.2. MPP란 무엇인가정의MPP(Massively Parallel Processing)는 대규모 병렬 처리를 의미하며, 데이터베이스 또는 분석 엔진이 하나의 쿼리를 여러 개의 처리 단위(노드)로 나누어 동시에 실행하는 아키텍처입니다. 단일 머신에서 수 시간이 걸리는..
-
OPA 정리공부 2026. 4. 26. 16:35
1. 개요OPA(Open Policy Agent)는 2016년 Styra의 Torin Sandall, Tim Hinrichs, Teemu Koponen 세 명이 개발한 오픈소스 범용 정책 엔진입니다. OPA 탄생 이전에는 모든 개발팀이 각자의 인가(Authorization) 정책을 직접 구현해야 했고, 마이크로서비스와 Kubernetes 등 이기종 스택이 확산되면서 일관된 정책 적용이 점점 어려워졌습니다. Styra는 이 문제를 해결하기 위해 "스택 전반에 정책 시행을 통일하는 범용 정책 엔진"으로 OPA를 설계하였습니다.주요 마일스톤시점내용2016Styra가 OPA 최초 개발2018년 3월CNCF 샌드박스(Sandbox) 프로젝트로 채택2019년 4월CNCF Incubating 단계로 승격2021년 1..
-
데이터 옵저버빌리티란?공부/데이터 2026. 4. 26. 16:28
1. 개요데이터 옵저버빌리티란 무엇인가데이터 옵저버빌리티(Data Observability)란 조직이 자신의 데이터 시스템 전반에 걸쳐 데이터의 건강 상태를 완전히 파악하고 이해할 수 있는 능력을 의미합니다. 자동화된 모니터링·알림·트리아지(triage)를 통해 데이터 품질 및 발견 가능성(discoverability) 문제를 사전에 식별하고 평가함으로써 이른바 "데이터 다운타임(Data Downtime)"을 제거하는 일련의 실천 방법론입니다. 즉, 데이터가 잘못되었을 때 조직이 가장 먼저 그 사실을 인지하고, 무엇이 깨졌는지, 어떻게 고쳐야 하는지를 파악할 수 있도록 데이터 파이프라인 전체에 완전한 가시성을 제공하는 개념입니다.용어의 탄생과 역사데이터 옵저버빌리티라는 용어는 2019년 Monte Car..
-
서브넷 관리 정책AWS & GCP 2026. 4. 26. 16:12
1. 개요서브넷(Subnet)은 Virtual Private Cloud(VPC) 내에서 IP 주소 범위를 논리적으로 분할한 네트워크 단위입니다. 서브넷 관리 정책은 보안, 운영 효율성, 확장성에 직접적인 영향을 미치므로 클라우드 인프라 설계의 핵심 요소 중 하나입니다.서브넷은 단순히 IP를 나누는 행위가 아니라, 트래픽 흐름을 통제하고 보안 경계를 정의하는 아키텍처 결정입니다. 어떤 방식으로 서브넷을 설계하느냐에 따라 보안 침해 시 피해 범위, 서비스 확장 비용, 운영팀의 부담이 크게 달라집니다.2. 주요 서브넷 관리 방식2-1. Public / Private 구분 방식가장 기본적인 방식으로, 인터넷 접근 여부에 따라 서브넷을 두 종류로 분류합니다.구성 방식:Public Subnet: 인터넷 게이트웨이(..
-
apache hue, apache ranger, Apache Atlas란?공부/데이터 2026. 4. 26. 16:06
Apache Hue & Apache Ranger & Apache Atlas 정리1. 개요Apache Hue, Apache Ranger, Apache Atlas는 Hadoop 생태계에서 각각 쿼리/탐색, 접근 제어, 메타데이터 거버넌스를 담당하는 세 개의 핵심 오픈소스 도구입니다. 세 도구는 서로 다른 역할을 수행하지만 함께 사용될 때 완전한 엔터프라이즈 데이터 플랫폼을 구성합니다.도구핵심 역할핵심 질문Apache Hue웹 기반 SQL 에디터 / 데이터 탐색 UI데이터를 어떻게 보는가?Apache Ranger중앙화된 보안 정책 관리 / 접근 제어데이터를 누가 볼 수 있는가?Apache Atlas메타데이터 관리 / 데이터 계보 / 거버넌스데이터가 무엇이고 어디서 왔는가?세 도구는 독립적으로도 활용되지만, 함..
-
[spark] join 전략이란공부 2026. 4. 26. 16:01
스파크에서 조인은 성능에 가장 큰 영향을 미치는 작업 중 하나입니다. 카탈리스트 옵티마이저(Catalyst Optimizer)는 비용 기반 최적화(CBO)와 규칙 기반 최적화를 통해 데이터의 통계 정보(크기, 분포 등)와 설정값을 분석하여 최적의 조인 전략을 자동으로 선택합니다.조인 방식의 두 가지 큰 분류전체 노드간 통신을 유발하는 전략 (Shuffle Join)서로 큰 테이블 간에 조인할 때 사용되는 방식입니다. 셔플 조인은 전체 노드 간 통신이 발생합니다. 조인에 사용한 특정 키나 키 집합을 어떤 노드가 가졌는지에 따라 해당 노드와 데이터를 공유합니다. 이런 통신 방식 때문에 네트워크는 복잡해지고 많은 자원을 사용합니다. 특히 데이터가 잘 나뉘어 있지 않다면 더 심해집니다.두 데이터셋을 조인 키를 ..
-
Airflow 2.3 ~ 3.1 신 기능 정리공부/데이터 2026. 4. 26. 15:39
📌Apache Airflow는 2.3 버전부터 3.1 버전까지 데이터 파이프라인의 개발·운영 방식을 근본적으로 개선하는 신기능들을 지속적으로 출시했습니다. 이 문서에서는 각 버전의 핵심 기능과 코드 예시, 장점 및 시너지를 정리했습니다.버전별 신기능 요약버전출시일핵심 기능주요 키워드2.32022.04Dynamic Task Mappingexpand(), partial()2.42022.09Datasets (Data-Aware Scheduling)Dataset, outlets, Consumer DAG2.52022.12Task/DAG 노트, 테스트 개선note, airflow dags test2.62023.04Notifiers, ContinuousTimetable, EventsTimetableBaseNotif..
-
sqlglot, sqlmesh 오픈소스공부/데이터 2026. 4. 12. 22:26
1. 개요💡SQLGlot과 SQLMesh는 모두 Tobiko Data 팀이 개발한 오픈소스 프로젝트입니다. SQLGlot은 SQL 파싱/트랜스파일의 기반 라이브러리이며, SQLMesh는 SQLGlot을 내부 파싱 엔진으로 채택하여 그 위에 구축된 데이터 변환 프레임워크입니다.두 도구는 서로 다른 추상화 수준에서 동작하지만 밀접하게 연관되어 있습니다. SQLGlot은 SQL 조작의 저수준 라이브러리로 활용되며, SQLMesh는 SQLGlot을 기반으로 고수준의 데이터 파이프라인 관리 기능을 제공합니다.핵심 개요 비교구분SQLGlotSQLMesh유형SQL 파서/트랜스파일러 라이브러리데이터 변환 프레임워크개발사Tobiko Data (Toby Mao 개발)Tobiko DataGitHub Stars약 9,100..