본문 바로가기

이론/데이터베이스2

DB Transaction & Isolation level & Locking Database transaction & ACID 데이터베이스는 서비스 개발에 있어 데이터를 저장/수정 하는데 필수적으로 쓰인다. 여기서 여러 작업들이 발생하는데, 여러 작업을 하나의 단위로 묶어 처리할 때 transaction을 사용한다. 이를 통해 작업이 모두 실행되거나 실행되지 않는 all or nothing 성격을 가지며, 데이터의 정합성을 보장한다. 예를 들어, 2명의 사용자가 하나의 계좌에서 입출금을 한다고 보자. 입금자와 출금자가 순서대로 만원씩 넣고 빼는 과정에서 입금이 출금보다 먼저 이루어지도록 보장하지 않으면 출금은 이루어질 수 없다. transaction을 통해 계좌 뿐 아니라 정보의 순서 그리고 실행의 보장이 이루어지고, 데이터의 정합성과 유효성을 보장할 수 있다. transacti.. 2022. 4. 24.
Database Index Database 에서 Index는 성능과 직결된만큼 중요한 지식이다. DB 공부에서 필수요소인 만큼, 이 글에서 Index에 대해 조금더 자세히 내용을 정리해봤다. DB를 보기 이전에, 컴퓨터 장치 요소 중 하나인 보조기억장치에 대해 얘기해보자. 보통 Database의 저장장치는 비싼 SSD 대신 HDD를 사용한다. 저장해야할 데이터양을 비교하면 당연 HDD보다 SSD가 훨씬 비싸다. (클라우드 서비스에서 SSD instance도 지원하지만.. 가격이 비싸다🤑) HDD는 디스크 구조로 되어있으며, 물리적인 회전을 통해 데이터를 읽고 쓴다. Disk-based 저장소에서 데이터를 불러올 때, 디스크에서 데이터를 읽어와 메모리에 넣고, 메모리에서 데이터를 처리한 후 다시 디스크에 쓰게 되는데, 이를 디스크 .. 2022. 4. 24.