공부
-
Vector, Fluentd, Logstash, benthos(redpanda connect), bento란?공부 2026. 4. 8. 00:13
0. 개요로그(Log)·메트릭(Metric)·이벤트 데이터 파이프라인 구축 시 가장 많이 사용되는 오픈소스 도구 5종에 대한 심층 비교 분석입니다.도구언어라이선스개발사핵심 특징CNCFVectorRustMPL-2.0Datadog고성능 단일 바이너리, VRL 변환 언어, DAG 파이프라인샌드박스FluentdRuby/CApache 2.0CNCF/Treasure Data통합 로깅 레이어, 700+ 플러그인 생태계졸업(Graduated)LogstashJVM/JRubyApache 2.0 + ElasticElasticELK 스택 핵심, Grok 파싱, 200+ 플러그인❌Redpanda ConnectGoApache 2.0 + RCLRedpanda Data구 Benthos, 스트림 프로세서, Bloblang 변환 언어❌..
-
yaml 가이드공부/데이터 2026. 4. 5. 15:22
💡YAML 완전 가이드 — YAML이 무엇인지, 언제 쓰는지, 다른 포맷과의 차이, 기본 문법부터 Helm·K8s·GitHub Actions·Docker Compose·Ansible·OpenAPI 실전 패턴까지 한 번에 정리합니다.1. YAML이란?YAML은 "YAML Ain't Markup Language" 의 재귀 약어입니다. 초기에는 "Yet Another Markup Language"로 불렸으나, XML 같은 마크업 언어와 구분하기 위해 현재 이름으로 바뀌었습니다.공식 정의: 모든 프로그래밍 언어를 위한 사람 친화적 데이터 직렬화 언어(human-friendly data serialization language)역사연도사건2001Clark Evans, Oren Ben-Kiki, Ingy döt ..
-
데이터 모델링 기초 & 기법공부/데이터 2026. 4. 5. 00:08
1. 데이터 모델링 (Data Modeling)1.1 정의 및 개요데이터 모델링(Data Modeling)이란 조직의 데이터에 대한 구조화된 표현을 설계하는 과정입니다. 데이터 간의 관계(Relationships), 제약조건(Constraints), 패턴(Patterns)을 정의하여 비즈니스 요구사항을 데이터 구조로 변환합니다.데이터 모델링이 중요한 이유는 다음과 같습니다:데이터 품질 보장: 일관된 구조를 통해 데이터 무결성을 유지합니다커뮤니케이션 도구: 비즈니스 이해관계자와 기술팀 간의 공통 언어를 제공합니다성능 최적화: 쿼리 패턴에 맞는 구조 설계로 분석 속도를 향상시킵니다규제 준수: GDPR, CCPA 등 데이터 규제 요구사항을 체계적으로 관리합니다비용 관리: 잘못된 모델링은 Big-O 표기법으로 ..
-
시맨틱 레이어와 메트릭 레이어공부/데이터 2026. 4. 4. 19:39
개요시맨틱 레이어(Semantic Layer)와 메트릭 레이어(Metric Layer)는 데이터 조직이 복잡한 데이터 인프라를 비즈니스 친화적인 분석 인터페이스로 변환하기 위해 사용하는 데이터 추상화 계층입니다. 두 개념은 밀접하게 연관되어 있지만 범위와 목적에서 차이가 있습니다.💡 핵심 관계: 메트릭 레이어는 시맨틱 레이어의 하위 개념(subset)입니다. 시맨틱 레이어 없이 메트릭 레이어만 존재할 수 있지만, 완전한 시맨틱 레이어는 메트릭 레이어를 포함합니다.1. 시맨틱 레이어 (Semantic Layer)정의시맨틱 레이어는 데이터 웨어하우스와 분석 도구 사이에 위치하는 소프트웨어 추상화 계층으로, 복잡한 데이터 구조를 사람과 AI 시스템 모두가 이해할 수 있는 일관된 비즈니스 용어로 변환합니다.원..
-
데이터 웨어하우스 방법론과 데이터 모델링 비교공부/데이터 2025. 8. 31. 22:18
파트 1: 핵심 데이터 웨어하우스 설계 방법론데이터 웨어하우스(Data Warehouse, DW) 구축은 단순히 데이터를 한곳에 모으는 기술적 작업을 넘어, 기업의 비즈니스 인텔리전스(BI) 및 분석 역량을 좌우하는 전략적 결정입니다. 성공적인 데이터 웨어하우스는 조직의 데이터 자산을 신뢰할 수 있는 통찰력으로 전환하는 기반이 되지만, 잘못된 아키텍처 선택은 막대한 비용과 시간 낭비는 물론, 비즈니스 의사결정의 실패로 이어질 수 있습니다. 따라서 데이터 웨어하우스를 설계하는 데 사용되는 핵심 방법론들의 철학, 구조, 그리고 전략적 함의를 깊이 있게 이해하는 것은 모든 데이터 전문가에게 필수적입니다.본 보고서의 첫 번째 파트에서는 데이터 웨어하우스 설계의 세 가지 주요 패러다임인 킴볼(Kimball), 인..
-
2025년 데이터 엔지니어링 로드맵공부 2025. 8. 31. 21:46
서론데이터 엔지니어링의 전략적 중요성현대 기업 환경에서 데이터 엔지니어링은 더 이상 백오피스 지원 기능이 아닙니다. 이는 비즈니스 인텔리전스(BI), 고급 분석, 그리고 인공지능(AI)에 이르기까지 모든 데이터 기반 이니셔티브의 성공을 좌우하는 핵심적인 전략적 기반입니다. 데이터가 '새로운 석유'라면, 데이터 엔지니어는 원유를 정제하고, 파이프라인을 통해 운송하며, 최종 소비자가 사용할 수 있는 고부가가치 제품으로 변환하는 정유 및 물류 시스템 전체를 설계하고 운영하는 전문가입니다. 오늘날의 데이터 엔지니어는 단순히 데이터를 한 곳에서 다른 곳으로 옮기는 기술자를 넘어, 소프트웨어 엔지니어의 견고함, 데이터 아키텍트의 통찰력, 그리고 시스템 사상가의 전체론적 시각을 겸비한 하이브리드 전문가로 진화했습니다..
-
[Spark] RDD와 데이터프레임공부 2025. 7. 28. 00:34
개요스파크에서는 RDD(Resilient Distributed Dataset)와 데이터프레임 두 가지 방법으로 데이터를 처리하는데 각가 다른 추상화 수준과 특징을 가지고 있습니다.RDD(Resilient Distributed Dataset)스파크의 가장 기본적이고 낮은 수준의 데이터 추상화입니다. 여러 서버에 분산되어 병렬로 처리될 수 있는 변경 불가능한(immutable) 요소들의 집합입니다. (이 부분은 데이터프레임도 가지고 있는 특징)RDD는 다음과 같은 장단점을 가지고 있습니다.장점RDD는 내부에 어떤 타입의 객체(Python, Java, Scala)든 담을 수 있으며 데이터의 스키마에 대한 정보를 가지지 않습니다. 즉, 스키마가 없는 비정형 데이터(예: 일반 텍스트 로그 파일, 바이너리 데이터)..
-
데이터 저장 타입(포맷)공부/데이터 2025. 6. 3. 18:17
개요데이터 저장 타입은 데이터를 어떻게 구조화하고 디스크나 메모리에 저장할지를 정의하는 방식을 의미합니다. 어떤 타입을 선택하느냐에 따라 데이터 처리 성능, 저장 공간 효율성, 데이터 모델링의 유연성, 시스템 간 호환성 등이 크게 달라질 수 있습니다.다음은 파일 포맷에 어떤 종류가 있는지를 설명합니다. 파일 포맷은 데이터가 파일 시스템(로컬 디스크, HDFS, 클라우드 스토리지 등)에 실제로 저장되는 구체적인 방식을 의미합니다.행 기반 포맷 (Row-based)데이터를 행 단위로 묶어서 저장합니다.csv / tsv가장 간단한 텍스트 기반 포맷으로 쉼표나 탭으로 각 필드를 구분합니다. 사람이 읽기 쉽고 대부분의 시스템에서 지원하지만 스키마 정보가 없어 데이터 타입 유추가 필요하고 압축률이 낮습니다. 또한 ..
-
[Helm] 가이드 - NOTES.txt공부/쿠버네티스&헬름 2025. 3. 15. 21:33
helm install 또는 helm upgrade가 완료되면 Helm은 사용자에게 유용한 정보 블록을 출력할 수 있습니다. 이 정보는 템플릿을 사용하여 매우 사용자 정의가 가능합니다.차트에 설치 노트를 추가하려면 templates/NOTES.txt 파일을 생성하기만 하면 됩니다. 이 파일은 일반 텍스트이지만 템플릿처럼 처리되며 모든 일반적인 템플릿 함수와 객체를 사용할 수 있습니다.아래는 간단한 NOTES.txt 파일입니다.Thank you for installing {{ .Chart.Name }}.Your release is named {{ .Release.Name }}.To learn more about the release, try: $ helm status {{ .Release.Name }} ..
-
[Helm] 가이드 - 템플릿공부/쿠버네티스&헬름 2025. 3. 15. 21:31
named template(때로는 partial 또는 subtemplate이라고도 함)은 단순히 파일 내부에 정의되고 이름이 부여된 템플릿입니다. 이를 생성하는 두 가지 방법과 사용하는 몇 가지 다른 방법을 살펴볼 것입니다.템플릿 이름을 지정할 때 중요한 세부 정보는 템플릿 이름은 전역적이라는 것입니다. 동일한 이름으로 두 개의 템플릿을 선언하면 마지막에 로드된 템플릿이 사용됩니다. 서브차트의 템플릿은 최상위 레벨 템플릿과 함께 컴파일되므로, 템플릿 이름을 차트별 고유한 이름으로 지정하는 데 주의해야 합니다.일반적인 명명 규칙 중 하나는 정의된 각 템플릿에 차트 이름을 접두사로 붙이는 것입니다. 예를 들어 {{ define "mychart.labels" }}와 같이 사용합니다. 특정 차트 이름을 접두사로..