[ASC] AWS RDS & DynamoDB

채린·2023년 11월 20일
0

RDS(Relational Database Service)

SQL을 언어로 사용하는 managed database service

  • 프로비저닝, OS 패칭 전부 자동
  • 지속적 백업 & 특정 시간으로 복구 (Point in Time Restore)
  • 모니터링 대시보드 존재
  • read Replicas
    읽기 요청 몰리면 읽기 전용 용량 자동으로 늘어남
    ex. 회사에서 하루/한달에 한번씩 통계용으로 데이터 읽어오는데 성능에 문제발생
  • multi AZ 셋업 가능
    High Availability
    다중AZ 설정-> AZ별 인스턴스에 마스터DB의 Sync 복제
    여러 rds지만, 하나의 DNS
    active가 아닌 standby - 장애 대비 용도
  • Scaling capability
    Storage Auto Scaling (Horizontal scaling)
    데이터베이스 인스턴스 수를 조절(증가/감소), 읽기부하높을 때 read replica 생성해 부하 분산
  • EBS 스토리지 사용

+) active-active VS activce-standby :(서버를 이중화 하는 방법)
Active-active: 여러 개의 자원이 동시에 서비스 되는것
Active-standby: 말 그대로 하나의 서버가 대기(Stanby) 상태

EC2에서 MySQL vs RDS

rds는 HA, Scalability지원 / EC2보다 비쌈
-> 데이터를 오래 관리해야하고, 안정성이 중요한 입장(데이터 무결성, 내결함성이 너무 중요)이라면 rds

DynamoDB

AWS에서 만든 DBMS (독점기술)
managed serverless NoSQL DB
   Managed: 완전 관리형
   Serverless: 서버리스
   NoSQL: 관계형 DB 아님

Key-value store, 키-값 데이터베이스
기본 연산
put(key, value): 키-값 쌍을 저장소에 저장
get(key): 인자로 주어진 Key에 대응되는 값 조회

테이블: 데이터를 저장하는 기본 단위
아이템: 테이블 내의 개별 레코드 (RDB의 row)
Primary Key = PK + SK

  • key/value 스토어, TTL 기능 지원
  • HA, Multi AZ, Read and Writes are decoupled, transaction capability
  • DAX 클러스터를 읽기 캐시로 생성할 수 있다. -> ms 단위의 latency
  • IAM을 통한 보안, 인증, 인가
  • Event Processing: DynamoDb 스트림과 Lambda/Kinesis Data Streams를 통합할 수 있음.
    - 따라서 Dynamo 테이블의 모든 변화에 따라 함수를 호출할 수 있다.
  • Global Table 기능: active-active 설정이 가능하다.

0개의 댓글