DB 2

OUTBOX 패턴이란?

OUTBOX 패턴이란?OUTBOX 패턴은 외부 시스템으로 처리해야 할 작업을 바로 실행하지 않고, 먼저 DB 테이블에 "해야 할 작업"으로 저장해두고, 별도 워커가 그 테이블 또는 큐를 기준으로 처리하는 방식이다. 특히, 이벤트 기반 아키텍처에서 메시지 유실을 방지하고, 데이터 정합성을 보장하는 데 활용한다. 예를 들면, 특정 이벤트에 대한 알림톡을 보내야 하는 경우, 바로 알림톡 API를 호출하는 게 아니라, 먼저 DB에 데이터를 남기고, 프로듀서가 SQS에 메시지를 넣고, 워커가 SQS 메시지를 받아서 해당 outboxId를 기준으로 OUTBOX를 선점한 뒤 알림톡을 발송할 수 있다. 사용하는 이유?[중복 처리 방지, 장애 복구, 처리 상태 추적]알림톡 같은 외부 API 호출은 언제든 실패할 수 있..

DB 2026.05.21

저장 프로시저(SP: Stored Procedure)란?

프로시저란?프로시저(Procedure)는 특정 작업을 수행하기 위해 미리 정의된 일련의 명령어 집합으로, 데이터베이스에서 데이터의 추가, 수정, 삭제, 조회 등 복잡한 작업을 자동화하고 효율적으로 처리하기 위해 사용된다. 프로시저는 함수와 달리 값을 반환하지 않고 여러 동작을 묶어 하나의 논리적 단위로 실행한다는 특징을 가지고 있다. 프로시저를 사용하면 반복적인 업무를 줄이고 데이터베이스 성능을 향상시킬 수 있다.미리 만들어서 DB에 저장해두고, 필요할 때 이름으로 호출하면, 프로시저 내에 들어있는 여러 SQL(조회/수정/삽입/삭제, 계산, 조건문 등)이 한 번에 실행된다. 프로시저를 사용하는 이유 1. 같은 로직을 여러 시스템에서 재사용 할 수 있다. ㅡ> 추후 비슷한 시스템 개발 시 시간 단축 가능..

DB 2026.01.14