반응형 CS34 격리수준이란 데이터베이스 트랜잭션 격리 수준 (Transaction Isolation Levels)데이터베이스 트랜잭션의 격리 수준은 여러 개의 트랜잭션이 동시에 실행될 때, 한 트랜잭션이 다른 트랜잭션의 변경 사항을 어느 정도까지 '볼 수 있는지'를 정의하는 기준입니다. 이는 데이터의 일관성과 무결성을 보장하면서도, 시스템의 동시성(처리량)을 최적화하기 위한 중요한 균형점입니다.SQL 표준은 4가지 주요 격리 수준을 정의하고 있으며, 각 격리 수준은 특정 동시성 문제(Anomaly)를 방지하는 정도가 다릅니다.트랜잭션의 4가지 속성 (ACID) 복습격리 수준을 이해하기 전에, 트랜잭션의 ACID 속성 중 'Isolation'이 무엇인지 다시 상기하는 것이 좋습니다. A - Atomicity (원자성): 트랜잭션 내.. 2026. 3. 12. Postgresql 1. 강력한 객체-관계형 기능과 확장성 (Extensibility)PostgreSQL은 단순한 관계형 모델을 넘어선 **객체-관계형 데이터베이스(ORDBMS)**의 특성을 가집니다. 이는 데이터베이스의 핵심 기능을 사용자가 직접 확장하고 정의할 수 있는 유연성을 제공합니다.사용자 정의 타입(User-Defined Types):설명: 데이터베이스가 기본으로 제공하는 INTEGER, VARCHAR, TIMESTAMP 등의 타입 외에, 개발자가 직접 새로운 데이터 타입을 정의하여 사용할 수 있습니다. 이 타입에는 해당 타입에 맞는 연산자(+, 등), 함수, 인덱스 등을 함께 정의할 수 있습니다.장점:데이터의 의미 정확성: 특정 도메인의 데이터를 DB 스키마 수준에서 더 정확하게 표현할 수 있습니다. 예를 들어.. 2026. 3. 12. Polling, Long Polling, WebSocket 웹소켓, 폴링, 롱폴링은 클라이언트와 서버 간에 실시간 또는 거의 실시간으로 데이터를 주고 받는 다양한 방식들이다. 각각의 장단점과 동작 방식에 큰 차이가 있다. 1. 폴링(Polling)동작 방식은 다음과 같다.클라이언트가 주기적으로 서버에 새로운 데이터가 있는지 요청(HTTP GET 요청)을 한다.서버는 요청 시점에 가지고 있는 최신 데이터를 클라이언트에게 응답한다.클라이언트는 일정 시간(예: 1초, 5초)을 기다린 후 다시 서버에 요청한다.특징은 구현이 가장 간단하다. 일반적인 HTTP 요청-응답이니까. 그래서 비효율적이다. 새로운 데이터가 없어도 클라이언트는 계속해서 서버에 요청을 보내야하고 이는 불필요한 네트워크 트래픽과 서버 자원 낭비를 초래한다. 또 클라이언트가 요청하는 주기만큼 데이터 업데.. 2025. 10. 21. redo log(mysql 8.0) MySQL 8.0 에서 Redo log는 데이터베이스의 성능과 안정성을 모두 잡기 윈한 핵심 장치로 사용된다. 모든 데이터 변경은 실제 데이터 파일보다 Redo log에 먼저 기록되어, 시스템 장애 시에도 데이터를 안전하게 복구하고 평상시에는 빠른 쓰기 성능을 보장한다. 안정성 (Crash Safety) : 커밋(Commit)된 트랜잭션의 변경 사항은 Redo log에 먼저 기록이 보장된다. 따라서 서버 전원이 갑자기 꺼지는 등의 장애가 발생해도, 재시작 시 Redo Log를 보고 미처 데이터 파일에 반영되지 못한 내용을 다시 실행하여 데이터를 복구할 수 있다.성능 (Performance) : 디스크의 여러 곳에 흩어져 있는 데이터 파일에 데이터를 쓰는 작업(Random I/O)은 느리다. Redo Lo.. 2025. 9. 16. 이전 1 2 3 4 ··· 9 다음 반응형