EnjoyCSStudy / CS-Knowledge-Source

0 stars 0 forks source link

231228 Database Interview Question #7

Open skydreamer21 opened 9 months ago

skydreamer21 commented 9 months ago

DB Interview Question 달아주세요!

skydreamer21 commented 9 months ago

데이터베이스 트랜잭션에 대해서 설명해주세요.

BaeYoungSuk commented 9 months ago

GROUP BY의 역할에 대해 설명해주세요.

rt3310 commented 9 months ago

샤딩에 대해 설명해주세요

soun997 commented 9 months ago

데이터베이스의 공유락과 배타락에 대해 설명해주세요.

soun997 commented 9 months ago

데이터베이스 트랜잭션에 대해서 설명해주세요.

GROUP BY의 역할에 대해 설명해주세요.

샤딩에 대해 설명해주세요

데이터베이스의 공유락과 배타락에 대해 설명해주세요.

공유락

배타락

BaeYoungSuk commented 9 months ago

데이터베이스 트랜잭션에 대해 설명해주세요.

트랜잭션이란 데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위입니다. 상태를 변화시킨다는 것은 SQL 질의어를 통해 DB에 접근하는 것이고, 작업 단위는 여러 SQL 명령문들을 기준에 따라 나눈 것을 의미합니다.

GROUP BY의 역할에 대해 설명해주세요.

GROUP BY는 특정 컬럼을 기준으로 연산한 결과를 집계 키로 정의하여 그룹을 짓는 역할을 합니다.

샤딩에 대해 설명해주세요.

샤딩은 대규모 데이터베이스를 여러 서버에 저장하는 프로세스입니다. 여러 서버를 이용함으로써 확장성과 성능을 개선할 수 있습니다.

데이터베이스의 공유락과 배타락에 대해 설명해주세요.

공유락은 다른 트랜잭션의 읽기는 허용하되 쓰기는 방지합니다. 배타락이 없는 경우 사용할 수 있습니다. 반면 배타락은 읽기와 쓰기 모두 불가능합니다. 다른 모든 Lock이 없는 경우 사용할 수 있습니다.

rt3310 commented 9 months ago

데이터베이스 트랜잭션에 대해서 설명해주세요.

데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위를 뜻하며 트랜잭션의 특징은 크게 원자성, 일관성, 독립성, 지속성 4가지로 구분된다.

GROUP BY의 역할에 대해 설명해주세요.

데이터를 집약하고 자르는 기능을 수행한다.

샤딩에 대해 설명해주세요

샤딩은 하나의 거대한 데이터베이스나 네트워크 시스템을 여러 개의 작은 조각으로 나누어 분산 저장하여 관리하는 것을 말한다.

데이터베이스의 공유락과 배타락에 대해 설명해주세요.

어떤 트랜잭션에서 데이터를 변경하고자 할 때 해당 트랜잭션이 완료될 때까지 해당 테이블 혹은 레코드를 다른 트랜잭션에서 읽거나 쓰지 못하게 하기 위해 배타락을 걸고 트랜잭션을 진행시킨다. 배타락은 수정 쿼리를 날릴 때 각 레코드에 걸리는 락으로 배타락에 걸리면 공유락을 걸 수 없고, 다른 트랜잭션 배타락을 걸 수 없다. 공유락은 리소스를 다른 사용자가 동시에 읽을 수 있게 하되 변경을 불가하게 하는 것이다.