본문 바로가기
개발 개념 정리

[Database] 현업에서 주로 사용하는 데이터 베이스 특징 정리

by Lee David 2022. 8. 12.
반응형

Database 종류

  • RDBMS
    • Postgresql
    • Mssql
    • Mysql/MariaDB
    • Oracle
  • NOSQL
    • MongoDB
    • Redis

Postgresql

  • JSONB, ARRAY같은 타입으로 확장성이 좋습니다.
  • vacuum이라는 작업을 통해 데이터를 좀 더 효율적으로 관리 할 수 있습니다.
    • vacuum : PostgreSQL에서 제공하는 디스크 조각 모음입니다. 변경 또는 삭제된 자료들이 차지했던 디스크 공간을 재사용 합니다.
    • 인덱스 전용 검색 기능을 향상 시켜줍니다.

Mssql

  • C#과 최고의 효율을 낼 수 있는 Database입니다.
  • Windows 서버에서만 동작합니다.

Mysql와 MariaDB

  • 유료/무료 버전 차이
  • 커뮤니티 차이
    • MariaDB > Mysql
  • 롤 기반의 권한 기능 추가
    • MariDB - 가능, Mysql - 불가능

Oracle

  • 서버 클라이언트와 응용프로그램 이 분리되어 빠른 속도를 낼 수 있습니다.
  • 멀티 트랜잭션 처리 속도가 타 RDBMS 보다 빠름 → 대규모 트래픽, 데이터
  • 안전성과 유지보수 측면에서 보장 받을 수 있다. (유료 버전)

MongoDB

  • 데이터 모델의 유연한 변화
  • Json 구조로 직관성 있는 데이터베이스
  • I/O 속도가 RDBMS 보다 빠르게 처리 가능합니다.
  • 대규모 데이터 처리에 취약
    • 트랜잭션 지원이 RDBMS 보다 떨어집니다.
    • 데이터 손실을 염두 해야 합니다.

Redis

  • 데이터 유효 기간을 지정하여 데이터 운영을 유연하게 처리 가능합니다.
  • 다양한 데이터 형식을 지원 합니다.
    • String
    • Set
    • Sorted Set
    • Hash
    • List
  • 읽기 속도를 높이는 방법으로 Master-Slave 구조를 가져갈 수 있습니다.
    • 한 서버에 여러개의 Redis 구축하여 Master-Salve 구조 구축 가능
  • in-memory 방식으로 인해 장애시 데이터 유실이 발생합니다.
반응형

'개발 개념 정리' 카테고리의 다른 글

[개념 정리] Transaction에서 ACID와 MVCC란?  (0) 2022.08.11