Skip to content

Latest commit

 

History

History
55 lines (28 loc) · 2.92 KB

02.database.md

File metadata and controls

55 lines (28 loc) · 2.92 KB

AWS Database

관계형 데이터베이스만 사용하는 것이 아닌 최근에는 정말 다양한 데이터 베이스가 등장했다. 무조건 RDS(Relational Database Servicer)가 좋은 것만은 아니다.

Database 범주

  1. 관계형(relational)

  2. 키-값(key-value)

  3. 문서(document)

  4. 인-메모리(in-memory)

  5. 그래프(graph)

  6. 시계열(time-series)

  7. 원장(ledger)

RDS

가장 많이 선호하는 데이터베이스 엔진을 갖춘 관계형 데이터베이스이다. Amazon에서는 Amazon Aurora, mysql, postgresql, mariaDB, oracle 등을 지원하고 있다.

Amazon Aurora에서는 병렬처리 기능이 있어서 기존 관계형 데이터베이스에서 30분이 걸리던 쿼리가 3분에 끝나게 될 정도의 속도 향상이 가능하다.

DynamoDB

Amazon에서 제공하는 NoSQL이다. 어떤 규모의 요청이 들어와도 일정한 성능을 제공한다. 모든 데이터가 암호화 된다. 전 세계 리전을 통해 글로벌 서비스가 가능하다.

DocumentDB

DynamoDB와 마찬가지로 NoSQL이다. mongoDB와 호환이 가능하다. mongoDB를 거대하게 사용할 경우 매우 유용하다.

ElastiCache

빈번하게 사용되는 데이터를 캐쉬에 넣어서 사용하는 in-memory 데이터베이스이다. in-memory 데이터베이스의 경우 실시간 공간데이터를 빠르게 관리할 수 있도록 도와준다. 예를 들어 게임 랭킹 제공, 지역정보와 같은 위치기반 서비스의 경우 유용하게 사용할 수 있다.

Neptune

Graph 데이터베이스이다. 그래프 데이터베이스는 증가되는 관계 파악을 중심으로 하는 서비스에서 유용하게 사용할 수 있다. 예를 들어 추천 기능 등으로 상품을 소개하는 경우에 사용하면 된다. 또는, 부정사용중인 이메일, 카드 등을 찾을 경우, 마인드맵 처럼 다방면으로 관계를 유지하는 경우 등에 사용하면 된다. 즉, 데이터 간의 관계를 정의할수 있을 때 사용하면 매우 유용하다.

Timestream

시계열 데이터를 관리하는 데이터베이스이다. 인덱스를 시간 기준으로 뽑아서 처리하게 된다. 물론 관계형에서도 처리가 가능하지만, 관계형 데이터베이스에서 인덱스가 많아진다는 것은 관리의 부담을 준다는 말과 같다.

알람을 구성해서 미세먼지의 양을 측정, 공기청정기의 강도를 조절하는 등 유용하게 사용 가능하다.

Quantum Ledger

Ledger는 변경되어서는 안되는 데이터베이스를 관리한다. 해시 함수 SHA-256을 이용해서 변경 내역에 대한 출력 파일을 생성한다. 예를 들면 배송 시스템에서 추적 기능 등에 사용이 가능하다. 여러 공급자가 중간에 끼어있어도 이미 기록된 정보를 변경할 수 없기 때문이다.

AWS에서 제공하는 Databse를 이용한 예제

https://github.com/aws-samples/aws-bookstore-demo-app