[AWS] DynamoDB & RDS

이채리·2024년 5월 27일
0

AWS

목록 보기
5/5

서비스 개요

Amazon RDS

Amazon RDS(Relational Database Service)는 클라우드에서 관계형 데이터베이스를 설정, 운영 및 확장할 수 있도록 돕는 관리형 서비스다. RDS는 MySQL, PostgreSQL, MariaDB, Oracle, Microsoft SQL Server 등을 지원하며, 고가용성 및 확장성을 제공하여 백업, 패치, 모니터링 등의 관리 작업을 자동화한다.

Amazon DynamoDB

Amazon DynamoDB는 완전 관리형 NoSQL 데이터베이스 서비스다. 초당 수백만 요청을 처리할 수 있도록 설계되었으며, 일관된 지연 시간과 자동 확장을 제공한다. DynamoDB는 키-값 및 문서 데이터 모델을 지원하며, 유연한 데이터 구조와 빠른 처리 속도가 특징이다.

SQL과 NoSQL 개념

SQL

SQL(Structured Query Language)은 관계형 데이터베이스에서 데이터를 관리하고 조작하기 위한 표준 언어다. 관계형 데이터베이스는 데이터가 테이블 형태로 구조화되어 있으며, 각 테이블은 고유한 열(속성)과 행(레코드)으로 구성된다. SQL을 사용하면 데이터 검색, 삽입, 업데이트 및 삭제 작업을 쉽게 수행할 수 있다. 관계형 데이터베이스의 주요 특징은 데이터 무결성, 정규화, 트랜잭션 지원 등이다.

NoSQL

NoSQL(Not Only SQL)은 비관계형 데이터베이스를 의미하며, 데이터 저장과 검색을 위해 다양한 데이터 모델(키-값, 문서, 그래프, 열 패밀리 등)을 사용한다. NoSQL 데이터베이스는 높은 확장성, 유연한 스키마, 빠른 읽기/쓰기 성능을 제공하며, 빅 데이터 및 실시간 웹 애플리케이션에 적합하다. NoSQL 데이터베이스는 ACID 트랜잭션보다 결국 일관성(Eventual Consistency)을 추구하는 경우가 많다.

사용 시 주의해야 할 점

Amazon RDS

백업과 복구

자동 백업 기능을 활성화하여 데이터 손실을 방지하고, 정기적으로 스냅샷을 생성하여 복구 시점을 확보해야 한다.

보안

데이터베이스에 대한 접근을 제어하기 위해 VPC, 보안 그룹, IAM 역할 등을 활용하여 네트워크 보안과 사용자 권한 관리를 철저히 해야 한다.

성능 최적화

인덱스 관리, 쿼리 최적화, 적절한 인스턴스 유형 선택 등을 통해 데이터베이스 성능을 최적화해야 한다. 모니터링 도구를 활용하여 성능 병목 현상을 식별하고 해결해야 한다.

확장성

읽기 부하가 높은 애플리케이션의 경우 읽기 복제본(Read Replica)을 사용하여 확장성을 확보하고, 필요에 따라 다중 AZ 배포를 통해 고가용성을 유지해야 한다.

Amazon DynamoDB

데이터 모델링

효율적인 데이터 모델링을 위해 액세스 패턴을 미리 계획하고, 적절한 파티션 키와 정렬 키를 선택해야 한다. 잘못된 데이터 모델링은 성능 저하와 비용 증가를 초래할 수 있다.

용량 설정

프로비저닝된 용량 모드와 온디맨드 용량 모드를 적절히 선택하고, 예상되는 트래픽에 맞게 읽기/쓰기 용량 단위를 설정해야 한다. 자동 스케일링을 활성화하여 트래픽 변화에 유연하게 대응할 수 있다.

보안

AWS IAM을 활용하여 세분화된 권한을 부여하고, 테이블에 대한 액세스를 제어해야 한다. 또한, DynamoDB Streams를 사용하여 데이터 변경 사항을 모니터링하고 감사할 수 있다.

비용 관리

비용을 절감하기 위해 필요한 만큼의 용량만 프로비저닝하고, 주기적으로 사용 패턴을 분석하여 용량을 조정해야 한다. TTL(Time to Live) 기능을 활용하여 오래된 데이터를 자동으로 삭제할 수도 있다.

결론

Amazon RDS와 DynamoDB는 각각의 장점과 사용 사례가 명확한 관리형 데이터베이스 서비스다. 관계형 데이터베이스와 비관계형 데이터베이스의 개념을 이해하고, 각 서비스의 특성과 주의사항을 숙지하여 적절한 용도로 활용하는 것이 중요하다. 이를 통해 데이터베이스 운영의 효율성을 높이고, 안정성과 성능을 최적화할 수 있을 것이다.

출처 : https://aws.amazon.com/ko/rds/ , https://aws.amazon.com/ko/dynamodb/

profile
성장하며 남기는 흔적들. 그때 그때 떠오르는 생각들과 하고 있는 작업들. 나의 소소한 성과.

0개의 댓글