반응형
AWS NEPTUNE 특징
- 관리형 그래프 DB
- 그래프형 DB란 node(entity), edge(relationship), properties로 이루어져있으며, node는 key-value쌍으로 존재함으로 일종의 NoSQL이라고 생각하면 됌
- Gremlin, openCypher, SPARQL을 지원(해당 쿼리에 대해서는 좀 더 확인 필요)
- RDF 및 Property Graph 모델 모델 지원
- Neptune은 bindings 속성을 지원하지 않고, 모두 단일 엔드포인트를 사용 (VPC 환경에서 구축)
- 지정시간 복구, read_only, s3 백업, 전송 중 암호화 등을 지원
- Neptune 그래프 노트북에서 Jupyter 및 JupyterLab notebook을 제공 → 활용 가능
- Amazon Neptune Analytics 는 비용이 높은 편 (시간당 최소 4달러에서 120달러까지도 부과)
※ 완전관리형 DB : 하드웨어 프로비저닝, 소프트웨어 패치 적용, 설정, 구성 또는 백업 모두 자동으로 관리
NEPTUNE 구성요소
- subject (S)
- predicate (P)
- object (O)
- graph (G)
→ 간단히 생각하면 위치값을 이용하여 데이터를 저장하는 방식
- 소스 식별자(점)의 위치 : S
- 대상 식별자(점)의 위치 : O
- 엔티티 레이블 : P
- G는 스택마다 다르게 사용
- ※ 이 값들을 이용하여 인덱스를 생성하여 활용
NEPTUNE 인덱싱
- 일반적인 RDB 인덱스와 다르게 네개의 위치값을 모두 사용하여 구성에 따라 인덱스를 생성
- 내부적으로 in()을 사용하는 모든 단계는 비효율적 → 인덱스를 통해서 검색을 하는 조건은 RDB와 유사(범위를 좁게할수록 더 빨리 찾는 방식)
# NEPTUNE에서는 아래 구성으로만 인덱스를 사용
- SPOG – Subject + Predicate + Object + Graph로 구성된 키를 사용합니다.
- POGS – Predicate + Object + Graph + Subject로 구성된 키를 사용합니다.
- GPSO – Graph + Predicate + Subject + Object로 구성된 키를 사용합니다.
# OSGP인덱스도 사용할 수 있지만 해당 인덱스를 사용하면 단점이 있음
- INSERT 속도가 느려짐(최대 20%이상)
- 스토리지 증가(최대 20%이상)
트랜잭션 수준
- OLTP 지원
- DML과 SELECT 문에서 서로 다른 격리수준을 지원 (어떤 수준을 지원하는지는 파악 불가능 테스트 필요.)
- RDB와 유사하게 아래 격리수준에 대해 지원하는 것 같음
- READ UNCOMMITTED : 세 유형(Dirty Read, NON-REPEATABLE READ, PHANTOM READ) 모두 허용
- READ COMMITTED : DIRTY READ는 불가능하지만, NON-REPEATABLE READ와 PHANTOM READ는 가능
- REPEATABLE READ : DIRTY READ와 NON-REPEATABLE READ는 불가능하지만, PHANTOM READ는 가
- SERIALIZABLE : 모두 불가능
반응형
'Cloud > AWS' 카테고리의 다른 글
AWS Database Migration Service(AWS DMS) (0) | 2024.03.08 |
---|---|
AWS DB 서비스 종류 | AWS RDB 특징 (0) | 2024.03.03 |