목록데이터엔지니어 (17)
나의 잡다한 노트 및 메모
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)으로 파티션을..

Druid의 "Transform data and configure schema" 단계에서 Filter 설정을 하면, 원하는 데이터만 선택적으로 가져올 수 있습니다. 즉, 필터를 적용하면 불필요한 데이터를 제거하고, 특정 조건을 만족하는 데이터만 Druid에 저장할 수 있습니다. 1. 필터 타입 설명Druid에서 사용할 수 있는 필터 타입은 여러 가지가 있으며, 선택한 필터 타입에 따라 데이터를 어떻게 필터링할지 결정됩니다.필터 타입설명예제selector특정 값과 일치하는 데이터만 선택city = 'Seoul'in여러 값 중 하나와 일치하는 데이터 선택country IN ('USA', 'Canada', 'UK')interval특정 시간 범위 내 데이터 선택timestamp BETWEEN '2024-01-0..
Druid에서 PARSER는 주로 데이터 수집(ingestion) 과정에서 원시 데이터를 구조화된 형식으로 변환하는 역할을 합니다. 구체적으로는, 아래와 같은 역할을 합니다:원시 데이터 해석:외부 소스(예: 로그 파일, 스트림 데이터, CSV, JSON 등)로부터 입력된 데이터를 읽고, 그 데이터를 Druid가 처리할 수 있는 이벤트(행) 단위로 변환합니다.필드 추출 및 변환:데이터를 파싱하면서 타임스탬프나 각종 필드(차원, 메트릭)를 추출하고, 필요시 데이터 타입 변환, 포맷 변경 등의 작업을 수행합니다. 예를 들어, JSON 형식의 로그에서 특정 키 값을 추출하거나, CSV의 각 열을 분리해내는 작업을 담당합니다.구조화:파싱된 데이터를 Druid 내부에서 인덱싱하고 쿼리할 수 있도록 구조화합니다. 이..
주요 컴포넌트와 역할Middle Manager역할:Middle Manager는 Overlord가 할당한 데이터 인제스천 작업(예: 배치 작업, 스트리밍 데이터 인덱싱)을 실제로 수행합니다.원시 데이터를 받아서 적절한 포맷으로 변환하고, 인덱싱한 후 세그먼트(segment)로 만들어 Deep Storage에 저장할 수 있도록 준비합니다.실시간 또는 배치 데이터 처리에서 데이터 변환, 필터링, 집계 등을 수행합니다.특징:작업이 완료되면 생성된 세그먼트는 Historical 노드로 전파되어 쿼리 서비스에 활용됩니다.인제스천 파이프라인의 핵심 역할을 하며, 성능 및 확장성에 중요한 영향을 미칩니다Overlord역할:인제스천 작업(task)을 관리하고, 이를 Middle Manager에 할당합니다.작업 스케줄링,..
enterprise에서 쓰기 좋은 minIO의 deploy 모드이다. erasure coding 설정을 지원하여 절반의 노드가 죽을 때 read 를 가능하게 해준다.모든 minIO 서버는 must use the same listen port또한, load balancer를 사용하여 클러스터의 연결을 관리할 것을 강력히 권장하고 있다. Sequential HostnamesMinIO에서는 서버 풀을 생성할 때 연속적인 MinIO 호스트 시리즈를 나타내기 위해 확장 표기법 {x...y}를 사용해야 합니다.순차적인 호스트 이름을 사용하여야 대규모 분산 클러스터에서 관리 오버헤드가 낮아진다.You can specify the entire range of hostnames using the expansion no..