DataBase - (AWS-SAA)

은채의 성장통·2024년 12월 29일
0

AWS

목록 보기
10/79
데이터베이스 유형AWS 서비스개념특징장점단점
RDB (관계형 데이터베이스)Amazon RDS테이블 형식으로 데이터를 저장하고 관리하는 시스템- 엄격한 스키마- SQL 사용- ACID 특성- 데이터 일관성과 무결성 보장- 복잡한 쿼리 처리 가능- 트랜잭션 지원- 스키마 변경이 어려움- 대규모 데이터 처리 시 성능 저하 가능
NoSQL (Document)Amazon DocumentDBJSON과 유사한 형식으로 데이터를 저장- 유연한 스키마- 문서 기반 저장- 스키마 변경이 쉬움- 복잡한 계층 구조 표현 가능- 조인 연산이 비효율적- 데이터 일관성 보장이 어려움
NoSQL (Graph)Amazon Neptune노드와 엣지로 데이터 관계를 표현- 관계 중심 데이터 모델- 그래프 탐색 알고리즘 지원- 복잡한 관계 표현과 분석에 적합- 실시간 추천 시스템에 유용- 대규모 데이터셋에서 성능 저하 가능- 학습 곡선이 높음
NoSQL (Key-Value)Amazon DynamoDB키-값 쌍으로 데이터를 저장- 단순한 데이터 모델- 빠른 읽기/쓰기 성능- 높은 확장성- 낮은 지연 시간- 복잡한 쿼리 지원 제한적- 데이터 간 관계 표현이 어려움
NoSQL (Wide-Column)Amazon Keyspaces열 기반으로 데이터를 저장- 유연한 스키마- 대용량 데이터 처리에 적합- 높은 확장성- 빠른 쓰기 성능- 복잡한 쿼리 처리가 어려움- 데이터 모델링이 복잡할 수 있음
Ledger DatabaseAmazon QLDB변경 불가능한 트랜잭션 로그를 중앙에서 관리- 암호화된 불변 로그- 완전 관리형 서비스- 데이터 무결성 보장- 감사 추적이 용이- 제한된 쿼리 기능- 특정 사용 사례에 국한됨
Data WarehouseAmazon Redshift대규모 데이터 분석을 위한 열 기반 저장소- MPP(Massive Parallel Processing) 아키텍처- SQL 지원- 대용량 데이터 분석에 최적화- 빠른 쿼리 성능- 실시간 트랜잭션 처리에 부적합- 초기 설정이 복잡할 수 있음

Amazon RDS (Relational Database Service)

Amazon RDS는 클라우드에서 관계형 데이터베이스를 쉽게 설정, 운영 및 확장할 수 있게 해주는 관리형 서비스입니다.

주요 특징

  • 데이터베이스 엔진 지원: MySQL, PostgreSQL, Oracle, SQL Server 등 다양한 엔진 지원
  • EC2 기반: EC2 인스턴스를 사용하여 데이터베이스 호스팅
  • 요금 체계: 실행 시간에 따라 요금 부과

멀티 AZ 배포

멀티 AZ 배포는 마치 쌍둥이 집을 가진 것과 같습니다. 주 거주지(Primary)에 문제가 생기면 즉시 다른 집(Standby)으로 이사갈 수 있습니다.

  • 목적: 고가용성 및 내구성 향상
  • 동작 방식: 주 DB 인스턴스와 대기 DB 인스턴스를 다른 가용 영역에 동기식으로 복제
  • Failover: 자동으로 대기 인스턴스로 전환, 약 60-120초 소요

Read Replica

Read Replica는 주 데이터베이스의 '읽기 전용 쌍둥이'와 같습니다. 주 데이터베이스의 부담을 덜어주는 역할을 합니다.

  • 목적: 읽기 성능 향상 및 확장성 제공
  • 복제 방식: 비동기식 복제
  • 제한: 최대 5개까지 생성 가능 (MySQL의 경우)
  • 위치: 같은 리전 또는 다른 리전에 생성 가능

백업 기능

  • 자동 백업: 기본적으로 7일간 보관
  • 수동 스냅샷: 사용자가 원하는 시점에 생성 가능
  • 복구: 특정 시점으로 복구 가능
  • 장기 보관: 35일 이상 백업 데이터는 S3에 저장 권장

추가 기능

  • 암호화: 저장 데이터 및 전송 중 데이터 암호화 지원
  • 모니터링: Amazon CloudWatch를 통한 성능 모니터링
  • 패치 관리: 자동 패치 적용 옵션 제공

Amazon Aurora(RDS)

Amazon Aurora는 고성능, 고가용성의 완전 관리형 관계형 데이터베이스 서비스입니다. MySQL 및 PostgreSQL과 호환되며, 클라우드 환경에 최적화되어 설계되었습니다.

주요 특징

고가용성 및 내구성

  • 6개의 복제본: 3개의 가용 영역(AZ)에 걸쳐 6개의 데이터 복제본 유지
  • 빠른 복구: 장애 발생 시 30초 이내 자동 복구 가능

멀티 AZ 클러스터

  • 클러스터링 방식: 3개의 AZ에 걸쳐 데이터 동기적 복제
  • 구성: 1개의 라이터 인스턴스와 2개의 리더 인스턴스
  • 자동 장애 조치: 라이터 장애 시 리더 자동 승격

Read Replica

  • 최대 15개 생성 가능
  • 글로벌 복제: 다른 리전에도 생성 가능
  • 제한사항: 타 리전 Read Replica는 읽기 전용

백업 및 복구

  • 자동 백업: 3개 AZ에 걸친 복제로 높은 내구성
  • 특정 시점 복구: 최근 5분 전까지 복구 가능

Aurora Serverless

  • 자동 스케일링: 워크로드에 따른 용량 자동 조정
  • 적합한 사용 사례: 변동성 큰 워크로드, 용량 예측 어려운 신규 서비스

장점

  • 높은 가용성과 내구성
  • 자동화된 스케일링 및 백업
  • 비용 효율적 운영 (사용량 기반 과금)

주의사항

  • 기존 RDS와 다른 가격 정책
  • 일부 고급 기능에 추가 비용 발생 가능

NoSQL 데이터베이스 서비스

Document 데이터베이스

  • 설명: JSON 형식의 문서를 저장하는 데이터베이스
  • 장점: 유연한 스키마, 복잡한 데이터 구조 표현 가능
  • 단점: 조인 연산이 비효율적
  • 사용 사례: 콘텐츠 관리, 카탈로그, 사용자 프로필

Amazon Neptune (Graph 데이터베이스)

  • 설명: 노드와 관계(엣지)로 데이터를 표현하는 데이터베이스
  • 특징:
    • 복잡한 관계를 효율적으로 표현 및 쿼리
    • 고성능, 확장성, 가용성 제공
  • 사용 사례: 추천 엔진, 사기 탐지, 지식 그래프, 네트워크 보안
  • 쿼리 언어: Gremlin, SPARQL, openCypher 지원

Amazon DynamoDB (Key-Value 데이터베이스)

  • 설명: 키-값 쌍으로 데이터를 저장하는 완전 관리형 NoSQL 데이터베이스
  • 특징:
    • 서버리스, 자동 스케일링
    • 밀리초 단위의 응답 시간
  • 파티션 키와 정렬 키: text[파티션 키] --- [정렬 키] --- [속성] "사용자ID" "타임스탬프" {이름, 나이, ...} "제품코드" "주문번호" {수량, 가격, ...}
  • 용량 단위:
    • RCU (Read Capacity Unit): 초당 4KB 읽기
    • WCU (Write Capacity Unit): 초당 1KB 쓰기
  • 용량 모드:
    • Provisioned: 미리 용량 설정
    • On-Demand: 사용량에 따라 자동 조정
  • DAX (DynamoDB Accelerator): 인메모리 캐싱으로 읽기 성능 향상

Amazon ElastiCache

  • 설명: 인메모리 키-값 데이터 스토어
  • 장점: 초고속 읽기/쓰기, 실시간 데이터 처리
  • 단점: 휘발성 메모리, 데이터 영구 저장 불가
  • 사용 사례: 세션 스토어, 게임 리더보드, 실시간 분석
  • 지원 엔진: Redis, Memcached

Amazon Keyspaces (Apache Cassandra 호환)

  • 설명: 관리형 Apache Cassandra 호환 데이터베이스 서비스
  • 특징:
    • 와이드 컬럼 포맷 지원
    • 서버리스, 자동 스케일링
  • 장점: Cassandra와 호환성, 높은 확장성
  • 사용 사례: IoT 데이터 저장, 시계열 데이터, 대규모 카탈로그

Amazon QLDB (Quantum Ledger Database)

  • 설명: 완전 관리형, 암호화 검증 가능한 트랜잭션 로그
  • 특징:
    • SHA-256 기반 암호화
    • 변경 불가능한 트랜잭션 로그
  • 사용 사례: 금융 거래 기록, 공급망 추적, 의료 기록

Amazon Redshift(RDBMS)

  • 설명: 페타바이트 규모의 데이터 웨어하우스
  • 특징:
    • 컬럼 기반 스토리지
    • 대규모 병렬 처리 (MPP)
  • 장점: 빠른 쿼리 성능, 대규모 데이터 분석
  • 사용 사례: 비즈니스 인텔리전스, 빅데이터 분석

공부 한줄 평

  • 표로도 구분해 보고 특징을 익히려하지만 구분하고 특정 상황에 맞는 데이터베이스를 찾는 것이 생각보다 까다로울듯 하다. 특히 QLDB경우 사용해본 경험이 없어 실습이 필요할 듯 하다.
profile
인생 별거 없어

0개의 댓글