https://jwlish.tistory.com/entry/SAA-C03-AWS-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4
더보기
Database
데이터베이스 유형
- RDBMS - SQL을 사용하거나 온라인 트랜잭션을 처리할 때 사용, RDS, Aurora 등
- NoSQL - 유연한 데이터베이스, 일반적으로 SQL 쿼리 언어를 사용하지 않음, DynamoDB, ElastiCache 등
- Object Store - 대용량 객체 저장용 Amazon S3나 백업, 아카이브용 Glacier 등이 포함된 데이터베이스
- Data Warehouse - SQL 분석이나 비즈니스 인텔리전스를 사용, Redshift, Athena, EMR 등
- Search - 자유롭게 텍스트를 입력하거나 비정형 데이터를 검색하는 데이터베이스, OpenSearch 등
- Graphs - 데이터 세트 간의 관계를 표시, Amazon Neptune 등
- Ledger - 트랜잭션 목록과 원장을 기록하는 데이터베이스, Amazon Quantum Ledger Database (QLDB) 등
- Time Series - 시계열 데이터베이스, Amazon Timestream 등
AWS 데이터베이스 요약
Amazon RDS 요약
- PostgreSQL, MySQL, Oracle, SQL Server, MariaDB, 사용자 지정 RDS에 의해 관리됨
- RDS 인스턴스 크기와 EBS 볼륨 유형 및 크기를 프로비저닝 해야 함
- 읽기 용량 확장을 위해 읽기 전용 복제본 지원
- 고가용성 목적으로 대기 데이터베이스를 다중 AZ에 생성
- IAM 인증, 보안 그룹, 저장 데이터 암호화에 KMS, 전송 중 암호화에 SSL과 TLS를 이용한 RDS 보안 기
- 자동 백업, 지정 시간 복구, 장기 보존 백업 (스냅샷) 기능 지원
- 장애 조치나 유지 관리 기능 실행 시 다운타임 발생할 수 있음
- Amazon RDS는 관계형 데이터베이스 (RDBMS, OLTP), SQL 쿼리 실행, 트랜잭션 등에 활용
Amazon Aurora 요약
- PostgreSQL, MySQL과 호환되는 API를 갖춘 데이터베이스
- 스토리지의 경우 데이터를 3개의 AZ, 6개의 복제본에 저장 - 가용성이 높고 자체 복구 기능과 오토 스케일링 지원
- RDS와 동일한 보안, 모니터링, 유지 관리 기능
- Aurora Serverless
- 워크로드가 간헐적이거나 예측할 수 없는 경우 사용량에 대한 예측을 하지 않아도 되므로 유용
- Aurora Multi Master
- 한 번에 여러 인스턴스에 쓰기를 할 수 있는 옵션, 쓰기 고가용성과 장애 조치가 필요할 때 사용
- Aurora Global
- 데이터베이스가 복제된 리전마다 최대 16개의 데이터베이스 읽기 전용 인스턴스 제공
- 리전 간 스토리지 복제에 걸리는 시간은 일반적으로 1초 미만
- 기본 리전에 문제가 발생하면 보조 리전을 새 기본 리전으로 승격하여 사용
- Aurora Machine Learning
- SageMaker와 Comprehend를 사용해 Aurora에서 머신 러닝 수행 가능
- Aurora Database Cloning
- 프로덕션 데이터베이스로부터 테스트 데이터베이스나 스테이징 데이터베이스를 만들 때 사용
- 스냅샷을 사용해서 복구하는 것보다 훨씬 속도가 빠름
- Aurora의 사용 사례는 RDS와 같지만 보다 유지 관리할 게 적고, 유연성 및 성능이 좋고 기능이 더 많음
Amazon ElastiCache 요약
- 관리형 Redis / Memcached로 RDS와 비슷한 기능을 제공하지만 캐싱 작업에 활용됨
- ElastiCache는 인 메모리 데이터 스토어로 데이터를 읽을 때 1밀리 초 미만의 지연 시간 제공
- 캐시를 위한 EC2 인스턴스 유형을 프로비저닝해야 함
- 클러스터 생성, 다중 AZ, 샤딩을 위한 읽기 전용 복제본 사용 가능
- IAM, 보안 그룹, 저장 데이터 암호화를 위한 KMS, Redis 인증을 이용한 보안 기능
- RDS처럼 백업 및 스냅샷, 지정 시간 복구 같은 기능 사용 가능
- 유지 관리 작업 처리와 예약 가능
- ElastiCache를 사용해 RDS가 결합된 데이터베이스에서 캐싱 작업을 수행하려면 애플리케이션 코드 수정 필요
- 웹 사이트 사용자를 위한 세션 데이터 저장, 데이터베이스 쿼리 캐싱 등에 활용, SQL에서 사용 불가능
DynamoDB
- AWS의 독점 기술로 완전 관리형 서버리스 NoSQL 데이터베이스, 밀리초 수준의 지연 시간 제공
- 프로비저닝 된 용량 모드 - 선택형 오토 스케일링 탑재, 점진적으로 늘거나 줄어드는 이중 워크로드가 있을 때 유용
- 온디맨드 모드 - 용량을 프로비저닝 하지 않고, 오토 스케일링으로 워크로드 예측이 어려울 때나 수요 급증에 사용
- ElastiCache를 대신하여 DynamoDB에 키-값 저장 가능
- 다중 AZ(기본값)로 가용성이 높음
- 읽기와 쓰기가 완전히 분리되어 있고, DynamoDB 테이블에서 트랜잭션을 처리할 수 있음
- DynamoDB Accelerator (DAX) 활성화를 통해 DynamoDB와 호환되는 읽기 캐시 제공, 마이크로초 수준의 지연 시간
- 보안, 인증, 권한 부여는 IAM을 통해 처리
- DynamoDB Streams와 Kinesis Data Stream으로 데이터베이스의 변경 사항 스트리밍 가능
- 글로벌 테이블 기능으로 여러 리전 간 다중 활성 복제 가능
- 자동 백업 또는 온디맨드 백업 기능 제공
- 스키마를 빠르게 전개해야 하는 경우에 DynamoDB가 유용
- 400KB 미만의 문서를 다루는 작은 서버리스 애플리케이션 개발, 서버리스 캐시 분산 등에 활용
Amazon S3 요약
- S3는 객체를 키-값으로 저장
- 큰 객체 저장할 때 유용하고 여러 개의 작은 객체를 저장할 때는 유용하지 않음
- 서버리스 서비스이며 확장성이 무한하고, 객체의 최대 크기는 5TB
- 수명 주기 정책을 통해 S3 Standard, S3 Infrequent Access, S3 Intelligent, S3 Glacier 계층으로 전환
- 버저닝, 암호화, 복제, 멀티 팩터 인증 (MFA) 삭제, 액세스 로그, 리전 간 복제 등의 기능이 있음
- IAM, 버킷 정책, Access Control List (ACL), CORS 등 보안 기능
- SSE-S3, SSE-KMS, SSE-C, 클라이언트 측 암호화, 전송 중 암호화, S3 버킷 암호화 활성화를 통한 암호화 기능
- 파일을 병렬식으로 업로드하는 멀티 파트 업로드, S3 Transfer Acceleration, S3 Select 기능 제공
- 정적 파일, 큰 파일의 키-값 스토어, 웹 사이트 호스팅 등에 활용
DocumentDB
- Aurora로 AWS에서 PostgreSQL이나 MySQL의 대규모 클라우드 네이티브 버전을 구현하는 것과 비슷
- DocumnetDB는 mongoDB용 Aurora라고 생각하면 됨
- NoSQL 데이터베이스
- JSON 데이터를 저장, 쿼리, 인덱스 하는 데 사용
- 완전 관리형 데이터베이스로 가용성이 높음
- 데이터는 3개의 AZ에 복제되고 스토리지는 자동으로 10GB 단위로 최대 64TB까지 증가
- mongoDB 관련 내용은 DocumentDB를 떠올릴 것
- NoSQL 데이터베이스와 관련 내용은 DocumentDB 또는 DynamoDB를 떠올릴 것
Amazon Neptune
- 완전 관리형 그래프 데이터베이스
- 소셜 네트워크가 대표적인 예시
- Neptune은 3개의 AZ에 걸쳐 최대 15개의 읽기 전용 복제본으로 복제되므로 가용성이 높음
- 그래프 데이터 세트에서 복잡하고 어려운 쿼리를 실행하기에 최적화되어 있음
- 데이터베이스에 최대 수십억 개의 관계를 저장할 수 있고, 그래프를 쿼리 할 때 지연 시간은 밀리초
- 위키피디아 같은 지식 그래프 저장에도 뛰어난 성능을 보임
- 그래프 데이터베이스 관련 내용은 Neptune을 떠올릴 것
Amazon Keyspaces
- AWS의 관리형 서비스인 Apache Cassandra를 보조
- Cassandra는 오픈 소스 No SQL 분산 데이터베이스
- Keyspaces를 사용하면 클라우드에서 AWS가 Cassandra를 직접 관리
- 서버리스 서비스, 확장성과 가용성이 높은 완전 관리형 서비스
- 애플리케이션 트래픽에 따라 테이블을 자동으로 확장 및 축소
- 테이블 데이터는 여러 AZ에 걸쳐 세 번 복제
- Keyspaces에서 쿼리를 수행하려면 Cassandra 쿼리 언어 (CQL) 사용
- 어떤 규모에서도 지연 시간이 10밀리 초 미만으로 짧고 초당 수천 건의 요청 처리
- 온디맨드 모드와 프로비저닝 된 모드로 나뉘는데 DynamoDB와 동일
- 암호화, 백업, 지정 시간 복구 기능 제공
- IoT 장치 정보, 시계열 데이터 저장 등에 활용
- Apache Cassandra 관련 내용은 Amazon Keyspaces를 떠올릴 것
Amazon QLDB
- Quantum Ledger Database
- 원장은 금융 트랜잭션을 기록하는 장부로 QLDB는 금융 트랜잭션 원장을 갖게 됨
- 완전 관리형 데이터베이스, 서버리스 서비스
- 3개의 AZ에 걸쳐 데이터를 복제할 수 있는 고가용성
- 애플리케이션 데이터의 시간에 따른 모든 변경 내역을 검토하는 데 사용
- SQL을 사용하여 데이터 관리 가능
- 불변 시스템으로 데이터베이스에 무언가 작성을 하면 삭제하거나 수정할 수 없음
- 금융 트랜잭션이나 원장이 나오면 QLDB를 떠올릴 것
Amazon Timestream
- 시계열 데이터베이스
- 완전 관리형, 빠르고 확장성 있는 서버리스 서비스
- 시계열은 시간 정보를 포함하는 포인트의 모음을 뜻함
- Timestream을 사용하면 데이터베이스의 용량을 자동으로 확장 및 축소 가능
- 매일 수 조 건의 이벤트를 저장 및 분석 가능
- 최신 데이터는 메모리에 저장되고 과거 데이터는 비용 효율적인 스토리지 계층에 저장
- 시계열 분석 기능이 있어 근 실시간으로 데이터 분석하고 패턴을 찾을 수 있음
- 전송 중 암호화와 저장 데이터의 암호화 지원
- IoT 애플리케이션, 운영 애플리케이션, 실시간 분석 등에 활용
'자격증 > SAA-C03' 카테고리의 다른 글
[SAA-C03] 머신 러닝 (0) | 2023.02.15 |
---|---|
[SAA-C03] 데이터 & 분석 (1) | 2023.02.14 |
[SAA-C03] Serverless - Lambda, DynamoDB, API Gateway (1) | 2023.02.09 |
[SAA-C03] AWS의 컨테이너 - ECS, ECR, EKS, App Runner (0) | 2023.02.08 |
[SAA-C03] AWS 디커플링 애플리케이션 - SQS, SNS, Kinesis, Active MQ (0) | 2023.02.07 |