이벤트에 대한 이해

Engineer Edlin·2022년 9월 7일
0

Kafka

목록 보기
2/4
post-thumbnail

Kafka 소개에 대한 짧은 영상을 보시면 카프카를 보다 더 쉽게 이해하실 수 있습니다. 본 시리즈는 Kafka 공식문서인프런 무료강의, Apache Kafka 101을 참고하여 한 내용입니다.

Event Streaming

  • 앱들이 많이 생겨나면서 다양한 데이터베이스시스템을 사용하게 되었고 데이터의 형태도 다양해졌다.
    • 관계형데이터베이스로 저장가능한 데이터가 있는 반면, key-value 쌍으로 이루어진 데이터가 존재한다.
  • 어지러운 데이터 관리를 카테고리화하여 관리하기 위해서 링크드인 내부 프로젝트로 진행되었다.
  • 현재 Apache Kafka로 배포되어 하루 엄청난 양의 데이터를 다룰 수 있는 실시간 데이터 스트리밍 기술로 각광받고 있다.

    실시간 데이터란?
    실시간 데이터의 정의가 무엇일지에 대해 검색해 보았습니다. 실시간 데이터란 '매시간 생성되는 데이터'를 뜻하지만, '매시간'을 어떻게 정의할 것인지에 따라 실시간 데이터의 양상이 달라지기도 합니다. 보통 수집 직후 바로 전달되는 데이터라는 뜻으로 통용되어진다고 합니다!


1) Event Streaming

  • 불과 십년 혹은 몇 십년 전만해도, 데이터는 사물에 기반하여 수집되었다.
    현재는 관점을 바꿔 데이터가 아닌 'Event' 에 초점을 맞추어 데이터를 수집한다.

    Event Streaming란?
    어떤 일이 발생하였을 때에 초점을 맞추어 생성된 데이터
    e.g. log

  • 이벤트 스트리밍은 데이터의 지속적 흐름과 해석을 보장하여 적절한 시간에 적절한 곳에서 사용될 수 있도록 보장한다.

2) Event Streaming의 예

  • 실시간 금융정보 및 주식 거래
  • 실시간 운송정보 및 자동화 산업에서의 정보 추적
  • IoT 장치의 sensor들의 정보 분석
  • 병원에서 실시간 긴급 처치 및 처방을 위한 변화 예측
  • 다른 분야의 산업 사이 만들어지는 데이터 저장, 연결 등

3) Apache Kafka = Event Streaming Platform (EcoSystem)

  • Event Streaming Data를 처리(=수집하고 저장)하기 위한 플랫폼

    Kafka에서는 시간 순으로 정렬화되어 durable(내구성 있는) 데이터, 즉, 로그들의 집합을 토픽(Topic) 이라고 한다.

  1. 데이터를 다른 시스템으로 계속해서 import하고 export할 수 있다.
    • 다른 곳에서 생산되는 데이터들을 모으고 다른 곳으로 내보낼 수 있다.
  2. 원하는 만큼 지속성과 신뢰성을 보장하여 스트리밍 데이터를 보관할 수 있다.
    • Persistence
    • Durability
  3. 각각 다른 곳에서 발생하는 이벤트들의 스트리밍을 처리할 수 있도록 돕는다.
    • How? Communicating topics one another

▶▶ 카프카는 분산된, 규모가 있는, 계속해서 늘어나는, 오류발생에도 충분히 대응할 수 있으면서도 안전한 데이터 처리를 보장한다.

profile
담대하게 도전하고 기꺼이 실패를 받아들이는 개발자

0개의 댓글