스트리밍, 일괄처리, OLTP 워크로드

1. 스트리밍 워크로드

- 데이터가 실시간으로 생성되고 처리되는 작업

- ex) 초당 센서 판독값 50개를 전송하는 풍력 발전용 터빈

 

2. 일괄처리 워크로드

- 데이터를 주기적으로 전송하는 작업

- ex) 급여 지급을 한 달에 한 번 처리하는 작업
- ex) 하루에 한 번 판독 값을 전송하는 가정용 전기 계량기

 

3. OLTP ( Online Transaction Processing ) 워크로드

- 데이터 베이스 용어

- 실시간으로 데이터를  입력, 수정, 조회하는 작업을 처리하는 시스템

- ex) 은행, 예약 시스템, 주문처리 시스템같이 매우 빠른 응답 시간을 요구하는 환경을 필요로 한다. 

 

4. OLTP ( Online Transaction Processing ) 워크로드 특성

1. 빠른 응답시간
- 거래가 실시간으로 처리되어야 하므로 매우 빠른 
2. 고동시성(Concurrency)
- 여러 사용자가 동시에 접근하여 거래 수행 가능
3. 고가용성(High Availability)
- 시스템 계속 가동
- 장애 발생 시 빠른 회복
4. 작은 트랜잭션 크기
- 각 거래가 작고 간단함
- 일반적으로 데이터베이스의 일부만 갱신
5. 복잡한 쿼리가 적음
- 단순한 조회 / 갱신 작업에 집중
- 복잡한 조인 / 집계 작업은 적음
6. 트랜잭션 일관성
- 데이터의 일관성 유지를 위해 ACID 특성이 보장되어야 한다. 

 

5. ACID

[A] Atomicity (원자성)
- 트랜잭션은 원자적인 단위로 실행되어야 함
- 트랜잭션 내의 모든 연상이 성공 / 실패해야 함
- 일부 연산은 성공하고 나머지 연산을 실패하면 안된다. 

[C] Consistency (일관성)
- 트랜잭션 전후에 데이터베이스는 일관된 상태여야 함
- 즉, 트랜잭션 전후로 데이터베이스의 무결성 규칙이 항상 유지되어야 한다. 

[ I ] Isolation (고립성)
- 여러 트랜잭션이 동시에 실행될 때 각 트랜잭션은 서로 영향을 주지 않는다. 

[D] Durability (지속성)
- 트랜잭션이 성공적으로 완료되면 그 결과는 영구적으로 저장되어야 한다.
- 즉, 시스템에 장애가 발생해도 트랜잭션의 결과는 보존되어야 한다.