본문 바로가기
Tips & Info

AWS NoSQL 데이터베이스 사용방법

by 아임투데이 2024. 4. 21.
반응형

 

AWS NoSQL 데이터베이스 사용방법

 

AWS에서 NoSQL 데이터베이스를 사용하는 방법은 주로 Amazon DynamoDB를 활용하는 것이 일반적입니다. Amazon DynamoDB는 완전 관리형 NoSQL 데이터베이스 서비스로서, 확장 가능하고 높은 성능을 제공합니다. 아래는 간단한 단계로 DynamoDB를 사용하는 방법입니다:

  1. AWS 계정 생성 및 로그인: AWS Management Console에 로그인하고, 콘솔 대시보드로 이동합니다.
  2. DynamoDB 서비스 선택: 콘솔에서 "DynamoDB" 서비스를 선택합니다.
  3. 테이블 생성: "테이블 생성" 버튼을 클릭하여 새로운 테이블을 생성합니다. 테이블 이름과 기본 키를 설정해야 합니다. DynamoDB는 기본 키에 따라 데이터를 파티션하므로, 키 구성을 신중하게 선택해야 합니다.
  4. 테이블 설정: 테이블 생성 후에는 속성과 인덱스를 추가하고 테이블 설정을 수정할 수 있습니다. 이는 데이터 모델링 및 쿼리 요구에 따라 다를 수 있습니다.
  5. 데이터 삽입: 새로운 데이터를 삽입하려면 "항목 추가" 버튼을 클릭하고 테이블에 데이터를 입력합니다.
  6. 쿼리 및 작업 실행: DynamoDB 콘솔을 통해 데이터를 쿼리하고 작업을 실행할 수 있습니다. 또한 AWS SDK를 사용하여 프로그래밍 방식으로 데이터를 읽고 쓸 수 있습니다.
  7. 권한 및 보안 설정: 필요에 따라 IAM(Identity and Access Management)을 사용하여 사용자 및 역할에 대한 액세스 권한을 관리하고, 데이터 보호를 위한 보안 설정을 구성할 수 있습니다.

DynamoDB는 이러한 단계를 통해 간단하게 시작할 수 있도록 설계되어 있습니다. 그러나 NoSQL 데이터베이스의 특성상 데이터 모델링 및 쿼리 작성에 있어 RDBMS와는 다른 접근 방식이 필요할 수 있습니다.

 

 

Redis와 MongoDB의 차이점?

 

AWS에서 제공하는 NoSQL 서비스 종류는? 

  1. Amazon DynamoDB: 완전 관리형 NoSQL 데이터베이스 서비스로서, 확장 가능하고 높은 성능을 제공합니다. DynamoDB는 키-값(Key-Value) 및 문서(Document) 데이터 모델을 지원하며, 대규모 분산 시스템에서도 안정적으로 작동합니다.
  2. Amazon DocumentDB (with MongoDB compatibility): AWS에서 호스팅되는 MongoDB 호환 문서 지향 데이터베이스입니다. MongoDB와 호환되는 API를 제공하므로, 기존의 MongoDB 응용 프로그램을 쉽게 마이그레이션할 수 있습니다.
  3. Amazon Neptune: 완전 관리형 그래프 데이터베이스 서비스로서, 그래프 형식의 데이터를 저장하고 쿼리할 수 있습니다. Neptune은 표준 그래프 쿼리 언어인 Gremlin 및 SPARQL을 지원하며, 네트워크, 사회 그래프, 지리 공간 데이터 등 다양한 그래프 형식의 데이터에 유용합니다.
  4. Amazon ElastiCache: 분산 메모리 캐싱 서비스로서, 주로 캐시 또는 세션 스토어로 사용됩니다. ElastiCache는 Redis 또는 Memcached와 호환되는 엔진을 제공하며, 높은 성능과 확장성을 제공하여 응용 프로그램의 성능을 향상시킬 수 있습니다.

 

  AWS에서 호스팅되는 Redis와 MongoDB 알아보기 

WS에서 호스팅되는 Redis와 MongoDB는 각각 ElastiCache와 DocumentDB 서비스를 통해 제공됩니다.

  1. Redis: AWS ElastiCache 서비스에서 호스팅되는 Redis는 분산 메모리 캐싱 시스템으로 사용됩니다. Redis는 메모리 내 데이터 구조 저장을 통해 높은 성능을 제공하며, 주로 캐싱, 세션 스토어, 메시지 브로커 등의 용도로 사용됩니다. AWS에서 제공하는 ElastiCache는 Redis와 호환되는 엔진을 제공하여 간편하게 확장하고 관리할 수 있습니다.
  2. MongoDB: AWS DocumentDB 서비스는 MongoDB 호환 문서 지향 데이터베이스입니다. MongoDB와 호환되는 API를 제공하므로, 기존의 MongoDB 응용 프로그램을 쉽게 마이그레이션할 수 있습니다. DocumentDB는 확장 가능하고 안정적인 MongoDB 호환 데이터베이스 서비스로서, 관계형 데이터베이스의 기능과 유사한 ACID(원자성, 일관성, 고립성, 지속성) 트랜잭션을 지원합니다.

Redis와 MongoDB는 각각 다른 사용 사례와 요구 사항을 충족시키는 데이터베이스 시스템입니다. Redis는 주로 캐싱 및 실시간 분석을 위한 데이터 저장소로 사용되고, MongoDB는 문서 지향 데이터베이스로서 복잡한 데이터 구조를 저장하고 검색하는 데 사용됩니다. 선택은 응용 프로그램의 요구 사항과 데이터 모델에 따라 달라집니다.

 

 

 

  Redis MongoDB
장점 - 빠른 속도 및 저렴한 비용 - 유연한 데이터 모델 (문서 지향)
  - 메모리 내 데이터 구조 저장 - ACID 트랜잭션 지원
  - Pub/Sub 메시징 및 트랜잭션 지원 - 대용량 데이터 처리 가능
  - 캐싱, 세션 스토어 등 다양한 용도에 적합 - 복잡한 쿼리 및 데이터 분석에 적합
단점 - 데이터 크기가 메모리 제한에 따라 제한될 수 있음 - 스키마가 없어 데이터 일관성 유지에 주의가 필요함
  - 지속적인 스토리지 기능이 부족할 수 있음 - 일부 쿼리 성능이 저하될 수 있음
  - 데이터 모델이 단순하며 복잡한 쿼리에는 적합하지 않음 - 자동 샤딩을 지원하지 않음
사용 예제 - 세션 스토어 및 캐시 - 웹 애플리케이션 데이터베이스
  - 메시징 브로커 및 이벤트 버스 - 로그 및 이벤트 저장소
  - 실시간 분석 및 대시보드 - 콘텐츠 관리 및 배포
  - 랭킹, 게임 상태 등의 실시간 데이터 처리 - 사용자 프로파일 및 세션 관리

 

이러한 장단점과 사용 예제를 고려하여 Redis와 MongoDB 중 적합한 데이터베이스를 선택할 수 있습니다. 만약 빠른 응답 속도와 간단한 데이터 모델이 요구된다면 Redis를 선택할 수 있으며, 복잡한 데이터 구조와 ACID 트랜잭션을 필요로 한다면 MongoDB를 선택할 수 있습니다.

반응형