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