ABOUT ME

Today
Yesterday
Total
  • [클라우드] AWS 데이터베이스 (RDS, Aurora, DynamoDB, ElastiCache)
    인프라/클라우드 2025. 5. 24. 10:17
    1. 데이터베이스와 DBMS
    2. 데이터베이스 모델 유형
      • 계층형
      • 네트워크형
      • 관계형
      • 객체 지향형
    3. AWS의 데이터베이스 서비스
      • Amazon RDS(Relational Database Service)
        • Amazon RDS 복제 방식
      • Amazon Aurora
        • Amazon Aurora 복제 방식
      • Amazon DynamoDB
      • Amazon ElastiCache
        • Amazon ElastiCache for Memcached
        • Amazon ElastiCache for Redis

     

    데이터베이스와 DBMS

    데이터베이스(database) : 데이터를 모아 두는 집합

    DBMS(DataBase Management System) : 데이터베이스를 관리하는 시스템

    • 데이터에 대해 사용자의 논리적 명령을 해석하고 필요한 데이터를 찾아 주는 시스템

    데이터베이스 모델 유형

    구조, 운영, 저장 방식에 따라 구분

    『AWS 교과서 』,  길벗(2023), 6장

    계층형

    트리(tree) 구조

    1:N으로 상하 종속 관계 연결

    • 장점 : 데이터에 빠르게 접근이 가능
    • 단점 : 구조 변경에 대한 유연성이 부족

    네트워크형

    1:N뿐 아니라 1:1, N:N 형태의 연결 (계층형 데이터베이스의 정형화된 구조를 해결)

    • 장점 : 하위 개체는 다수의 상위 개체를 가질 수 있어 형태가 좀 더 자유
    • 단점 : 다양한 개체 간 연결에 따라 복잡, 데이터베이스 전반의 구조를 이해하는 데 어려움

    관계형

    데이터의 논리적 관계를 초점으로 특정 개체 정보를 이용하여 열(column)과 행(row)으로 된 테이블(table)이라는 최소 단위로 구성

    테이블 사이에는 키를 통한 논리적 연결

    • 장점 : 계층형과 네트워크형 데이터베이스 모델은 데이터가 변화하면 상관관계에 따라 모든 데이터를 변경해야 하지만, 관계형 데이터베이스 모델은 데이터가 변화하면 쉽게 적용 가능
    • SQL(Structured Query Language)이라는 프로그래밍 언어를 사용 → 손쉽게 데이터베이스를 읽고 쓰고 해석
    • 단점 : 시스템 자원을 많이 차지해서 상대적으로 느린 속도
    • → 하드웨어가 발전하면서 느린 동작은 점점 해소되고 있는 편

    ⇒ 관계형 DBMS는 현재 가장 많이 사용하는 데이터베이스 모델

    객체 지향형

    **모든 데이터를 객체(object)**라는 형태의 최소 단위로 표현

    객체 사이에는 상호 간의 소유에 따른 연결

    • 장점 : 객체 집합을 정의하고 연결 구조를 확립하여 복잡한 객체 구조도 즉각적으로 표현 (사용자 정의 데이터, 멀티미디어 등 비정형 데이터도 지원)
    • 단점 : 보편적으로 사용하는 관계형 데이터베이스의 호환성 문제와 복잡성에 따른 문제

    AWS 데이터베이스 서비스

    『AWS 교과서 』,  길벗(2023), 6장

    Amazon RDS(Relational Database Service)

    클라우드 환경에서 관계형 데이터베이스를 간편하게 설정하고 운영할 수 있는 서비스

    원하는 성능 요구에 따라 다양한 데이터베이스 인스턴스 유형을 선택

    • Amazon Aurora, PostgreSQL, MariaDB, Oracle Database, SQL Server 등 관계형 데이터베이스 엔진을 선택 가능
      • SQL 언어 기반으로 데이터베이스를 손쉽게 제어 가능
    • 높은 사용 편의성
    • 모니터링 및 지표와 이벤트 알람을 이용하여 높은 관리 효율성을 보장
    • 비용도 상대적으로 매우 저렴
    • 간편한 복제 기능을 이용하여 워크로드의 가용성과 확장성을 확보 가능

    Amazon RDS 복제 방식

    복제 기능으로 데이터베이스에 있는 데이터를 복제하여 Primary DB의 데이터를 동기화 가능

    『AWS 교과서 』,  길벗(2023), 6장

    • Multi-AZ 복제 방식
      • 액티브-스탠바이(active-standby) 형태로 동작
      • Primary DB가 액티브(활성) 상태, 보조의 Standby Replica가 스탠바이(대기) 상태
        → Primary DB에 문제가 발생하면, Standby Replica를 Primary DB로 승격, 동적으로 유지
      • 데이터 정합성을 유지하는 것이 가장 중요
        • 데이터 정합성 : 데이터가 서로 일관되게 일치하는 것 이를 위해 동기식 복제로 다른 가용 영역에 있는 데이터베이스와 데이터를 동기화
        • 동기식 복제(synchronous replica) : 데이터에 변화가 일어나면 원본 데이터를 복제해서 전달하여 동기화
    • Read Replica 복제 방식
      • 원본 데이터는 Primary DB에, 읽기 전용의 복제 데이터는 Read Replica DB에 생성하여 유지
      • Amazon RDS는 최대 다섯 개의 Read Replica 데이터베이스를 복제 가능
      • 다른 리전까지 Read Replica 데이터베이스를 보유 가능

    Amazon Aurora

    AWS 자체의 클라우드 데이터베이스 엔진

    엔터프라이즈 수준의 관계형 데이터베이스 엔진 (안정적이고 고성능의 데이터베이스 처리 가능)

    • 오픈 소스를 기반으로 다른 관계형 데이터베이스와 호환성이 우수
    • 높은 비용 효율
    • Amazon Aurora는 Amazon RDS에서 관리하며 프로비저닝, 패치, 백업, 복원, 장애 복구 작업을 수행

    Amazon Aurora 복제 방식

    스토리지 내결함성이 우수

    공유 스토리지를 통해, 최소 세 개의 가용 영역에서 두 개씩 총 여섯 개의 복제 데이터

    『AWS 교과서 』,  길벗(2023), 6장


    Amazon DynamoDB

    비관계형 데이터베이스로, 키-값(key-value) 메소드를 사용

    비관계형 : 데이터가 서로 연결되지 않는 개별 형태로 저장, 복잡하고 구조화되지 않은 데이터 유형에 적합

    SQL문 사용X (NoSQL 데이터베이스)

    • 키 : 데이터의 고유한 식별자로 사용
    • 값 : 유형의 제한이 없어 단순한 개체(entity)뿐 아니라 복잡한 집합체까지 무엇이든 가능한 비정형 데이터를 입력 가능

    ⇒ 이런 키와 값을 쌍으로 집합해서 저장

    • 데이터베이스 구조가 단순하여 빠른 처리가 가능
    • 대규모 환경에서도 일관되게 10밀리초 미만의 처리 성능을 제공
    • 서버리스(serverless)로 동작
      • 서버에 대한 프로비저닝, 패치, 소프트웨어 설치가 필요X
      • 용량에 따라 테이블을 자동으로 확장 및 축소

    Amazon ElastiCache

    인-메모리 데이터베이스로, 데이터를 메모리에 저장하는 형태로 동작

    • 데이터가 메모리상에 위치하여 데이터를 빠르게 처리 가능
    • 데이터양이 많다면 데이터 처리가 느려질 수 있기 때문에, 대용량 데이터에는 적합하지 않고 주로 데이터를 빠르게 자주 접근해야 할 때 사용

    Amazon ElastiCache for Memcached

    보편적으로 사용하는 메모리 객체 캐싱 시스템

    Memcached와 호환하여 자주 접근할 데이터를 메모리에 놓고 빠르게 처리

    Amazon ElastiCache for Redis

    Redis는 데이터베이스, 캐시, 메시지 브로커 및 대기열 용도로 사용

    • 오픈 소스인 Redis 기반으로 구축
      • Redis API와 호환하여, 개방형 Redis 데이터 형식으로 저장
    • 실시간 애플리케이션을 지원할 수 있도록, 1밀리초 미만의 지연으로 빠른 데이터를 처리

     

     

     

     

     

    참조

    김원일,『AWS 교과서, 길벗(2023), 6장

Designed by Tistory.