전체 글(573)
-
카프카의 주요 개념: 이벤트, 스트림, 토픽
카프카의 주요 개념: 이벤트, 스트림, 토픽이벤트 (Event):이벤트는 어떤 일이 발생했을 때의 상태를 나타내는 불변하는 데이터이다., 사용자가 특정 버튼을 클릭한 경우, 서버에 요청을 보낸 경우, 결제 트랜잭션이 발생한 경우 등이 이벤트가 될 수 있다.이 이벤트는 레코드 또는 메시지로 시스템 간에 전송될 수 있으며, 각 이벤트는 특정 시간에 발생한 데이터를 나타낸다.이벤트는 순차적으로 발생하며, 이를 스트림으로 처리하게 된다.스트림 (Stream):스트림은 연관된 이벤트들의 흐름을 의미한다. 여러 개의 이벤트가 순차적으로 발생하고 이를 처리하는 과정이 스트림이라고 할 수 있다.이벤트들은 시간 순서대로 발생하며, 각 이벤트는 연속적인 데이터 흐름의 일부로 다뤄진다. 즉, 스트림은 여러 개의 관련된 이벤..
2024.11.27 -
Zookeeper 및 부분 실패(Partial Failure)
Zookeeper 및 부분 실패(Partial Failure)Zookeeper란?Zookeeper는 분산 시스템을 위한 중앙 집중식 서비스로, 주로 구성 관리, 동기화, 클러스터 상태 관리 및 리더 선출 등을 처리하는 데 사용된다. Kafka 같은 분산 시스템에서 중요한 역할을 하며, 클러스터의 메타데이터를 관리하고, 분산 환경에서의 상태 관리와 동기화 문제를 해결하는 데 도움을 준다.Zookeeper는 클러스터의 노드들 간에 상태를 공유하고, 데이터의 일관성을 유지하는 중요한 역할을 한다. Kafka와 같은 시스템에서는 Zookeeper를 사용하여 브로커의 메타데이터와 파티션 정보, 리더 선출 등을 관리한다.부분 실패(Partial Failure)란?부분 실패는 분산 시스템에서 발생할 수 있는 문제 중..
2024.11.27 -
Kafka의 프로듀서(Producer) | 카프카 데이터 복제 (Replication) |컨트롤러와 코디네이터
카프카 프로듀서의 이해데이터 저장:Kafka의 프로듀서(Producer)는 데이터를 토픽(Topic)에 전송한다. 이때 데이터를 전송받은 카프카 브로커(Broker)는 해당 데이터를 파티션(Partition)에 저장한다.카프카는 메시지를 파일 시스템에 저장한다. 각 파티션에 대해 하나 이상의 로그 파일이 생성되며, 이 파일들은 디스크에 저장된다.속도 이슈:Kafka는 데이터를 파일 시스템에 저장하기 때문에, 파일 입출력(File I/O) 속도가 문제될 수 있다.파일 시스템에서의 속도 이슈를 해결하기 위해 페이지 캐시(Page Cache)를 활용하여 디스크 입출력 속도를 개선한다.페이지 캐시(Page Cache):페이지 캐시는 운영 체제(OS)가 관리하는 메모리 영역으로, 파일 입출력 성능을 향상시키는 역..
2024.11.27 -
Kafka
Kafka란?Kafka의 역사 및 기본 구조 소개:Kafka는 LinkedIn에서 시작되어 현재는 Apache Software Foundation에서 관리하는 오픈소스 메시징 시스템이다. 주로 대규모의 데이터 스트리밍과 실시간 데이터 처리에 사용된다.Kafka는 분산 스트리밍 플랫폼으로, 데이터를 실시간으로 처리하고, 저장하며, 다양한 애플리케이션에서 데이터를 쉽게 송수신할 수 있도록 한다.Kafka의 주요 구성 요소로는 Producer, Broker, Consumer, Topic, Partition 등이 있다.Kafka의 구조카프카 브로커의 이해:Kafka 브로커는 메시지를 저장하고 Consumer로부터 요청을 받으며, Producer로부터 데이터를 받아서 토픽에 기록하는 역할을 한다.하나의 Kafka..
2024.11.27 -
Data Observability (데이터 관측)
Data Observability (데이터 관측)Data Observability란 조직 내에서 시스템에 대한 데이터를 완전히 이해하고, 데이터의 상태를 실시간으로 모니터링하고 문제를 감지할 수 있는 능력을 의미한다. 이를 통해 데이터 품질을 유지하고 문제를 미리 감지하여 빠르게 해결할 수 있다. 데이터 관측은 주로 자동화된 모니터링, 알람, 트리거 등을 활용하여 이루어진다.Data Observability의 5 Pillars (5개의 주요 요소)Data Observability를 구성하는 5가지 핵심 요소는 다음과 같다:Freshness (신선도):목표: 데이터가 최신 상태로 업데이트되었는지 확인하는 것.설명: 데이터가 시간에 맞게 최신으로 업데이트되고 있는지 추적한다. , 실시간 데이터 처리 시스템에..
2024.11.27 -
ETL과 ELT
ETL(Extract, Transform, Load)과 ELT(Extract, Load, Transform)의 차이와 활용 사례1. ETL과 ELT의 차이ETL: 데이터를 추출(Extract)한 후 변환(Transform) 작업을 수행하고, 변환된 데이터를 대상 데이터 저장소로 적재(Load)한다.주로 데이터가 구조화된 상태에서 사용되며, 데이터 웨어하우스가 이미 준비된 환경에서 효율적이다.장점: 데이터를 미리 변환하기 때문에 적재 후 빠르고 안정적으로 분석할 수 있다.ELT: 데이터를 추출(Extract)하여 먼저 대상 데이터 저장소로 적재(Load)한 뒤, 저장소 내부에서 변환(Transform) 작업을 수행한다.현대적인 분산 처리 및 클라우드 기반 데이터 플랫폼에서 활용되며, 대규모 비구조화 데이터..
2024.11.27