CS

[CS / 데이터베이스] 4.4 데이터베이스의 종류

개발하는 감자입니다 2024. 6. 1. 16:05
728x90

 

안녕하세요! 개발감자입니다.

오늘은 CS의 운영체제 중에서도 4.4 데이터베이스의 종류 에 대해서 정리해보았습니다.

 


4.4 데이터베이스의 종류

4.4.1 관계형 데이터베이스

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

  • 구조: 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스입니다.
  • 조작: SQL을 사용하여 데이터를 조작합니다.
  • 대표적 제품: MySQL, PostgreSQL, 오라클, SQL Server, MSSQL 등 다양한 제품이 있으며, 각 제품은 특화된 SQL을 사용합니다.

MySQL

  • 호환성: 대부분의 운영체제와 호환 가능합니다.
  • 인기: 현재 가장 많이 사용되는 데이터베이스입니다. 2021년 스택오버플로우 조사 결과, 가장 많이 사용되는 데이터베이스로 나타났습니다.
  • 사용 사례: 메타, 트위터 등 많은 기업에서 사용합니다.
  • 기술적 특징:
    • 스레드 기반의 메모리 할당 시스템을 갖추고 있으며, 최대 64개의 인덱스를 제공합니다.
    • 트랜잭션 지원: 롤백, 커밋 기능을 제공하여 데이터 무결성을 보장합니다.
    • 보안 기능: 이중 암호화, 사용자 권한 관리 등의 다양한 보안 기능을 제공합니다.

PostgreSQL

  • 선호도: MySQL 다음으로 개발자들이 선호하는 데이터베이스 기술입니다.
  • 확장성: SQL뿐만 아니라 JSON을 이용해 데이터에 접근할 수 있습니다.
  • 기술적 특징:
    • 지정된 시간에 복구, 로깅, 접근 제어, 중첩된 트랜잭션, 백업 등의 기능을 제공합니다.
    • ACID 특성 준수: 트랜잭션의 원자성, 일관성, 고립성, 지속성을 보장합니다.
    • 확장 가능한 데이터 타입: 사용자 정의 타입, 배열, 하이브리드 데이터 타입 등을 지원합니다.

4.4.2 NoSQL 데이터베이스

NoSQL (Not only SQL)

  • 구조: SQL을 사용하지 않는 데이터베이스입니다.
  • 유형: 키-값 저장소, 도큐먼트 저장소, 컬럼 지향 저장소, 그래프 데이터베이스 등 다양한 유형이 있습니다.
  • 대표적 제품: MongoDB, Redis 등이 있습니다.

MongoDB

  • 데이터 접근: JSON을 통해 데이터에 접근할 수 있습니다.
  • 저장 형식: BSON 형식으로 데이터를 저장합니다.
  • 기술적 특징:
    • 와이어드타이거 엔진을 기본 스토리지 엔진으로 사용하는 도큐먼트 기반의 데이터베이스입니다.
    • 확장성: 샤딩을 통해 데이터를 여러 서버에 분산 저장할 수 있습니다.
    • 성능: 빅데이터를 저장할 때 뛰어난 성능을 보입니다.
    • 고가용성: 레플리카셋을 지원하여 데이터의 가용성을 높입니다.
    • 스키마리스: 스키마를 미리 정하지 않고 데이터를 삽입할 수 있어, 다양한 도메인의 데이터를 유연하게 처리할 수 있습니다.
    • ObjectID: 도큐먼트를 생성할 때마다 유닉스 시간 기반의 타임스탬프, 랜덤값, 카운터로 이루어진 고유 ID가 생성됩니다.

Redis

  • 구조: 인메모리 데이터베이스로, 키-값 데이터 모델 기반의 데이터베이스입니다.
  • 기본 데이터 타입: 문자열을 기본으로 하며, 이외에도 셋, 해시, 리스트, 정렬된 셋 등을 지원합니다.
  • 사용 사례:
    • 실시간 애플리케이션: 실시간 순위표 서비스, 채팅 시스템, 캐싱 계층, 세션 정보 관리 등에 이용됩니다.
    • pub/sub 기능: 채팅 시스템 등 실시간 통신을 요구하는 애플리케이션에 유용합니다.
  • 기술적 특징:
    • 고속 데이터 처리: 모든 데이터를 메모리에 저장하여 매우 빠른 읽기 및 쓰기 성능을 제공합니다.
    • 영속성: 데이터를 디스크에 저장하여 시스템 재시작 후에도 데이터를 유지할 수 있습니다.
    • 고급 데이터 구조: 리스트, 해시, 셋, 정렬된 셋 등의 다양한 자료 구조를 지원하여 복잡한 데이터 처리에 유용합니다.

 

728x90
반응형