DocumentDB / Neptune / Keyspaces / QLDB / Timestream

DocumentDB

  • Aurora가 MySQL, PostgreSQL과 호환되는 AWS 자체 RDBMS인 것처럼, DocumentDB는 MongoDB와 호환되는 AWS 자체 NoSQL Database이다.

  • MongoDB는 JSON 데이터를 저장, 쿼리, 인덱스하기 위해 사용된다.

  • Aurora와 배포 방식이 비슷하다. 완전히 관리되는 데이터베이스이고 가용성이 높다.

  • 데이터는 세 개의 가용 영역에 걸쳐 복제되며 DocumentDB 스토리지는 자동으로 10GB까지 확장될 수 있다.

  • 초당 수백만개의 요청을 작업할 수 있다.

Neptune

  • 완전 관리형 그래프 데이터베이스

  • 그래프 데이터베이스는 소셜 네트워크처럼 데이터들이 연결되어 있는 상황일 때 유용하다. 위키피디아와 같은 문서가 서로 연결되어 있는 지식 그래프, 사기 탐지, 추천 엔진에도 활용할 수 있다.

  • 3개의 AZ에서 걸쳐 최대 15개의 읽기 전용 복제본을 복제한다. 이를 통해 높은 가용성을 제공한다.

  • 복잡하고 어려운 쿼리를 그래프 데이터 세트 위에서 실행하도록 최적화되어 있다. 따라서 데이터베이스에 수십억 개의 관계를 저장하고 밀리초 단위의 지연 시간으로 그래프를 쿼리할 수 있다.

  • Neptune Streams

    • Neptune 데이터베이스 내 그래프 데이터의 모든 변경 사항에 대해 실시간으로 정렬된 데이터 시퀀스를 제공한다

    • 예를 들어 애플리케이션이 아마존 Neptune에 데이터를 쓰면 변경 사항은 Neptune 스트림에 즉시 반영된다.

    • 스트림에는 중복이 없으며, Neptune 클러스터 내에서 발생하는 변경 사항이 엄격하게 순서대로 정렬된다.

    • 스트림 데이터는 HTTP REST API를 통해 접근 가능하다.

    • 그래프 데이터 내에서 일부 변경 사항이 발생할 때 알림을 보내거나 데이터를 다른 데이터 저장소(S3, OpenSearch, ElastiCache 등)와 동기화하는 작업에 사용될 수 있다. 혹은 Neptune 클러스터의 데이터를 여러 지역에 걸쳐 복제할 때에도 사용 가능하다.

Keyspace

  • Apache Cassandra와 호환 가능한 관리형 데이터베이스 서비스

  • 서버리스이고 확장성과 가용성이 높다.

  • 애플리케이션 트래픽에 따라 테이블을 자동으로 확장/축소할 수 있다.

  • 테이블 데이터는 여러 AZ에 걸쳐 세 번 복제된다.

  • Keyspaces에서는 Cassandra 쿼리 언어(CQL)을 사용해야 한다.

  • 어떤 규모에서도 지연 시간이 10밀리초 미만으로 짧고 초당 수천 건의 요청을 처리한다.

  • DynamoDB처럼 온디맨드 모드와 프로비저닝 모드가 존재한다. 이 때 오토 스케일링 기능이 사용된다.

  • 암호화와 백업 기능을 제공하고 최대 35일까지 지정 시간 복구가 가능하다.

  • IoT 장치 정보와 시계열 데이터를 저장할 때 유용하다.

QLDB

  • Quantum Ledger Database

  • 원장(Ledger)은 금융 트랜잭션을 기록하는 장부이다. 따라서 QLDB는 금융 트랜잭션 원장을 갖는다.

  • 완전 관리형 데이터베이스로 서버리스이고, 고가용성을 제공한다.

  • 3개의 가용 영역에 걸쳐 데이터를 복제할 수 있다.

  • 애플리케이션 데이터의 시간에 따른 모든 변경 내역을 검토하는 데 사용된다.

  • 불변 시스템이므로 데이터베이스에 데이터를 새로 쓰면, 삭제하거나 수정할 수 없다. 정말 데이터가 변하지 않았는지 확인하기 위해, 암호화 서명을 할 수도 있다.

  • 내부적으로 저널이라는 개념을 가진다. 저널에는 수정 시퀀스가 있어 수정이 일어날 때마다, 암호화 해시가 계산된다. 이를 통해 아무 것도 삭제되거나 수정되지 않도록 보장한다.

  • 일반 원장 블록체인 프레임워크보다 2-3배 더 나은 성능을 얻을 수 있다.

  • SQL을 사용하여 데이터를 관리할 수 있다.

  • Amazon 관리형 블록체인과 다른 점은 탈중앙화 개념이 없다는 것이다. 즉, Amazon 소유의 중앙 데이터베이스에서만 저널을 작성할 수 있으므로 중앙 권한 구성 요소가 존재한다.

Timestream

  • 시계열 데이터베이스

  • 완전 관리형이며 빠르고 확장성 있는 서버리스 서비스이다.

  • 시계열이란 시간 정보를 포함하는 포인트의 집합을 의미한다. 시계열 데이터를 저장할 때에는 RDBMS보다 시계열 데이터베이스를 사용하는 것이 훨씬 빠르고 저렴하다.

  • 데이터베이스의 용량을 자동으로 확장, 축소할 수 있다.

  • 매일 수조 건의 이벤트를 저장 및 분석할 수 있다. 거의 실시간으로 데이터를 분석하고 패턴을 찾을 수 있다.

  • 쿼리를 주기적으로 실행시키거나 multi-measure 레코드를 얻을 수 있다. SQL과 호환된다.

  • 최신 데이터는 메모리에 저장되고 과거 데이터는 비용 효율적인 스토리지 계층에 저장된다.

  • 전송 중 데이터와 저장 데이터의 암호화를 지원한다.

  • IoT 애플리케이션, 운영 애플리케이션, 실시간 분석 등 시계열 데이터베이스를 사용해야 하는 환경에서 쓰일 수 있다.

Last updated