본문 바로가기
반응형

Database2

Django에서의 동시성 제어: 비관적 잠금 vs 낙관적 잠금 현대의 웹 애플리케이션은 수많은 사용자가 동시에 데이터에 접근하고 수정합니다. 이러한 환경에서 여러 사용자가 동시에 같은 데이터를 수정하려고 할 때, "동시성 문제"가 발생할 수 있습니다.가장 대표적인 문제는 "Lost Update" 현상입니다. 두 사용자 A와 B가 동시에 같은 데이터를 읽고, 각자 수정한 후 저장하면, 나중에 저장한 사용자 B의 변경사항이 사용자 A의 변경사항을 덮어써버리는 현상이 발생합니다.이러한 문제를 해결하기 위해 데이터베이스와 ORM 시스템은 크게 두 가지 접근 방식을 제공합니다낙관적 잠금(Optimistic Locking)? 비관적 잠금(Pessimistic Locking)? 낙관적 잠금(Optimistic Locking): 충돌이 거의 발생하지 않을 것이라 낙관적으로 가정.. 2025. 4. 16.
Django ORM 완벽 가이드: 기본부터 심화까지 Django-ORM CheatSheet!! Django 웹 프레임워크를 사용하다 보면 반드시 마주치게 되는 것이 ORM(Object-Relational Mapping)입니다. Django ORM은 데이터베이스 테이블을 Python 클래스로, 레코드를 객체로, 필드를 속성으로 매핑하여 SQL 쿼리 대신 직관적인 Python 코드로 데이터베이스를 다룰 수 있게 해줍니다.저는 Django 프로젝트에서 ORM을 효과적으로 활용하는 방법을 찾다가 많은 시행착오를 겪었습니다. 이 글에서는 Django ORM과 QuerySet을 기본부터 심화까지 단계별로 살펴보고, 실제 프로젝트에서 바로 활용할 수 있는 실용적인 예제와 최적화 방법을 공유하고자 합니다. 아래 코드는 모두 아래 Git 링크에서 확인 할 수 있어요!. GITHUB blog-code/class-1.. 2025. 4. 14.
반응형