본문 바로가기

반응형

db

(3) GITHUB 방명록
[DB] 데이터베이스 시스템의 동시성 제어 (MVCC, Lock-Based) 개발/DB&SQL / 2024. 12. 18. 대표적인 동시성 제어 방식으로 MVCC(Multi-Version Concurrency Control) 와 Lock-Based Concurrency Control이 있습니다.MVCC(Multi-Version Concurrency Control)MVCC는 데이터의 여러 버전을 유지하여 트랜잭션이 동시에 데이터를 읽고 쓸 수 있도록 하는 방식입니다. 각 트랜잭션은 자신만의 일관된 스냅샷을 기반으로 데이터를 읽어, 다른 트랜잭션의 변경 사항에 영향을 받지 않습니다.데이터의 각 버전을 유지하여 읽기 작업이 쓰기 작업과 독립적으로 이루어질 수 있습니다. 트랜잭션은 시작 시점의 스냅샷을 기반으로 데이터를 읽어, 다른 트랜잭션의 변경 사항을 보지 못합니다.또한 읽기 작업 시 잠금을 사용하지 않아 높은 동시성을 제공합니..
[DB] 트랜잭션(Transaction)에 대해서 알아보기 개발/DB&SQL / 2023. 1. 23. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 모두 새해 복 많이 받고, 하는 일 모두 잘되세요! 오늘은 트랜잭션에 대해서 정리하겠습니다. 트랜잭션은 데이터베이스를 다루기 위해 필수로 알아야 할 개념입니다. 기술면접에서도 이와 관련된 질문이 자주 나옵니다. 그만큼 기본적이면서 중요하죠. 이제 자세하게 알아보겠습니다. 트랜잭션(Transaction)이란? 간략한 표현 : Tx 1초당 처리할 수 있는 트랜잭션의 개수 : TPS 트랜잭션은 데이터베이스의 상태를 변경시키기 위해 수행하는 작업의 단위입니다. 또는 더 이상 쪼갤 수 없는 업무 처리의 최소 단위입니다. 여기서 상태를 변경시킨다는 의미는 DML(Data Manipulation Language)에 해당하는 SELECT, INSERT, UPDATE, DEL..
[JPA] Spring Data JPA의 DB 초기화 개발/Spring&JPA / 2022. 10. 2. 안녕하세요 백엔드 개발자 제임스입니다.😎 서론 최근 우리 팀은 구현 단계에 돌입했습니다. 이에 따라 백엔드 팀도 도메인 별로 역할을 나누어 기능을 구현하고 있죠. 하지만 점점 도메인 수가 증가하면서 테스트에 어려움을 겪고 있습니다. 가령 포스트맨으로 직접 데이터를 넣으며 테스트를 하려고 해 해도 시간이 오래 걸리죠. 물론 가장 좋은 방법은 테스트 코드를 작성하는 것입니다. 하지만 우리 팀은 아직 테스트 코드를 작성하는 것이 미숙합니다. 그래서 오늘 해결책이 될 수 있는 방법을 소개하려고 합니다. 제시하는 방법은 프로그램을 시작할 때 DB에 초기 데이터를 자동으로 저장시키는 방법입니다. 이제 자세하게 알아보도록 하겠습니다. 초기 데이터 저장 목표 : 프로그램 실행 시 DB에 초기 데이터 자동 저장 1) y..

반응형