분류 전체보기 157

OLAP & Data Warehouse

OLAP vs OLTP구분OLTP (트랜잭션 중심)(Online Transaction Processing)OLAP (분석 중심)(Online Analytical Processing)목적실시간으로 발생하는 수많은 트랜잭션을 빠르고 정확하게 처리하는 것이 목표의사결정을 돕기위해 복잡한 데이터를 분석하고 리포트를 생성하는 것이 목표주요 작업데이터 삽입, 수정, 삭제데이터 조회, 집계사용자현업 직원, 고객 (매우 많음)데이터 분석가, 경영진 (적음)데이터 범위최신 데이터, 상세한 개별 기록과거 이력 데이터, 요약 및 집계 데이터응답 속도밀리초(ms) 단위 (매우 빠름)수 초 ~ 수 분 (복잡도에 따라 다름)데이터 구조중복을 최소화한 정규화 구조분석 성능을 높인 비정규화(스타 스키마 등) 구조저장소관계형 데이터베..

BigQuery With Partitioning & Clustering

BigQuery란?서버리스(Serverless) 대규모 데이터 웨어하우스. "서버리스"라는 말은 사용자가 서버를 사고 관리할 필요 없이, 그냥 데이터를 넣고 SQL로 질문만 던지면 된다는 뜻 BQ 핵심 특징① 초고속 성능 (분산 컴퓨팅)빅쿼리는 수천 대의 컴퓨터가 동시에 작업하는 Dremel이라는 엔진을 사용하여 테라바이트(TB) 단위의 데이터도 단 몇 초 만에, 페타바이트(PB) 단위도 몇 분 안에 분석함. ② 저장소와 연산의 분리 (Separation of Storage and Compute)데이터를 저장하는 곳과 계산하는 엔진이 완전히 떨어져 있어서, 각각 필요한 만큼만 확장하고 비용을 낼 수 있음.따라서, 데이터를 많이 저장한다고 해서 분석 엔진 비용이 올라가지 않고분석을 많이 한다고 해서 저..

ELT vs ETL 언제 사용하면 좋을까?

ETL vs ELT ETL (Extract - Transform - Load)소스에서 데이터를 추출하고 사전에 데이터를 변환한 후, 데이터베이스에 로드하는 프로세스Extract (HTTP 요청 등..)Transform (python 스크립트 등을 활용해 로컬에서 데이터 변환)Load (로컬 DB 등에 로드) ETL은 어떤 상황에 쓰기 좋을까?적합한 상황예시✔ 레거시 환경 또는 규제/컴플라이언스가 중요한 경우✔ 데이터 품질과 일관성을 사전에 엄격하게 관리해야 할 때✔ 데이터가 주로 **정형(structured)**이고, 스키마가 자주 변경되지 않을 때✔ 변환 로직이 복잡하고 미리 정제된 데이터를 필요로 할 때- 금융/헬스케어 업계처럼 민감 데이터 사전 검증이 중요한 경우- 데이터 웨어하우스로 보고용 정제 ..

Workflow Orchestration / Kestra 알아보기

Workflow Orchestration이란?워크플로우 오케스트레이션은 독립적인 데이터 도구들을 하나의 파이프라인으로 통합하고, 실행 순서를 지시하며, 오류 로깅, 복잡한 로직 구현(병렬 실행, 반복), 자동 실행(스케줄 또는 이벤트 기반)을 통해 데이터 파이프라인을 강화하는 것을 의미함. Kestra 란?Kestra는 workflow orchestration을 위한 도구로,Kestra는 데이터 소스에서 데이터를 추출하고 Python 스크립트에서 변환 후, 최종 데이터베이스에 로드하는 모든 과정을 조율하여 수동 작업 없이 데이터 흐름을 자동화하고 관리할 수 있도록 함. Kestra의 장점Kestra는 다음 장점들을 가지고 있음.1. 오픈소스 플랫폼이므로 엔지니어가 코딩, 노코드, AI를 활용하여 비즈니스..

Docker + port & network 이해하기

docker 환경 구성을 하다보면 port, network 설정 등을 하게되는데,port는 내 컴퓨터와 컨테이너를 연결해주는것.. network는 컨테이너끼리 통신할 수 있게 해주는 것..정도로만 얘기할 수 있기에, 두 가지 개념에 대한 이해가 부족하다고 느꼈다. 그래서 이번 포스팅에서는 port, network 와 같은 개념에 대해서 짚어보고, 이를 기반으로 실습용으로 작성한 docker-compose.yaml 파일을 이해해보고자 한다.Port + DockerPort 란?하나의 컴퓨터에는 여러개의 서버가 설치될 수 있음. 클라이언트가 컴퓨터와 접속할 때 어떤 서버와 접속하려고 하는지 구분할 수 있는 방법이 필요한데, 이때 이를 구분해주는 수단이 포트임. 비유로 들자면,컴퓨터가 건물이라고 했을 때,- I..