본문 바로가기
  • 클라우드야 나랑 친해지자!
클라우드/AWS

데이터베이스 종류 및 NoSQL 테이블 생성 및 쿼리 실습

by 정민규 2021. 2. 16.
반응형

수업을 듣고 배운 내용과 연습한 내용을 정리하였습니다

개인 공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.

 

잘못된 부분이 있거나 질문사항은 댓글로 남겨주시면 성심성의껏 답변해드리겠습니다. 감사합니다!


* Amazon RDS

 

아마존 관계형 데이터베이스 서비스(Amazon Relational Database Service) 또는 아마존 RDS(Amazon RDS)는 아마존 웹 서비스(AWS)가 서비스하는 분산 관계형 데이터베이스이다. 애플리케이션 내에서 관계형 데이터베이스의 설정, 운영, 스케일링을 단순케 하도록 설계된 클라우드 내에서 동작하는 웹 서비스이다. 데이터베이스 소프트웨어를 패치하거나 데이터베이스를 백업하거나 시점 복구를 활성화하는 것과 같은 복잡한 관리 프로세스들은 자동으로 관리된다. 스토리지와 연산 자원들을 스케일링하는 것은 하나의 API 호출로 수행할 수 있다.

 

- 출처 : 위키백과 -

 

aws.amazon.com/ko/rds/

 

데이터베이스 관리 시스템 | 관계형 RDS | Amazon Web Services

Amazon Relational Database Service(RDS)를 사용하면 클라우드에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장할 수 있습니다. 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 시

aws.amazon.com

 

 

 

* NoSQL

 

NoSQL(원래 의미: non SQL 또는 non relational) 데이터베이스는 전통적인 관계형 데이터베이스 보다 덜 제한적인 일관성 모델을 이용하는 데이터의 저장 및 검색을 위한 매커니즘을 제공한다. 이러한 접근에 대한 동기에는 디자인의 단순화, 수평적 확장성, 세세한 통제를 포함한다. NoSQL 데이터베이스는 단순 검색 및 추가 작업을 위한 매우 최적화된 키 값 저장 공간으로, 레이턴시와 스루풋과 관련하여 상당한 성능 이익을 내는 것이 목적이다. NoSQL 데이터베이스는 빅데이터 실시간 웹 애플리케이션의 상업적 이용에 널리 쓰인다. 또, NoSQL 시스템은 SQL 계열 쿼리 언어를 사용할 수 있다는 사실을 강조한다는 면에서 "Not only SQL"로 불리기도 한다.

 

- 출처 : 위키백과 -

 

 

 

* DynamoDB

 

DynamooDB는 키 벨류 형태의 대표적인 NoSQL 데이터베이스입니다. 스키마가 따로 결정되어 있지 않으며, 확장성 높은 고성능의 데이터베이스를 제공합니다. 또한 완전 관리형 다중 리전, 다중 마스터 데이터베이스이며, 대규모 애플리케이션을 위한 보안 기능, 백업 및 복원, 인메모리 캐싱을 기본 제공합니다. 다이나모 DB는 하루 10조 개 이상의 요청을 처리할 수 있고, 초당 2,000만 개 이상의 급증하는 요청을 지원합니다. 아무리 큰 규모라도 가동 중지나 성능 저하 없이 데이터를 저장하고 처리하면서, JSON 형태로 데이터를 저장합니다.

 

 

* 구성요소

  • 테이블 : 항목 및 속성
  • 기본키 ---> 상황에 따라 정렬키를 추가하기도 함
  • 글로벌 보조 인덱스 ---> 테이블을 만든 후 추가할 수 있고 현재 테이블과 동기화되는 똑같은 테이블을 만들어 원하는 속성을 기본키로 설정할 수 있음. 인덱싱하기 때문에 개별적인 읽기 용량과 쓰기 용량이 필요함
  • 쿼리와 스캔 ---> 쿼리란 삽입된 기본키를 기준으로 데이터를 찾는 방법이고, 스캔은 조건 값과 맞는 데이터를 찾을 때까지 모든 데이터를 검색하는 방식. 당연히 스캔 방법은 모든 데이터를 기준으로 찾아 많은 처리 용량이 필요하기 때문에 비용이 발생함. 

 

aws.amazon.com/ko/dynamodb/

 

NoSQL 데이터베이스 | 데이터 관리 | Amazon Web Services

광고 기술 분야의 기업은 사용자 프로필, 사용자 이벤트, 클릭 및 방문한 링크와 같은 다양한 마케팅 데이터를 저장하기 위한 키-값 스토어로 DynamoDB를 사용합니다. 적용 가능한 사용 사례로는

aws.amazon.com

 

 

 

 

* DynamoDB 사용으로 NoSQL 테이블 생성 및 쿼리 

 

간단한 예제 실습은 AWS의 '시작하기 리소스센터'를 통해 진행하였습니다.

 

 

* 실습요약

1. DynamoDB 테이블 만들기

  A. 테이블 이름 : Music

  B. 기본키 : Artist

2. 테이블 데이터 추가

3. 데이터 스캔과 쿼리

4. 데이터 수정 및 삭제

5. 테이블 삭제

 

 

aws.amazon.com/ko/getting-started/hands-on/create-nosql-table/

 

NoSQL 테이블을 생성 및 쿼리하는 방법 – AWS

AWS 프리 티어에서는 스토리지 25GB 및 월별 최대 2억 개의 Amazon DynamoDB 요청이 제공됩니다. AWS 프리 티어 세부 정보 보기 »

aws.amazon.com

 

 

 

 

1) DynamoDB 테이블 만들기

테이블 설정에서 기본 설정 사용을 해제하여 테이블에 대해 DynamoDB auto scaling을 활성화합니다.

Auto Scaling 섹션에서 DynamoDB가 사용자를 위해 AWSServiceRoleForApplicationAutoScaling_DynamoDBTable 역할을 생성하는 것을 볼 수 있습니다.

설정은 기본값으로 두고 테이블을 만들어줍니다.

 

 

 

 

2) 테이블 데이터 추가

아래와 같이 "항목 만들기"를 클릭해서 테이블에 데이터를 추가해줍니다.

 

 

 

 

3) 데이터 스캔과 쿼리

쿼리로 설정한 후, Artist 에 No One You Know 로 입력하여 검색했더니

Artist 가 No One You Know인 목록이 출력되는 것을 확인할 수 있습니다. 

 

 

이번에는 Artist = The Acme Band로 입력하고, SongTitle 에 Begins with "S" 를 추가하여 검색하여 검색 결과를 좁혀보았습니다. 

 

 

 

 

4) 데이터 수정 및 삭제

수정 및 삭제하고자 하는 항목을 선택한 후, "작업"을 클릭하여 실행합니다.

저는 하나의 항목을 삭제하고 하나는 Artist를 "Edit" 으로 수정하였습니다.

 

5) 테이블 삭제

좌측상단에 "테이블 삭제"를 클릭하여 테이블을 삭제합니다.

반응형

댓글