Study note/CS

DB 데이터베이스

공대 아로마 2024. 4. 12. 17:05

 

기술면접을 위해 기초 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

'Study note > CS' 카테고리의 다른 글

디자인 패턴 1  (0) 2024.04.12
네트워크  (0) 2024.04.12
개발 상식  (0) 2024.04.12
Operation System  (0) 2024.04.12
C++ 코딩 인터뷰에서 기초 질문 모음  (0) 2021.01.08