본문 바로가기

IT43

[DB 트랜잭션] @Transactional 속성(격리 수준 Isolation) Spring @Transactional의 Isolation 레벨@Transactional에서 isolation 속성은 트랜잭션 간 데이터 격리 수준을 결정즉, 여러 트랜잭션이 동시에 실행될 때 어떤 데이터를 볼 수 있고, 어떤 데이터 변경이 허용되는지를 정의하는 것  Isolation Level 종류 및 예시Isolation LevelDirty ReadNon-repeatable ReadPhantom Read설명READ_UMCOMMITTEDOOO커밋되지 않은 데이터를 읽을 수 있음 (데이터 정합성 낮음, 성능 좋음)READ_COMMITTEDXOO커밋된 데이터만 읽을 수 있음 (대부분의 DB 기본 설정)REPETABLE_READXXO트랜잭션 내에서 같은 SELECT 결과가 항상 같음SERIALIZABLEXX.. 2025. 3. 4.
[DB 트랜잭션] @Transactional 속성(전파 방식 Propagation) @Transactional?Spring의 @Transactional은 트랜잭션을 관리하는 기능을 제공하는 어노테이션 즉, 데이터베이스 작업(INSERT, UPDATE, DELETE 등)이 안전하게 수행되도록 보장하는 역할  필요한 이유데이터베이스에서 여러 작업이 수행될 때, 일부만 성공하고 일부는 실패하면 데이터 정합성 문제 발생 가능이를 방지하기 위해 트랜잭션을 사용하면 4가지 원칙(ACID)을 보장할 수 있음ACID 원칙원칙설명Atomicity (원자성)모든 작업이 성공하면 커밋(Commit), 하나라고 실패하면 롤백(Rollback)Consistency (일관성)트랜잭션 실행 후 데이터가 항상 일관성을 유지해야 함Isolation (고립성)트랜잭션끼리 서로 독립적으로 실행되어야 함Durability.. 2025. 2. 27.
[DB] 데이터베이스 기본 개념 데이터베이스?전자적으로 저장되고 사용되는 관련된 데이터들의 조직화된 집합데이터를 체계적으로 관리하고 효율적으로 저장, 검색, 수정할 수 있도록 구성된 시스템DBMS (Database Management Systems)데이터베이스를 정의, 생성, 관리하는 소프트웨어 시스템사용자가 쉽게 다룰 수 있도록 인터페이스 제공데이터의 일관성과 무결성을 유지하며, 여러 사용자가 동시에 데이터를 활용할 수 있도록 지원사용자에게 DB를 정의하고 만들고 관리하는 기능을 제공하는 소프트웨어 시스템 메타데이터(MetaData)데이터를 정의하고 설명하는 데이터데이터의 데이터라고 표현함데이터의 구조, 형식, 저장 방식, 제약 조건, 보안 설정 등을 포함카탈로그(Catalog)라고도 불리며, DBMS에서 저장 및 관리됨ex)테이블 .. 2025. 2. 25.
[Spring Boot] Spring Boot 핵심 개념 10가지 Spring Boot 핵심 개념 (10가지)Spring Boot 자동 설정 (Auto Configuration)DI(의존성 주입)와 IoC 컨테이너Spring Boot StarterSpring Boot 주요 어노테이션Spring MVC (Controller, Service, Repository)Spring Boot JPA & MyBatis (데이터 접근)Spring Boot AOP (관점 지향 프로그래밍)Spring Security & JWT (인증 및 인가)Spring Boot Actuator (모니터링 및 관리)Spring Boot 배포 및 운영 (프로파일, 로그, 설정)1. Spring Boot 자동 설정 (Auto Configuration)Spring Boot는 자동 설정 기능을 제공해서 설정을 .. 2025. 2. 24.