본문 바로가기
Database

일괄 처리(Batch processing) & 스트림 처리(Stream processing)

by BTC_나르 2023. 6. 23.

베하~! 탑신병자 듀오 팀 나르 입니다!

이번 포스팅에서는 일괄 처리와 스트림 처리에 대해서 알아보도록 하겠습니다


배치 처리(batch processing)

일괄 처리(batch processing)이란
컴퓨터 프로그램 흐름에 따라 순차적으로 자료를 처리하는 방식을 뜻한다
초기의 일괄처리 방식은 사용자와 상호작용하는 것이 불가능했지만, 운영 체제가 발전함에 따라 프로그램 입출력
을 통해 상호작용하는 것이 가능해졌다.(=워크로드 자동화(WLA) 및 작업 스케줄링이라고도 한다.

일괄 처리의 중요 포인트
개별적으로 어떤 요청이 있을 때마다 실시간으로 통신하는 것이 아닌 한꺼번에 일괄적으로 대량 건을 처리하는 것입니다. 특히 배치는 보통 정해진 특정한 시간에 실행됩니다.

특징

1. 대량건의 데이터를 처리한다.

2. 특정 시간에 실행된다.

3. 일괄적으로 처리한다.

장점

1. 속도 및 비용 절감

  • 배치 프로세싱은 대부분 자동화되어 있기 때문에 수동 개입이 필요하지 않습니다.
  • 자동화는 운영 비용을 줄이고 트랜잭션 및 데이터 처리 속도를 높입니다.
  • 조직은 필요한 경우 데이터가 처리되는 순서의 우선 순위를 지정할 수 있습니다.

2. 정확성

  • 프로세스에서 인력의 개입을 없앰으로써 인적 오류가 없어 시간과 비용을 절약하고 결과적으로 데이터의 정확성을 높입니다

3. 오프라인 기능

  • 배치 프로세싱 시스템은 오프라인으로 작동합니다.
  • 하루가 끝나도, 이 프로세싱은 여전히 작동하고 있습니다.
  • 관리자는 프로세스가 시작되는 시점을 제어하여 시스템을 압도하고 일상적인 활동을 방해하지 않도록 할 수 있습니다.

4. 한 번 설정 후 자동 수행

  • 배치 프로세싱 시스템은 한번 설정한 이후 자동으로 작동합니다.
  • 로그인하여 확인하거나 조정할 필요가 없습니다.

5. 머신 러닝 및 인공 지능을 위한 정확한 데이터

  • 배치 프로세싱은 자동화된 특성으로 인해 데이터 오류를 완전히 방지합니다.
  • 이상이 발견되면 즉시 플래그를 지정하여 신속하게 해결할 수 있습니다

사용 사례

  • 프로세스가 즉시 처리할 필요가 없고 실시간 정보가 필요하지 않은 비즈니스
  • 많은 양의 데이터를 처리해야 하는 비즈니스
    • OpsNow의 Cost에서 보여지는 비용 또한 batch processing을 통하여 데이터를 처리 합니다.
  • 프로세스가 사람의 입력이 필요하지 않고 반복적인 비즈니스

스트림 처리(Stream processing)

스트림 처리란
실시간으로 데이터를 추출, 처리 및 전달하는 것을 말합니다
상태 비저장 작업이며 사용자는 실시간으로 확인이 가능합니다
데이터는 도착하자마자 처리되고, 데이터 스트림은 시스템으로 수집되며, 처리 논리가 적용됩니다.

스트림 처리 충족 조건

1. 짧은 대기 시간

  • 스트림 프로세서는 연속적인 데이터 스트림에서 빠르게 작동해야한다

2. 확장성

  • 데이터의 양은 예측할 수 없기 때문에 프로세서는 필요한 경우 많은 양의 데이터를 처리할 수 있도록 확장되어야 한다

3. 가용성

  • 일부 구성 요소에 장애가 발생하더라도 계속 작동할 수 있어야 합니다.
  • 스트림 프로세서는 정보를 수집, 처리 및 즉시 상위 계층으로 전달하여 프레젠테이션을 수행할 수 있어야 합니다.

장점

1. 스트림 처리 및 고수익

  • 실시간 스트림 처리 인프라와 함께 강력한 시각화 시스템을 통해 중요한 이벤트에 대한 응답 시간을 개선할 수 있습니다

2. 인프라 비용 절감

  • 스트림 처리를 사용하면 데이터가 대량으로 저장되지 않으므로 처리 시스템의 하드웨어 비용이 줄어듭니다.

3. 경쟁력 및 고객만족도 제고

  • 조직은 경쟁자보다 시간을 얻게 되고 우위를 점하게 됩니다. 또한 데이터 스트리밍 및 처리는 고객 문제를 실시간으로 해결할 수 있으므로 고객 만족도를 높입니다.

사용사례

  • 부정 행위 탐지
    • 데이터를 실시간으로 처리하고 이상 징후를 탐지하는 데 사용
  • 감정 분석
    • 감정 분석 시스템에서 데이터를 수집하는 데 사용
    • 실시간 데이터 중심 마케팅을 위해 설계
  • 로그 모니터링
    • 여러 응용 프로그램의 로그를 모니터링하고 실시간으로 오류를 탐지
  • 고객 만족도
    • 고객 행동 분석, 디지털 환경 모니터링 및 서비스 개선을 위한 고객 여정 관찰에 사용

지금까지 일괄 처리와 스트림 처리에 대하여 알아봤습니다

다음 포스팅에는 더욱 흥미로운 주제로 돌아오겠습니다~!

그럼 베빠~!

'Database' 카테고리의 다른 글

빅쿼리 보안  (0) 2023.07.07
Airflow Web을 통한 Dag 핸들링  (0) 2023.07.05
Airflow 버전별 Web UI 및 기능 활용  (0) 2023.06.22
빅쿼리 개념 및 특징  (0) 2023.06.22
SQL과 기초 문법  (0) 2023.06.22

댓글