목록전체 글 (442)
나의 잡다한 노트 및 메모
매개변수(Parameter)는 빌드를 실행할 때 사용자에게 하나 이상의 입력값을 요청하여, 해당 값들을 빌드 과정에 전달할 수 있도록 하는 기능입니다. 예를 들어:파일 매개변수(File Parameter): 사용자가 테스트할 바이너리 파일이 담긴 zip 파일을 업로드하도록 요청할 수 있습니다.멀티라인 문자열 매개변수(Multi-line String Parameter): 소프트웨어 릴리스를 진행하면서 릴리스 노트를 입력받아 소프트웨어와 함께 업로드할 수 있습니다.각 매개변수는 **이름(Name)**과 해당하는 **값(Value)**을 가지며, 빌드가 시작될 때 이 이름-값 쌍이 환경 변수로 내보내집니다. 즉, 빌드 설정의 이후 단계(예: 빌드 스텝)에서 ${PARAMETER_NAME} (또는 Windows..
하나의 Task 프로세스에서 매우 많은 CPU 자원을 쓰기보다는, 여러 Task 프로세스를 병렬로 띄워 노드 전체(또는 전체 클러스터)의 자원을 고르게 활용하려는 취지 1. Worker마다 스레드를 여러 개 주는 방식의 단점만약 **각 Worker(Task 프로세스)**에 4~8개의 스레드를 부여한다면,동일 노드에서 동시에 돌아가는 여러 Task 각각이 다중 스레드를 사용할 때, 스레드가 경쟁이 심해지고, CPU/메모리 요구량이 기하급수적으로 늘 수 있습니다.특히 자원(특히 Direct Memory, CPU 코어 수)가 제한적인 환경에서는, 스레드가 많아도 실질적인 성능 향상이 크지 않을 수 있고, 오히려 컨텍스트 스위칭, 메모리 부족 등의 문제가 발생합니다. 2. Worker에 1개의 스레드만 주는 이..
1. 저장 방식MOLAP (Multidimensional OLAP)데이터 큐브 형태로 데이터를 미리 집계하여 저장합니다.다차원 데이터 모델(큐브)을 사용하여, 미리 계산된 요약 정보가 빠르게 조회됩니다.데이터가 압축되어 저장되므로, 디스크 공간 효율이 높습니다.ROLAP (Relational OLAP)관계형 데이터베이스(예: SQL 기반) 내의 테이블(주로 스타 스키마나 스노우플레이크 스키마)을 사용하여 데이터를 저장합니다.데이터를 미리 집계하지 않고, 필요 시 SQL 쿼리를 통해 실시간으로 계산하거나, 일부 집계된 형태로 저장할 수 있습니다.기존 RDBMS 인프라를 활용하기 때문에, 큰 규모의 데이터 처리에 유리할 수 있습니다.2. 성능 및 응답 속도MOLAP미리 계산된 큐브 데이터 덕분에, 쿼리 응답..
Earnings Before Interest, Taxes, Depreciation, and Amortization의 약자한글로는 "이자, 세금, 감가상각비, 상각비 차감 전 이익"이라고 표현할 수 있습니다. 주요 개념목적:EBITDA는 기업의 핵심 영업활동으로부터 발생하는 수익성을 측정하기 위한 지표입니다.재무구조나 회계상의 차이가 기업 간 비교에 영향을 주는 부분(이자 비용, 세금, 감가상각비, 상각비)을 제외하여 순수한 영업 활동의 성과를 파악하려는 목적입니다.구성 요소에서 제외하는 항목:이자(Interest): 기업이 부채에 대해 지불하는 비용세금(Taxes): 기업의 소득에 부과되는 세금감가상각(Depreciation): 유형자산(예: 기계, 건물 등)의 가치 하락분상각(Amortization)..
**비정규화(Denormalization)**는 **정규화(Normalization)**로 설계된 데이터베이스 스키마에서, 쿼리 성능 개선 또는 개발 편의성 등을 위해 중복 데이터를 허용하고 테이블 구조를 단순화하는 작업을 말합니다. 즉, 정규화를 통해 중복을 최소화하고 데이터 무결성을 높이려는 원칙과 반대 방향이지만, 실무에서 특정 목적(속도, 편의성)을 위해 의도적으로 일부 정규화 규칙을 완화하는 것을 의미합니다.1. 정규화 vs 비정규화정규화(Normalization)중복 데이터를 최소화하고, 무결성을 유지하도록 테이블을 분리하는 방식.일반적으로 **1NF(제1정규형)**부터 **BCNF(Boyce–Codd Normal Form)**까지 여러 단계가 있음.데이터 변경 시 **갱신 이상(수정, 삭제,..
Druid에서 "Supervisors"란?"Supervisors" 탭은 실시간 데이터 스트리밍(Streaming Ingestion)을 관리하는 역할을 합니다.즉, Kafka 또는 Kinesis와 같은 실시간 데이터 소스에서 데이터를 지속적으로 수집하는 작업을 관리하는 기능입니다. Supervisors의 역할Druid에서 Kafka / Kinesis 같은 스트리밍 데이터를 지속적으로 가져오기 위해 Supervisor를 사용합니다.데이터 스트림을 모니터링하고 자동으로 Task를 실행 및 관리새로운 데이터가 들어오면 실시간으로 적재Task 실패 시 자동 복구 (Fault Tolerance 지원)데이터 적재 속도를 조절하며 리소스 최적화실시간 데이터 처리를 위한 필수 기능 Supervisors의 작동 방식Su..
Druid에서 "Datasources"란?Datasources는 Druid에서 데이터를 저장하고 관리하는 논리적인 테이블 개념입니다.Druid는 전통적인 관계형 데이터베이스(RDBMS)의 테이블과 비슷한 개념을 사용하지만, 내부적으로는 더 최적화된 저장 구조를 가집니다.즉, Druid에서 데이터를 저장, 쿼리 및 관리하는 기본 단위가 Datasource입니다. Datasource의 특징SQL의 "TABLE"과 유사하지만, 더 고성능 데이터 처리를 지원시간 기반(time-series) 데이터를 저장하고 최적화자동으로 세그먼트(segment)로 분할하여 저장Roll-up(롤업) 기능을 통해 데이터 압축 및 성능 향상 가능실시간(Streaming) 또는 배치(Batch) 방식으로 데이터 추가 가능 2Data..

Tune parameters 단계는 Druid가 데이터를 효율적으로 저장하고 쿼리 성능을 최적화할 수 있도록 설정하는 과정입니다.이 단계는 **3가지 세부 단계(Partition, Tune, Publish)**로 나뉘며, 각각의 역할이 다릅니다. 1. Partition (파티셔닝)👉 데이터를 어떻게 분할해서 저장할지 결정하는 단계Druid는 대량의 데이터를 처리하기 때문에 효율적인 데이터 파티셔닝이 중요합니다.✅ 주요 파티셔닝 방식파티셔닝 타입설명사용 예시dynamic (기본값)데이터 크기와 분포를 기반으로 자동으로 파티셔닝대부분의 일반적인 데이터셋hashed특정 키 값(예: user_id)을 기준으로 데이터를 분할사용자별 데이터 분산single_dim하나의 특정 차원(예: country)으로 파티션을..