본문 바로가기

ChatGPT/AWS Serverless

[AWS][DynamoDB] 소개 - 1

반응형

https://aws.amazon.com/ko/blogs/aws/fine-grained-access-control-for-amazon-dynamodb/

데이터베이스 관리 시스템(DBMS)은 데이터를 저장, 수정, 조회, 삭제할 수 있는 소프트웨어입니다. 

 

기업은 데이터를 중요한 자산으로 여기기 때문에 이를 체계적으로 관리하기 위해 DBMS를 사용합니다.



DBMS에는 관계형 데이터베이스(RDBMS)와 비관계형 데이터베이스(NoSQL)가 있습니다. 

 

RDBMS는 관계를 중심으로 데이터를 저장하고, SQL(Structured Query Language)을 이용하여 데이터를 검색하고 처리합니다. 

 

반면, NoSQL은 스키마가 없거나 유연한 스키마를 사용하여 데이터를 저장하고, 여러 개의 서버에 데이터를 분산시켜 처리합니다.

AWS는 클라우드 기반의 NoSQL 데이터베이스인 DynamoDB를 제공합니다. 

 

DynamoDB는 관계형 데이터베이스보다 더욱 높은 확장성과 성능을 제공하며, AWS의 다른 서비스와 쉽게 연동할 수 있는 등의 장점이 있습니다.

 

이 글에서는 AWS의 DynamoDB에 대해서 소개하고자 합니다.

 

아와 같은 순서로 소개하며, 이 페이지 에서는 1. 서론 2. DynamoDB의 주요 특징 및 장점 3. DynamoDB의 주요 구성 요소 에 대해서 다루겠습니다.

 


1. 서론
1.1. 데이터베이스 관리 시스템(DBMS)의 중요성
1.2. NoSQL 데이터베이스의 등장과 특징
1.3. Amazon Web Services(AWS)에서 제공하는 DynamoDB 소개

2. DynamoDB의 주요 특징 및 장점
2.1. 완전 관리형 서비스
2.2. 뛰어난 확장성
2.3. 높은 성능 및 저 지연시간
2.4. 서버리스 아키텍처와의 궁합
2.5. 유연한 데이터 모델링

3. DynamoDB의 주요 구성요소
3.1. 테이블
3.2. 항목
3.3. 속성
3.4. 프라이머리 키
3.4.1. 파티션 키
3.4.2. 정렬 키

4. DynamoDB의 용량 계획 및 성능 최적화
4.1. 프로비저닝된 처리량(Read/Write Capacity Units)
4.2. 자동 조정(autoscaling) 기능
4.3. 글로벌 보조 인덱스(Global Secondary Index, GSI)
4.4. 로컬 보조 인덱스(Local Secondary Index, LSI)
4.5. 캐싱 및 DAX(DynamoDB Accelerator)

5. DynamoDB 요금 체계 및 프리 티어
5.1. 온디맨드 모드와 프로비저닝된 처리량 모드
5.2. 데이터 저장 및 전송 비용
5.3. 프리 티어 사용 한도
5.3.1. 매월 25GB 저장 용량
5.3.2. 매월 2천만건의 읽기 요청(초당 25 RCU) 및 2천만건의 쓰기 요청(초당 25 WCU)

6. 결론
6.1. DynamoDB의 강력한 기능 및 확장성 요약
6.2. 다양한 분야에서의 활용 가능성
6.3. 서버리스 아키텍처와의 시너지 효과


1. 서론

 

1.1. 데이터베이스 관리 시스템(DBMS)의 중요성

 

데이터베이스 관리 시스템(DBMS)은 기업에서 데이터를 체계적으로 관리하기 위해 필수적인 소프트웨어입니다.

 

DBMS는 데이터를 저장, 수정, 조회, 삭제하는 기능을 제공합니다.

 

이를 통해 기업은 데이터를 중요한 자산으로 관리할 수 있습니다.

 


1.2. NoSQL 데이터베이스의 등장과 특징

 

기존의 관계형 데이터베이스(RDBMS)는 스키마에 따라 데이터를 저장하고, SQL(Structured Query Language)을 이용하여 데이터를 검색하고 처리합니다.

 

그러나 이러한 구조는 데이터 구조가 변경될 때 매우 복잡해지고 유연하지 못한 단점이 있습니다.

 

이에 대한 대안으로 등장한 것이 NoSQL 데이터베이스입니다.

 

NoSQL 데이터베이스는 스키마가 없거나 유연한 스키마를 사용하여 데이터를 저장하고, 여러 개의 서버에 데이터를 분산시켜 처리합니다.

 


1.3. Amazon Web Services(AWS)에서 제공하는 DynamoDB 소개

 

AWS는 클라우드 기반의 NoSQL 데이터베이스인 DynamoDB를 제공합니다.

 

DynamoDB는 AWS에서 완전 관리형 서비스로 제공되며, 뛰어난 확장성과 성능, 저 지연시간을 제공합니다.

 

이를 통해 DynamoDB는 관계형 데이터베이스보다 더욱 높은 성능과 확장성을 제공합니다.

 



2. 서버리스 아키텍처와의 궁합

 

2.1. 완전 관리형 서비스


DynamoDB는 AWS에서 완전 관리형 서비스로 제공됩니다. 

사용자가 별도의 서버를 구축하거나 관리할 필요가 없습니다. 

이러한 특징은 운영 비용을 절감할 수 있습니다.

 


2.2. 뛰어난 확장성

 

DynamoDB는 뛰어난 확장성을 제공합니다. 

 

AWS의 다른 서비스와 쉽게 연동되어, 데이터의 양이 많아져도 쉽게 처리할 수 있습니다.

 


2.3. 높은 성능 및 저 지연시간

 


DynamoDB는 높은 성능과 저 지연시간을 제공합니다. 

 

이를 통해 빠른 데이터 처리가 가능하며, 사용자는 빠른 데이터 처리에 대한 부담을 덜 수 있습니다.

 


2.4. 서버리스 아키텍처와의 궁합

 

DynamoDB는 AWS의 서버리스 아키텍처와의 궁합이 매우 좋습니다.

 

AWS Lambda와 함께 사용할 때는 처리량(Throughput)을 자동으로 조정할 수 있는 기능을 제공하며, 이를 통해 사용자는 더욱 간편하게 서비스를 개발하고 운영할 수 있습니다.

 


2.5. 유연한 데이터 모델링

 

DynamoDB는 NoSQL 데이터베이스의 특징인 유연한 데이터 모델링을 제공합니다.

 

이를 통해 데이터의 구조를 유연하게 설계할 수 있으며, 필요에 따라 데이터 모델을 동적으로 변경할 수 있습니다.

 



 

반응형



3. DynamoDB의 주요 구성요소


3.1. 테이블


DynamoDB의 기본 구성요소는 테이블입니다. 

 

테이블은 항목(Item)의 모음으로 구성되며, 하나의 테이블에 여러 개의 항목을 저장할 수 있습니다.

 


3.2. 항목

 

항목은 하나의 레코드(Record)에 해당합니다. 

 

항목은 속성(Attribute)의 모음으로 구성되며, 테이블 내의 항목은 고유한 프라이머리 키(primary key)를 갖습니다.

 


3.3. 속성

 

속성은 항목을 구성하는 데이터 필드입니다.

 

DynamoDB는 다양한 데이터 타입을 지원하며, 사용자는 필요에 따라 데이터 타입을 선택할 수 있습니다.

 


3.4. 프라이머리 키


프라이머리 키는 항목을 식별하는 데 사용되는 고유한 식별자입니다. 

 

DynamoDB는 프라이머리 키를 이용하여 데이터를 저장하고 검색합니다. 

 

프라이머리 키는 파티션 키와 정렬 키로 구성됩니다.

 

3.4.1. 파티션 키


파티션 키는 데이터를 분할하는 데 사용되는 키입니다. 

 

DynamoDB는 파티션 키를 이용하여 데이터를 분산시키며, 이를 통해 높은 확장성과 성능을 제공합니다.

3.4.2. 정렬 키


정렬 키는 파티션 내에서 데이터를 정렬하는 데 사용되는 키입니다. 정렬 키는 파티션 키와 함께 사용되며, 데이터를 빠르게 검색하고 정렬할 수 있습니다.

 

지금 보시는 글은 ChatGPT의 도움을 받아 작성되었습니다.

반응형