AWS/AWS 기초
AWS 데이터베이스의 모든 것
SALEE
2023. 4. 7. 11:31
728x90
AWS 데이터베이스 서비스
- Rational - 참조 무결성, ACID 트랜잭션, Schema-on-write
- Aurora, RDS
- Key-Value - 높은 처리량, 짧은 응답시간, 끝없는 규모
- DynamoDB
- Document - MongoDB 호환, JSON 데이터를 쉽게 저장, 쿼리 및 인덱싱
- DocumentDB
- In-memory - 1밀리 초 미만의 응답 시간
- ElastiCache
- Graph - 상호 연결성이 높은 데이터 세트를 효율적으로 검색
- Neptune
- Time-series - 시간 순으로 데이터를 수집, 저장 및 처리
- Timestream
- Ledger - 투명하고, 변경 불가능하며, 암호화 방식으로 검증 가능한 트랜잭션 로그
- QLDB
- Wide Column - 확장 가능하고 가용성이 높으며 관리되는 Apache Cassandra 호환 서비스
- Keyspaces Managed Cassandra
Amazon RDS
- 가장 선호하는 6가지 DB엔진을 갖춘 관계형 데이터베이스
- Amazon Aurora, MySQL, PostgreSQL, MariaDB, SQL Server, ORACLE
- 관리 용이성 - 하드웨어 준비, 소프트웨어 설치 등의 관리 작업 불필요
- 가용성 및 내구성 - 다중 AZ를 통헌 동기식 복제, 자동화된 백업, 스냅샷, 장애 조치
- 뛰어난 확장성 - 몇 번의 클릭만으로도 다운타임 없이 컴퓨팅 및 스토리지 확장
- 빠른 성능과 보안 - SSD 스토리지 및 성능 향상된 I/O 보장, 저장 및 전송 중 암호화 지원
Amazon Aurora
- 클라우드를 위해 설계된 MySQL, PostgreSQL 호환 관계형 데이터베이스
- 완전 관리 형 - RDS에서 관리 : 서버 프로비저닝, 소프트웨어 패치, 설정, 백업 등 자동 관리
- 성능 & 확장성 - 표준 MySQL의 5배 처리량 표준 PostgreSQL의 3배 최대 15개의 읽기 전용 복제본 확장
- 가용성 & 내구성 - 내결함성, 자가 복구 스토리지, 3개의 AZ에 걸쳐 6개의 데이터 복사본을 S3에 지속적으로 백업
- 보안 - 네트워크 격리, 저장 / 전송 시 암호화
Aurora 아키텍처
Aurora의 운영 편의성
- 최대 128TB까지 자동 스토리지 확장 - 10GB 단위로 자동 증분
- Amazon S3로의 지속적인 증분 백업
- 백업 시 성능 저하 또는 서비스 중단 발생 없음
Aurora 글로벌 데이터베이스
- 글로벌 복제 - 최대 5개 Secondary 리전, 90개 읽기 인스턴스
- 저지연 리전 복제 - 통상 < 1초 교체 리전 지연
- 빠른 복구 - 리전 장애 후 < 1분 다운 타임
NoSQL 출현 배경
AWS RDS Proxy
모니터링 - Performance Insights
- 데이터베이스 성능 확인 및 성능 문제 효과적 분석
- 데이터 부하 상황 시각화로드
- Top Dimension Table
- 대기 시간, 쿼리문, 호스트 데이터베이스, 애플리케이션
Aurora Serverless v2
- 수십만 건의 트랜잭션을 실행하는 경우에도 확장 가능
- CPU 및 메모리 리소르를 추가하여 1초 이내에 확장 가능
- 세분화된 용량 조정
- 단위 : Aurora Capacity Unit (ACU)
- 1 ACU : 2 GiB 메모리 단위
- 최소 용량 : 0.5 ACU / 0.5 ACU 단위 확장
데이터베이스 스케일링
데이터 모델링 : SQL & NoSQL
SQL과 NoSQL
Amazon DynamoDB
- 어떤 규모에서도 빠르고 유연한 NoSQL 데이터베이스 서비스
- 어떤 규모에서든 높은 성능 제공
- 일관된 10ms 미만의 latency
- 서버리스 아키텍처
- 하드웨어 프로비저닝, 소프트웨어 패치 또는 업그레이드 불필요, 자동 Scale Up / Down
- 엔터프라이즈 수준 보안
- 기본적을 모든 데이터를 암호화하고 AWS IAM과 완벽하게 통합되어 강력한 보안을 제공
- 글로벌 복제
- 여러 AWS 리전에 걸쳐 테이블을 쉽게 복제하여 로컬 데이터에 빠르게 액세스
규모의 따른 성능
DynamoDB Accelerator (DAX)
- DynamoDB를 위한 가용성이 뛰어난 완전관리형 In-memory Cache
- 마이크로 초 레이턴시
- 초당 수백만 명의 사용자까지 확장 가능
- 기존 DynanoDB API와 호환
글로벌 테이블
- 전 세계에 분산된 고성능 애플리케이션 구축
- 로컬에서 사용 가능한 테이블에 low-latency 읽기 및 쓰기
- 간편한 설정, 애플리케이션 수정이 필요 없음
Key Concepts
DynamoDB Table
Local Secondary Index (LSI)
- 최근 3개월 간의 TopScore를 보고 싶다면?
- Partition Key 동일, Sort Key 선택
Global Secondary Index (GSI)
- 각 게임별 최고 점수를 알고 싶다면?
- 기본 테이블과는 다른 검색 조건을위한 Secondary Index
LSI / GSI 비교
DynamoDB - 수평적 스케일
- 모든 데이터는 테이블에 저장, partition key가 필요
DynamoDB - 수평적 스케일 및 내구성
728x90