새소식

반응형
Career

백엔드 면접 질문(DB)

  • -
반응형

DB에 대한 질문을 먼저 써 놓고, 개인적으로 생각하는 답변을 밑에 적어둘 테니
참고해서 자신만의 언어로 답변을 잘 만들고 매끄럽게 말하는 연습을 하면 좋을 거 같습니다. 

  • DBMS란? DBMS에 대해서 설명해 보세요 
  • 트랜젝션의 특징 4가지에 대해서 아는데로 말해보세요
  • NoSQL이 무엇입니까
  • DB의 파티셔닝에 대해서 설명해보세요
  • DB의 샤딩에 대해서 설명해보세요

DBMS

데이터베이스 내 데이터에 접근하도록 도와주는 시스템입니다.
DBMS 크게 질의처리기와 저장 시스템으로 이루어져 있습니다.

 

트랜젝션의 특징 4가지

ACID
데이터베이스의 무결성과 일관성을 위해서 트랜잭션은 4가지의 특징을 만족해야 되는데요 
원자성 한 트랜잭션 내 실행한 작업은 모두 성공하거나 실패해야 되는 것이고 
일관성은 일관성 있는 데이터베이스 상태를 유지시키는 것입니다.
그리고 격리성은 동시에 실행된 트랜잭션은 서로 영향을 미치지 않아야 되고요
지속성은 트랜잭션완료 시결과가 영구적으로 반영되어야 합니다.

 

No SQL

Not Only SQL의 약자로 SQL을 보완한다는 의미를 가지고 있습니다.
NoSQL은 스키마가 없어서 데이터를 조회하고 삽입하는 속도가 빠릅니다.
또한 대량의 분산 데이터를 저장하는데 특화되어있습니다.

 

파티셔닝 

파티셔닝은 하나의 인스턴스내에서 여러 테이블로 나누어 저장하는 기법인데요
장점은 update나 insert 같은 작업이 분산되어서 성능이 향상되고요
단점은 테이블 간 join 비용이 증가하게 되고, index를 별도록 파티셔닝 할 수 없다는 단점을 가지고 있습니다.

 

샤딩

샤딩은 여러 인스턴스에 여러 서브셋을 저장하는 기법입니다.
Horizontal Partitioning이라고도 하는데요
샤드 key를 정하는 방법에 따라서 샤드 종류가 결정되는데
크게 Hash 샤딩과 Dynamic 샤딩이 있습니다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.