★ 데이터 배치작업
> 데이터 배치작업을 데이터 일괄처리작업이라고 칭하기도 함
> 최소한의 인간 상호 작용으로 실행할 수 있으며, 자주 사용되는 프로그램을 위한 것
● 배치의 특징
- 대량의 데이터 처리
- 특정 시간에 프로그램 실행
- 일괄적으로 처리
● 배치 작업의 단점
> 앞선 프로그램의 실행이 다 끝나야지만 뒤에 등록된 데이터가 실행
※ 성능저하의 핵심은 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 |