본문 바로가기

DEVELOP/Database

(2)
[Database] 데이터베이스 인덱싱이란? 데이터베이스 인덱싱의 개념을 검색해보면 위키에서 "테이블에 대한 동작의 속도를 높여주는 자료 구조" 라는 말로 정의하고 있다. 근데 이것만 봐서는 인덱싱이 정확하게 무엇인지는 파악하기가 솔직히 힘들 것이다. (나부터가 "그래서 그게 뭔데, 어떻게 하는건데." 라는 생각부터 먼저 들었었다.. 😱 ) 그래서 데이터베이스에서 대략적으로 인덱스가 어떤 개념이고 어떻게 사용하는지, 또 왜 사용하는 것인지 간단하게 한 번 정리해보았다. 우리는 데이터베이스를 이용해서 다양한 데이터를 저장한다. 만약 소규모 프로젝트라면 계속되서 축적되는 데이터들의 양이 크게 문제가 되지 않지만, 조금만 규모가 커지더라도 테이블의 수와 데이터의 수는 기하급수적으로 증가하게 된다. 데이터의 수가 수백, 수천만 개 수준만 되더라도, 데이터..
[Database] 트랜잭션의 개념 및 단계 트랜잭션이란? 트랜잭션은 더 이상 쪼갤 수 없는 업무처리의 단위 또는 논리적 작업 단위를 이야기한다. 웹 개발에서 트랜잭션이라 하면 일반적으로 데이터베이스 트랜잭션에 해당하며, 이는 단일 사용자가 데이터베이스의 내용에 액세스하기위한 작업을 수행하는 것이다. 트랜잭션의 개념과 단계에 대한 이해를 위해 어떤 은행에서 직원이 고객 X의 계좌에서 Y의 계좌로 800만원을 이체해야하는 상황이 있다고 한 번 가정해보자. 우리가 보기에는 단순히 입금과 출금이라는 간단한 작업같지만, 아래와 같이 생각보다 많은 하위 작업들이 포함되어있다. 이러한 일련의 작업 단위를 그룹으로 묶어 놓은 것을 트랜잭션이라 한다. X의 계좌 Open_Account (X) Old_Balance = X. 잔액 New_Balance = Old_B..