---
description: 데이터베이스 종류
---

# 4.4 Types of Databases

데이터베이스는 데이터를 구조화하고 관리하기 위해 다양한 방식으로 설계되었습니다. 이 중에서도 관계형 데이터베이스와 NoSQL 데이터베이스는 가장 널리 사용되는 두 가지 유형입니다. 각 데이터베이스 유형은 고유한 특징과 사용 사례를 가지고 있으며, 이들 간의 차이를 이해하는 것이 중요합니다.

#### 4.4.1 관계형 데이터베이스 - MySQL, PostgreSQL

\*\*관계형 데이터베이스(Relational Database)\*\*는 데이터를 테이블 형태로 저장하며, 테이블 간의 관계를 통해 데이터를 연결하고 관리합니다. 관계형 데이터베이스는 \*\*SQL(Structured Query Language)\*\*을 사용하여 데이터를 정의, 조작, 조회합니다. 다음은 대표적인 관계형 데이터베이스 시스템입니다:

1. **MySQL**
   * **특징**: MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템으로, 널리 사용되는 안정적이고 성능이 뛰어난 데이터베이스입니다. 주로 웹 애플리케이션과 함께 사용되며, 특히 LAMP(Linux, Apache, MySQL, PHP) 스택에서 중요한 역할을 합니다.
   * **장점**: 빠른 읽기 속도, 쉬운 설치 및 관리, 대규모 커뮤니티 지원.
   * **사용 사례**: 대형 웹사이트, 블로그 플랫폼, 전자상거래 사이트 등에서 많이 사용됩니다.
2. **PostgreSQL**
   * **특징**: PostgreSQL은 고급 기능을 제공하는 오픈 소스 관계형 데이터베이스로, 표준 준수와 확장성이 뛰어납니다. 트랜잭션 무결성, 동시성 제어, 복잡한 쿼리 처리에서 우수한 성능을 보이며, JSON 데이터를 포함한 다양한 데이터 유형을 지원합니다.
   * **장점**: ACID 준수, 고급 SQL 기능, JSON 및 XML 데이터 지원, 확장 가능성.
   * **사용 사례**: 데이터 분석 플랫폼, 복잡한 트랜잭션 처리 시스템, 지리 정보 시스템(GIS) 등에서 널리 사용됩니다.

#### 4.4.2 NoSQL 데이터베이스 - MongoDB, Redis

**NoSQL 데이터베이스**는 전통적인 관계형 데이터베이스의 한계를 극복하기 위해 설계된 데이터베이스입니다. 스키마가 유연하고, 대규모 데이터 처리에 적합하며, 다양한 데이터 모델을 지원합니다. NoSQL 데이터베이스는 수평적 확장성(horizontal scalability)을 염두에 두고 설계되었습니다. 다음은 대표적인 NoSQL 데이터베이스입니다:

1.  **MongoDB**

    * **특징**: MongoDB는 문서 지향(Document-Oriented) 데이터베이스로, JSON과 유사한 **BSON** 형식으로 데이터를 저장합니다. 스키마가 유연하고, 동적 스키마를 통해 빠르게 애플리케이션의 데이터 모델을 변경할 수 있습니다.
    * **장점**: 스키마리스 구조, 수평적 확장성, 복잡한 쿼리 지원, 높은 성능.
    * **사용 사례**: 실시간 분석 시스템, 소셜 네트워크 데이터 저장, 콘텐츠 관리 시스템(CMS) 등.



    MongoDB에서는 JavaScript 스타일의 쿼리 언어를 사용하여 데이터를 삽입하고 조회할 수 있습니다.
2.  **Redis**

    * **특징**: Redis는 인메모리(In-Memory) 데이터 구조 저장소로, 매우 빠른 읽기 및 쓰기 성능을 제공합니다. 데이터는 주로 메모리에 저장되며, 키-값(Key-Value) 쌍으로 관리됩니다. Redis는 단순한 캐시에서부터 메시지 브로커, 세션 관리까지 다양한 용도로 사용될 수 있습니다.
    * **장점**: 초고속 데이터 처리, 다양한 데이터 구조 지원(리스트, 집합, 해시 등), 퍼시스턴스 옵션.
    * **사용 사례**: 캐싱, 세션 저장소, 실시간 분석 및 로깅, 랭킹 시스템.

    ```bash
    SET user:1000 "John Doe"
    GET user:1000
    ```

    Redis는 명령어를 통해 데이터를 저장하고 빠르게 조회할 수 있습니다.
