반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- EC2란
- 파이썬조합
- 프로그래머스파이썬
- SAA-C03
- aws자격증가이드
- 파이썬 프로그래머스
- swagger 데코레이터
- PHP8
- SAA자격증
- examtopics
- Nest.js
- 파이썬 최소공배수
- 파이썬 math 라이브러리
- 파이썬 정렬
- itertools
- nest swagger 데코레이터
- 파이썬문자열함수
- 프로그래머스 파이썬 문제풀이
- aws
- 프로그래머스 파이썬
- 프로그래머스
- python sorted
- nest swagger
- 파이썬
- Nest
- 파이썬 sorted
- 파이썬 문자열 함수
- 프로그래머스파이썬연습문제
- Python
- SAA
Archives
- Today
- Total
사진찍는 개발자📸👩💻
[SAA] Databases 본문
반응형
SMALL
1. Choosing the Right Database
- AWS에는 선택할 수 있는 다양한 관리형 데이터베이스가 존재
- 아키텍처 요구 사항에 따라 선택할 수 있음
- 읽기 중심, 쓰기 중심, 균형이 맞는 워크로드인지, 처리량, 처리량이 하루에 얼마나 달라지는지, 확장 가능성, 하루에 얼마나 달라지는지
- 저장해야 할 데이터의 양, 얼마동안 보관해야 하는지, 데이터의 증가, 평균 객체의 크기, 데이터 액세스 빈도와 액세스 방법
- 데이터 내구성, 데이터 공급원
- 지연 시간 요구 사항, 동시 사용자
- 데이터 모델, 데이터 쿼리 방식, 조인 필요 여부, 정형/반정형 여부
- 강력한 스키마 필요 여부, 유연성 필요 여부, 데이터베이스 관련 보고 필요 여부, 검색 기능 필요 여부, 관계형/NoSQL 중 어떤 것이 필요한지
- 라이센스 비용, Aurora와 같은 클라우드 네이티브 DB로 전환할 계획이 있는지
2. Database Types
- RDBMS(=SQL/OLTP): RDS, Aurora - Join에 유용
- RDS
- 관리형 PostgreSQL / MySQL / Oracle / SQL Server / MariaDB / 사용자 지정 RDS
- RDS 인스턴스 크기 및 EBS 볼륨 유형 및 크기를 프로비저닝 해야 함
- 스토리지 오토 스케일링 가능
- 읽기 용량 확장을 위해 읽기 전용 복제본 및 다중 AZ 지원
- IAM - RDS 데이터베이스 보안 / 보안 그룹 - 네트워크 보안 / KMS - 저장 데이터 암호화 / SSL & TLS - 전송 데이터 암호화
- 자동 백업 옵션(최대 35일), 지정 시간 복구 가능
- 장기 보존 백업을 위한 수동 DB 스냅샷 기능
- 유지 관리 기능 예약 가능(다운타임 발생 - 프로비저닝 하거나 AWS가 데이터페이스 엔진을 주기적으로 업데이트 하고 기본 EC2 인스턴스에 보안 패치를 실행할 때 발생)
- RDS Proxy를 강제하여 RDS에 IAM 인증 추가, Secret Manager와 통합하여 DB 자격 증명
- Oracle 및 SQL Server의 기본 인스턴스 액세스 및 사용자 지정을 위한 RDS 사용자 지정 옵션
- ex) 관계형 데이터 세트 저장(RDBMS / OLTP), SQL Query 및 Transaction 수행
- Aurora
- PostgreSQL / MySQL 과 호환되는 API, 컴퓨팅과 스토리지가 분리되어 있음
- 스토리지: 데이터는 3개의 가용 영역에 걸쳐 6개의 복제본에 저장됨(고가용성, 자가 복구 처리, 오토 스케일링 기능)
- 컴퓨팅: 클러스터화된 실제 데이터베이스 인스턴스를 여러 가용 영역에 걸쳐 저장, 읽기 전용 복제본의 오토 스케일링
- 클러스터: 읽기와 쓰기를 위한 DB인스턴스에 대한 사용자 지정 엔드 포인트
- RDS와 동일한 보안 / 모니터링 / 유지관리 기능 포함
- Aurora의 백업 및 복구 옵션
- Aurora Serverless: 예측할 수 없는 / 간헐적인 워크로드에 적합, 용량 계획 필요 X
- Aurora Multi-Server: 쓰기 고가용성을 위해 쓰기 장애조치가 지속해서 필요할 때 사용, DB 인스턴스 여러개가 ㅇ스토리지에 쓰기를 할 수 있도록 설정 가능
- Aurora Global: 데이터가 복제된 리전마다 최대 16개의 데이터베이스 읽기 전용 인스턴스 제공, 리전간 스토리지 복제에 걸리는 시간 < 1 min
- Aurora Machine Learning: Aurora에서 SageeMaker 및 Comprehend를 사용하여 머신 러닝 수행
- Aurora Database Cloning: 스냅샷 복원보다 기존 클러스터에서 새로운 클러스터 생성이 더 빠름
- ex) RDS와 동일하지만 더 적은 유지보수, 더 큰 유연성, 더 높은 성능, 더 많은 기능
- RDS
- NoSQL Database - No Joins, No SQL: DynamoDB(JSON), ElastiCache(키/값 쌍), Neptune(그래프), DocumentDB(MongoDB용), Keyspaces(Apache Cassandra용)
- DynamoDB
- AWS의 독점 기술, 관리형 서버리스 NoSQL 데이터베이스, 밀리초 수준의 지연시간, SQL 쿼리 사용 불가
- 용량 모드
- 선택형 오토 스케일리이 탑재된 프로비저닝된 용량 모드 - 점신적으로 늘어나거나 점진적으로 줄어드는 이중(double) 워크로드가 있을 경우에 사용
- 온디멘드 용량 모드 - 용량 프로비저닝 필요 X, 오토 스케일링이 실행되므로 워크로드를 예측하기 어려울 때나 데이터베이스의 수요가 급증할 때 유용
- ElastiCache 대신 DynamoDB에 키-값을 저장할 수 있음(ex. 웹사이트 세션 데이터 저장, TTL 기능 사용)
- 고가용성, 기본적으로 다중 가용 영역에 걸쳐있기 때문, 읽기와 쓰기가 완전히 분리되어 있고 트랜잭션 기능 제공
- 읽기 캐시용 DAX 클러스터, 마이크로초 읽기 지연 시간
- 보안, 인증, 권한 부여는 IAM을 통해 처리
- 이벤트 처리: AWS Lambda, Kinesis Data Stream과 통합하기 위한 DynamoDB Streams
- Global Table 기능: 어느 리전에서든 읽고 쓸 수 있음, 다중 활성(active - active)
- 백업 옵션
- PITR을 사용한 최대 35일까지의 자동 백업(새 테이블로 백업)
- 온디멘드 백업
- PITR 창 내에서 RCU(읽기 용량 단위)를 사용하지 않고 S3로 export, WCU(쓰기 용량 단위)를 사용하지 않고 S3에서 import
- 스키마를 빠르개 전개할 때 유용
- ex) 400kb 미만의 문서를 다루는 작은 서버리스 애플리케이션 개발, 서버리스 캐시 분산
- ElastiCache
- 관리형 Redis / Memcached(RDS와 비슷한 기능 제공, 캐싱 작업에 활용)
- 인메모리 데이터 스토어, 데이터를 읽을 때 1ms 미만의 지연시간 제공
- 캐시를 위한 EC2 인스턴스 유형을 프로비저닝 해야함(ex. cache.mg6.large)
- Redis용 클러스터 생성, 다중 AZ, 샤딩을 위한 읽기 전용 복제본 사용 가능
- IAM, 보안그룹, KMS, Redis 인증을 통한 보안
- 백업, 스냅샨, 지정 시간 복구 기능
- 관리형 및 예약된 유지 관리 가능
- 애플리케이션 코드가 ElastiCache를 활용하도록 코드를 수정해야 함
- ex) key-value store, 높은 읽기, 적은 쓰기, DB 쿼리 결과를 캐싱, 웹 사이트의 세션 데이터 저장, SQL 사용 불가
- DocumentDB
- Aurora는 PostgreSQL / MySQL의 "AWS 구현"인 것처럼 DocumentDB는 NoSQL의 데이터베이스인 MongoDB(NoSQL)에 대한 "AWS 구현"
- Mongodb는 JSON 데이터를 저장, 쿼리 및 인덱싱 하는데 사용
- Aurora와 유사한 "배포 개념"을 가지고 있음
- 완전히 관리되며, 3개의 가용영역 간 복제로 높은 가용성을 제공
- DocumentDB 스토리지는 자동으로 10GB 단위로 증가하여 최대 64TB까지 확장
- 초당 수백만건의 요청이 있는 워크로드로 확장될 수 있도록 설계됨
- Neptune
- 완전 관리형 그래프 데이터베이스
- 소셜 네트워크는 우리가 아는 가장 일반적인 그래프 데이터 세트이다.
- 사용자는 친구가 있음
- 게시글에는 댓글이 있음
- 댓글에는 좋아요가 있음
- 사용자는 게시글을 공유하고 좋아요를 누름
- 3개의 가용 영역에서 최댇 15개의 읽기 복제본을 사용하여 높은 가용성을 제공함
- 복잡하고 어려운 쿼리에 최적화도딘, 높은 연결성을 가진 데이터 세트를 사용하여 애플리케이션을 빌드하고 실행할 수 있음
- 수십억 개의 관계를 저장하고 밀리초 지연 시간으로 그래프를 쿼리할 수 있음
- 여러 가용 영역에 복제하여 높은 가용성을 제공
- ex)지식 그래프(위키피디아), 사기 탐지, 추천 엔진, 소셜 네트워킹에 적합
- Keyspaces (for Apache Cassandra)
- Apache Cassandra 호환 데이터베이스
- 서버리스 서비스, 확장성과 가용성이 높으며 AWS 완전 관리형
- 애플리케이션의 트래픽에 기반하여 테이블을 자동으로 확장/축소
- 테이블은 여러 가용 영역에 걸쳐 3번 복제됨
- Cassandra Qurey Language 사용(CQL)
- 어떤 규모에서도지연 시간이 10 밀리초 미만으로 짧고 초당 수천 건의 요청을 처리함
- 용량: 온디맨듣 모드 또는 오토 스케일링이 있는 프로비저닝 모드 (DynamoDB와 같음)
- 암호화, 백업, 최대 35일까지의 시점 복구(PITR) 지원
- ex) IoT 디바이스 정보, 시계열 데이터 등
- DynamoDB
- 객체 스토어: S3 (대용량 객체용), Glacier(백업/아카이브용)
- 데이터 웨어하우스(=SQL 분석/ BI): Redshift(OLAP), Athena, EMR
- 검색: OpenSearch(JSON) - 자유로운 텍스트 입력 및 비정형 데이터 검색
- 그래프: Amazon Neptune - 데이터 세트 간의 관계 표시
- 원장: Amazon Quantum Ledger Database
- QLDB(Quantum Ledger Database)
- 원장(ledger)은 금융 트랜잭션(거래)을 기록하는 장부
- 완전 관리형, 서버리스, 고가용성, 3개의 가용 영역에 걸쳐 데이터 복제
- 시간에 따라 애플리케이션 데이터에 대한 변경 내역을 모두 검토하는 데 사용됨
- 변경 내역은 수정 또는 제거할 수 없고, 암호화를 통해 검증할 수 있는 불변(Immutable) 시스템
- 일반적인 원장 블록체인 프레임워크보다 2~3배 더 좋은 성능을 가지며, SQL을 사용하여 데이터를 관리할 수 있음
- Amazon Managed Blockchain과의 차이점: 탈중앙화 개념이 없으며, 금융 규정에 따라 운영
- QLDB(Quantum Ledger Database)
- 시계열: Amazon Timestream
- Timestream
- 완전 관리형, 확장성이 있는 서버리스 방식의 시계열(timeseries) 데이터베이스
- 용량을 조정하기 위해 자동으로 확장/축소
- 하루에 수조 건의 이벤트를 저장하고 분석할 수 있음
- 관계형 데이터베이스 대비 1,000배 빠르며 비용은 1/10
- 예약된 쿼리, 다중 척도 레코드, SQL 호환성
- 데이터 저장 계층: 최근 데이터는 메모리에 저장, 과거 데이터는 비용 효율적인 스토리지 계층에 저장
- 내장된 시계열 분석 기능을 제공하여 데이터의 패턴을 거의 실시간으로 식별할 수 있음
- 전송 중 데이터와 저장 데이터의 암호화 지원
- ex) IoT 애플리케이션, 운영 애플리케이션, 실시간 분석 등
- Timestream
반응형
LIST
'develop > AWS' 카테고리의 다른 글
[SAA] Machine Learning (0) | 2024.06.22 |
---|---|
[SAA] Data & Analytics (0) | 2024.06.21 |
[SAA] Serverless Architectures (0) | 2024.06.19 |
[SAA] Serverless (0) | 2024.06.18 |
[SAA] Container: ECS, Fargate, ECR, EKS (0) | 2024.06.17 |