DevOps BootCamp/데이터베이스

스트림 처리

cloudmaster 2023. 3. 29. 11:52

★ 데이터 배치작업

 > 데이터 배치작업을 데이터 일괄처리작업이라고 칭하기도 함

 > 최소한의 인간 상호 작용으로 실행할 수 있으며, 자주 사용되는 프로그램을 위한 것

 

 ● 배치의 특징

  • 대량의 데이터 처리
  • 특정 시간에 프로그램 실행
  • 일괄적으로 처리

 ● 배치 작업의 단점

 > 앞선 프로그램의 실행이 다 끝나야지만 뒤에 등록된 데이터가 실행

※ 성능저하의 핵심은 CPU나 메모리의 부하가 아닌 비효율적인 I/O(Input, Output) 때문

※ 대량의 배치작업을 한꺼번에 진행하게 되면 특정시간대에 I/O가 몰리게 되어 서버에 갑작스러운 부하가 일어나 성능이 저하 > DB의 성능 개선을 위해서는 DB를 효율적으로 처리하는 것이 중요

 

★ DB를 효율적으로 처리하는 방법

 > 시간을 초단위, 밀리초 단위로 해서 데이터를 처리하거나, 또는 고정된 시간이 아닌 단순히 이벤트가 발생할 때마다 처리 - 스트림 처리의 기본개념

 

 ● 데이터 배치 처리 vs 데이터 스트림 처리             

     ------    Batch      Stream
데이터 크기 방대한 양의 미사용 데이터 개별적이거나 소수의 기록
데이터 범위 사용 가능한 모든 데이터 최신 이벤트
성능 높은 지연 시간(수시간에서 수일이 걸림) 짧은 지연 시간(밀리초에서 초 단위)
분석 대규모 데이터 세트에 복잡한 분석 간단한 분석, 실시간 응답
사용예 은행업무, 정산시스템, 리포트 및 리서치 실시간 운송추적, 실시간 미디어 송출
IoT센서, 결제처리 시스템
서버 및 애플리캐이션 로그

 

★ 데이터 스트림

  ● 데이터 스트림 처리

    > 데이터가 생성되는 즉시 연속 스트림을 처리하는 것

    > 데이터 크기를 알 수 없고 무한하고 연속적일 때 사용

 

  ● 데이터 스트림 특징

    > 시간에 민감함

    > 연속성

    > 다양성

    > 불완전성

    > 휘발성

 

  ● 데이터 스트림을 처리하기 위해서는

    > 기존의 솔루션 들은 데이터가 실행되지 전에 데이터를 수집하고 처리하도록 아키텍처가 구축이 되었지만 스트리밍 아키텍처는 이동 중인 데이터를 사용하고 스토리지에 보관, 강화, 분석하는 기능을 하게끔 되어 있음

    > 스트림으로 작업하는 애플리케이션에는 항상 저장처리하는 두가지 주요 기능이 필요

    > 스트림 데이터의 고유한 특성에 알맞은 요구사항들을 충족

    ○ 짧은 대기 시간

    ○ 확장성

    가용성

    - 일부 구성 요소에 장애가 발생하더라도 계속 작동할 수 있어야 함

    - 스트림 프로세서는 정보를 수집, 처리 및 즉시 상위 계층으로 전달하여 프레젠테이션을 수행

 

  ● 데이터 스트림 처리의 이점

    > 스트리밍 데이터 처리는 새로운 동적 데이터가 지속적으로 생성되는 시나리오 대부분에서 유용

 

★ 이벤트

 > 시스템 하드웨어 또는 소프트웨어 상태가 변화한다는 것

 

 ● 이벤트 기반 아키텍처

  - 이벤트 생성자와 이벤트 소비자로 구성

  - 이벤트 생성자는 이벤트를 감지, 메시지로 나타냄

  - 이벤트 처리 플랫폼이 이벤트를 비동기식으로 처리하는 이벤트 채널을 통해 해당 이벤트 생성자에서 이벤트 소비자로        전송 

  - 이벤트 소비자는 알림을 받아야 하며, 이벤트를 처리할 수도 있고 이벤트의 영향을 받기만 할 수도 있음

 

'DevOps BootCamp > 데이터베이스' 카테고리의 다른 글

데이터 파이프라인  (0) 2023.03.29
수평 확장된 데이터베이스와 중복 처리 (Advanced)  (0) 2023.03.29
캐싱  (0) 2023.03.29
캐싱  (0) 2023.03.29
파티셔닝  (0) 2023.03.29