반응형

2026/04/13 3

[데이터베이스 응용] 스토어드 프로시저(Stored Procedure)

데이터베이스를 다루다 보면, 자주 반복되는 SQL 작업을 매번 새로 작성하는 것이 번거롭게 느껴진다. 이때 활용할 수 있는 것이 바로 스토어드 프로시저(Stored Procedure)다. 이번 포스팅에서는 스토어드 프로시저의 개념과 기본 형식부터 변수 사용, 조건문, 반복문, 오류 처리까지 한 번에 정리한다.1. 스토어드 프로그램이란?스토어드 프로그램(Stored Program)은 MySQL 안에서 프로그래밍 언어와 같은 기능을 제공하는 객체들의 총칭이다. 스토어드 프로시저, 스토어드 함수, 트리거, 커서 등으로 구성된다.자주 사용되는 쿼리를 하나로 묶어서 이름을 지정한 뒤, 그 이름을 호출하는 것만으로 실행할 수 있다. 데이터베이스 내부에서 반복적으로 사용되는 기능을 효율적으로 관리하고 성능을 개선하는..

[데이터베이스 응용] RDBMS와 Redis

이번 포스팅에서는 RDB(Relational Database, 관계형 데이터베이스)가 가진 구조적 한계를 살펴보고, 그 대안으로 등장한 NoSQL과 Redis의 개념 및 캐시 전략까지 정리한다.1. RDB의 구조적 한계RDB는 데이터를 테이블 형태로 저장하고 외래키를 통해 테이블 간 관계를 맺는 방식이다. 데이터 정합성과 일관성 측면에서 강력하지만, 몇 가지 구조적인 한계가 있다.복잡한 스키마 설계RDB는 사전에 컬럼과 테이블 관계 등 정확한 스키마 설계가 필요하다. 한번 설계된 스키마를 변경하는 것은 어렵고 유연성이 떨어진다. 서비스가 성장하면서 데이터 구조가 바뀌어야 할 때마다 스키마 변경 작업이 큰 부담이 된다.정규화와 JoinRDB는 중복을 제거하기 위해 정규화를 수행한다. 그 결과 데이터가 여러..

[데이터베이스 응용] 동시성 제어(MVCC, Locking Read)

이번 포스팅에서는 MVCC의 장단점을 살펴보고, PostgreSQL과 MySQL에서 동시성 이상 현상이 실제로 어떻게 발생하고 해결되는지 구체적인 예시를 통해 정리한다.1. MVCC의 장점과 단점MVCC는 데이터를 여러 버전으로 관리하여 읽기 작업에 lock을 사용하지 않는 방식이다. 주요 장점과 단점은 다음과 같다.장점비잠금 접근 : 읽기 작업은 lock을 사용하지 않아 성능이 향상된다.일관된 읽기 : 트랜잭션이 시작될 때의 데이터를 유지해서 읽으므로, 다른 트랜잭션의 변경에 영향을 받지 않는다.고동시성 처리 : 다수의 트랜잭션이 충돌 없이 병행 처리 가능하다.롤백 가능 : Undo 로그 기반으로 복구가 용이하다.단점불필요한 데이터 증가 : 사용되지 않는 과거 버전이 쌓여 정리 작업(Garbage Co..

반응형