본문 바로가기
카테고리 없음

[면접을 위한 CS 전공지식 노트] 4-4. 데이터베이스의 종류

by ウリ김영은 2024. 1. 21.

데이터베이스의 종류에는

  • 계층형 데이터베이스(HDBMS)

  • 네트워크형 데이터베이스 NDBMS

  • 관계형 데이터베이스 RDBMS

  • 객체지향 데이터베이스 ODBMS

  • NoSQL

  • 사계열 데이터베이스 TSDB

가 있습니다.

4.4.1 관계형 데이터베이스(RDBMS)

  • 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스
  • SQL 사용해서 조작합니다.
  • MySQL, PostgreSQL, 오라클, SQL Server, MSSQL 등이 있습니다.

MySQL

  • 대부분의 운영체제와 호환됩니다.
  • 현재 가장 많이 사용하는 데이터베이스입니다.
  • C, C++로 만들어졌다.
  • MyISAM 인덱스 압축 기술
  • B-트리 기반의 인덱스
  • 스레드 기반의 메모리 할당 시스템
  • 매우 빠른 조인
  • 최대 64개의 인덱스를 제공
  • 대용량 데이터 베이스를 위해 설계되어 있습니다.
  • 롤백,커밋, 이중 암호 지원 보안 등의 기능을 제공합니다.
  • 스토리지 엔진이 모듈식 아키텍처이다.

PostgreSQL

  • 디스크 조각이 차지하는 영역을 회수할 수 있는 장치인 VACUUM 이 특징이다
  • 테이블은 최대 32TB 입니다.
  • SQL, JSON을 이용한다.
  • 지정시간에 복구하는 기능, 로깅, 접근 제어, 중첩된 트랜잭션, 백업 등을 할 수 있다.

4.4.2 NoSQL 데이터 베이스 (Not only SQL)

  • SQL을 사용하지 않는 데이터베이스를 말합니다.
  • MongoDB, redis 등이 있습니다.

MongoDB

  • JSON을 통해 데이터에 접근하고, Binary JSON(BJSON)로 데이터가 저장됩니다.
  • 와이어드타이거 엔진이 기본 스토리지 엔진입니다.
  • 도큐먼트 기반입니다.
  • 확장성이 뛰어나며, 빅데이터를 저장할 때 성능이 좋고 고가용성과 샤딩, 레플리카셋을 지원합니다.
  • 스키마를 정해 놓지 않고 데이터를 삽입할 수 있기 때문에 다양한 도메인의 데이터베이스를 기반으로 분석하거나 로깅 등을 구현할 때 강점입니다.
  • 도큐먼트를 생성할 때 마다 다른 컬렉션에서 중복된 값을 지니기 힘든 유니크값인 ObjectID 생성된다.
    • 기본키이다.
    • 유닉스 시간 기반의 타임스탬프(4바이트), 랜덤값(5바이트), 카운터(3바이트)로 이루어져 있다.

redis

  • 인메모리 데이터베이스입니다.
  • 키-값 데이터 모델 기반의 데이터베이스입니다.
  • 기본적인 데이터타입은 문자열(string)입니다.
  • 최대 512GB 저장 가능합니다.
  • 셋(set), 해시(hash) 등을 지원합니다.