CS 기술면접 준비 - 데이터베이스

최대 1 분 소요

DB - Database

기술면접을 위해 기초 CS에 대한 복습중이다. 공부한 내용 중 요점이나 나중에 기억해야할 부분을 정리해보려고 한다. 내가 아는 부분은 생략되어 있을 수 있고, 혹여나 틀린 부분이 있을 수도 있으니 이 글을 보고 ‘다른 사람’이 공부하기에는 도움이 되지 않을 수 있으니 주의!

인덱스 (Index)

  • 책 부록에 ‘찾아보기(index)’처럼 모든 변수 다 검색할 필요 없이 빠르게 조회 가능
  • 해시 테이블 or B-Tree 구조로 되어 있다. 주로 B-Tree
  • 해시 테이블로 하면 검색은 빠르지만($O(1)$), 등호 연산 밖에 되지 않아 순차 검색이 불가하다.
  • B-Tree는 $O(NlogN)$이지만, 부등호 연산이 가능해서 순차 검색이 가능하다.

관계형 데이터베이스 vs 비관계형 데이터베이스

  • 관계형: key와 value로 이루어진 테이블 형태. RDBMS
  • 비관계형: NoSQL(Not Only SQL)
    • Document: MongoDB
    • Key-Value DB: SQL보다 빠르게 읽을 수 있지만, 저장할 때 그에 맞춰서 저장해야 함.
    • Graph: SNS 등

SQL

DB와 서로 주고 받기 위한 언어

SELECT (컬럼이름) FROM (테이블이름) WHERE (조건)

ORM

  • 객체-관계 매핑, 객체와 관계형 DB를 매핑시켜주는 것.
  • ex) JPA

댓글남기기