아틴
Atin
아틴
전체 방문자
오늘
어제
  • 분류 전체보기 (460)
    • Devlopment (246)
      • 정리 글 (20)
      • MicroServices (0)
      • Reactive, Concurrenc.. (12)
      • Java (44)
      • Spring (20)
      • C,C++,Ruby,Python (52)
      • Mobile (39)
      • Web (35)
      • Tip & Info (14)
      • Unit Test (7)
    • Infra (44)
      • OS (21)
      • RDBMS (13)
      • NoSQL&Cache (5)
      • AWS (4)
    • Computer Science (11)
    • Etc (156)

블로그 메뉴

  • Home
  • Guestbook

공지사항

인기 글

태그

  • Linux
  • 여행
  • javascript
  • 자바
  • 전라도
  • C
  • Java
  • Android
  • Ruby on Rails
  • CSS
  • Dungeons & Dragons
  • 아이폰
  • 던젼 앤 드래곤즈
  • 정읍
  • jsp
  • 해킨토시
  • 안드로이드
  • Python
  • TRPG
  • mysql

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
아틴

Atin

Devlopment/Reactive, Concurrency

데이터 스트림

2016. 12. 29. 10:13
반응형

스트림이란 용어가 리액티브와 같이 참 많은 곳에서 사용이 된다.

데이터 스트림이란 용어도, 스트림이란 용어도 있는데 간략하게 알아보자.


데이터 스트림(Data stream)

일단 데이터 스트림이란 무엇일까?

다음과 같이 정의할 수 있다.

  • 데이터가 열을 지어 흐르는 것처럼 입력되는 것
  • 정해진 포맷을 사용하여 문자 또는 바이트 형식으로 송수신되는 데이터 항목의 연속적인 흐름
  • 데이터의 양이 한정되어 있지 않고 지속적으로 생성되고, 시간에 따라 값이 변하는 데이터의 흐름
  • 연속적으로 흘러들어오는 데이터 (예 :  바이트 배열)
  • 예) 주식 가격, 사용자 클릭, IoT, 게임 데이터, 사용자 행동 정보, 채팅 


실시간 처리(Real-time processing)

  • 대량의 데이터를 빠르게 처리하기 위한 데이터 처리의 목표 또는 제약 사항
  • 실시간은 마감시각(deadline)이 있고, 마감시각 내에 주어진 연산을 완료하지 못하면 실패로 처리
  • 마감시각을 놓쳤을 때의 처리 결과에 따라 Hard/Firm/Soft real-time으로 구분
  • 실시간 처리는 목표로 하는 시간 제약이 주어지고 그에 따른 실패 수준이 정해짐


스트림 처리(Stream processing)

  • 대량의 데이터를 빠르게 처리하기 위한 데이터 처리 방식
  • 범위가 한정되지 않고(unbounded) 끊임 없이 흘러가는(stream) 데이터에 대한 처리 방식
  • 잘 설계된 스트림 처리는 배치 처리를 포함한다고 할 수 있음
  • 스트림 처리가 끊임없이 흘러가는 데이터를 처리하다 보니 데이터 처리 결과를 빠르게 받아볼 수 있고 실시간 처리라고 불릴 수 있음


마이크로 배치(micro-batch)

  • 작은 배치 처리를 무한히 하는 방식
  • 스트림 처리에 포함됨


배치 처리(batch processing)

  • 한정된(bounded) 데이터의 처리를 배치 처리(batch processing)
  • unbounded 스트림 처리의 반대


Reference

[1] Spark streaming으로 실시간 처리 (http://readme.skplanet.com/?p=12465)

[2] http://radar.oreilly.com/2015/08/the-world-beyond-batch-streaming-101.html 

반응형
저작자표시 비영리 변경금지 (새창열림)

'Devlopment > Reactive, Concurrency' 카테고리의 다른 글

ReactiveX  (0) 2017.01.17
리액티브란 무엇인가? (What's in a Name : Reactive)  (0) 2017.01.10
리액티브 프로그래밍 대 리액티브 시스템 (Reactive Programming vs Reactive Systems)  (0) 2017.01.09
리액티브 스트림(Reactive Streams)  (0) 2017.01.04
동시성 관련 분류  (0) 2016.12.27
vert.x VS Akka  (0) 2016.11.22
리액티브 프로그래밍이란 무엇입니까? What is reactive programming?  (0) 2016.11.21
1. 소프트웨어 패러다임 - 성능 그리고 동시성  (0) 2016.11.17
동시성(Concurrency) vs 병렬성(Parallelism)  (0) 2016.11.17
synchronous, asynchronous, blocking, non-blocking  (0) 2016.10.31
    'Devlopment/Reactive, Concurrency' 카테고리의 다른 글
    • 리액티브 프로그래밍 대 리액티브 시스템 (Reactive Programming vs Reactive Systems)
    • 리액티브 스트림(Reactive Streams)
    • 동시성 관련 분류
    • vert.x VS Akka
    아틴
    아틴

    티스토리툴바