AWS-(6)

지훈·2024년 4월 1일
0

AWS

목록 보기
6/12

오늘은 AWS에서 제공하는 데이터베이스에 대해서 알아봅시다.

AWS RDS

정의

Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the AWS Cloud.

RDS는 다음과 같은 장점들을 제공합니다.

  • 자동 프로비저닝: 데이터베이스 설정이 자동으로 이루어집니다.
  • 운영 체제 패치 관리: AWS에서 운영 체제의 패치를 담당합니다.
  • 연속 백업 및 시점 복구(Point in Time Restore) 옵션: 데이터의 안정성을 높입니다.
  • 모니터링 대시보드: 데이터베이스 성능 모니터링을 쉽게 할 수 있습니다.
  • 읽기 복제본: 읽기 성능을 향상시키기 위해 읽기 복제본을 생성할 수 있습니다.
  • 다중 AZ 배포: 가용 영역 전체에 장애가 발생해도 대비할 수 있는 재해 복구 계획을 세울 수 있습니다.
  • 유지 관리 창: 업그레이드를 위한 유지 관리 시간을 설정할 수 있습니다.
  • 수직 및 수평 확장: 필요에 따라 리소스를 쉽게 조정할 수 있습니다.
  • EBS 백엔드 스토리지: 안정적인 스토리지 성능을 제공합니다.

다만, RDS 인스턴스에 직접 SSH로 접속할 수 없다는 제한이 있습니다. 이는 AWS에서 제공하는 관리형 서비스를 사용함으로써 얻는 대가 중 하나입니다.

Aurora

Aurora는 더 클라우드 네이티브이며, RDS보다 약 20% 더 효율적이라고 합니다. 이는 비용 효율성 측면에서도 이점을 제공합니다. 하지만, Aurora는 AWS의 무료 계층에 포함되지 않습니다.

Aurora Serverless 옵션은 데이터베이스 인스턴스의 생성과 스케일링을 자동화합니다. 이는 실제 데이터베이스 사용량에 기반하여 자동으로 스케일링되므로, 용량 계획이나 서버 관리가 필요 없습니다. 사용량에 따라 초당 요금을 지불하기 때문에, 불규칙하거나 예측할 수 없는 워크로드가 있는 경우 비용 효과적인 선택이 될 수 있습니다. Aurora Serverless는 PostgreSQL과 MySQL 엔진을 지원합니다.

클라이언트 관점에서, Aurora Serverless에 연결하는 것은 매우 간단합니다. 클라이언트는 Aurora가 관리하는 프록시 플릿에 연결되며, Aurora는 필요에 따라 데이터베이스 인스턴스를 생성하거나 스케일 다운합니다. 모든 Aurora 데이터베이스 인스턴스는 동일한 스토리지 볼륨을 공유합니다.

RDS Deployments

Read Replica

읽기 요청을 주 데이터베이스와 복제본 사이에 분산시켜 처리 성능을 향상시킬 수 있습니다. 쓰기 작업은 여전히 주 데이터베이스에만 수행됩니다.

Multi A-Z

주 데이터베이스에 문제가 발생하면 자동으로 복제본으로의 장애 전환(failover)이 이루어지며, 이는 읽기 및 쓰기 작업 모두에 영향을 줍니다. 이 설정은 데이터베이스의 지속적인 가용성을 보장합니다.

재해 복구와 데이터 읽기 성능 최적화를 위해 다른 리전에 읽기 복제본을 생성합니다. 예를 들어, 유럽 리전의 데이터베이스에 미국 또는 호주 리전에서 읽기 접근이 필요할 때 사용됩니다. 이 방법은 리전 간 장애 발생 시 백업 역할을 하며, 지역적으로 가까운 데이터 접근을 통해 읽기 지연 시간을 줄여 성능을 향상시킵니다.

Elastic Cache

Elastic Load Balancer를 통해 EC2 인스턴스로 요청을 전달하고, 이들 인스턴스는 필요한 데이터를 RDS 데이터베이스와 ElastiCache에서 읽고 씁니다. ElastiCache는 인메모리 데이터베이스로서 빠른 데이터 액세스를 제공함으로써 RDS 데이터베이스의 부하를 줄이는 역할을 합니다.

ElastiCache가 처리할 수 있는 읽기 요청은 RDS로 전달되지 않습니다.

DynamoDB(serverless)

DynamoDB는 완전 관리형, 고가용성을 제공하는 NoSQL 데이터베이스로, 세 개의 가용 영역에 걸쳐 복제됩니다. 서버리스 데이터베이스로 분류되며, 사용자는 서버를 직접 설정할 필요가 없습니다. 대규모 워크로드에 적합하며, 초당 수백만 건의 요청과 수조 개의 행, 수백 테라바이트의 스토리지를 지원합니다.

주요특징

  • 서버리스: 사용자는 서버를 직접 관리하지 않아도 되며, AWS가 백엔드에서 모든 서버 관리를 담당합니다.
  • 낮은 지연 시간: 단일 자릿수 밀리초 지연 시간을 제공하여, 빠르고 일관된 성능을 보장합니다.
  • 키-값 저장소: 데이터는 기본 키(하나 또는 두 개의 컬럼으로 구성된 파티션 키와 정렬 키)와 사용자 정의 속성으로 구성됩니다.
  • 보안 및 자동 확장: IAM을 통한 보안, 자동 확장 기능을 제공하며, 비용 절감을 위한 다양한 테이블 클래스를 지원합니다.

DAX


DAX는 DynamoDB 전용의 완전 관리형 인메모리 캐시로, 자주 읽는 객체를 캐시하여 DynamoDB의 성능을 최대 10배까지 향상시킬 수 있습니다. 이를 통해 레코드 읽기 시 단일 자릿수 밀리초 대신 마이크로초 단위의 지연 시간을 달성할 수 있습니다. DAX는 DynamoDB와 긴밀하게 통합되어 있으며, 다른 데이터베이스용 캐시 제공 기능인 ElastiCache와는 다릅니다.

Global Tables

Others

  • REDSHIFT --> data analytics/
    Amazon Redshift is a fully managed, petabyte-scale data warehouse service in the cloud.
  • EMR--> helps creating Hadoop clusters(Big data) to analyze and process vast amount of data (takes care of provisioning and configuration)
    사용예시 : 머신러닝/ data proccessing / big data 등등
  • Athena-->analytics against S3 objects (SQL씀)
  • QuickSight--> Serverless machine learning-powered buisness intelligence service to creat interactive dashboards (Intergrated with Various kinds of databases such as RDS,Redshift..etc)
  • DocumentDB--> Fully managed MongoDB
  • Neptune--> graph database (usefull for social network)
  • Timestream --> For managing Time series data
  • QLDB--->central database/ financial transaction / ledger/cryptographically verifiable
  • Managed Blockchain --> decentralized/ Blockchain
  • Glue --> extract, transform, and load (ETL)
  • DMS(Database Migration Service)-->migrate databases

추가

  1. AWS Glue is a fully managed extract, transform, and load (ETL) service that makes it easy for customers to prepare and load their data for analytics.
  2. Amazon Aurora is a MySQL and PostgreSQL-compatible relational database built for the cloud, that combines the performance and availability of traditional enterprise databases with the simplicity and cost-effectiveness of open source databases. It is a proprietary technology from AWS.

0개의 댓글

관련 채용 정보