본문 바로가기

Cloud/AWS

AWS NEPTUNE 특징 | 구성요소 | 인덱싱

반응형

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 구성요소

  1.  subject    (S)
  2.  predicate  (P)
  3.  object     (O)
  4.  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인덱스도 사용할 수 있지만 해당 인덱스를 사용하면 단점이 있음

  1. INSERT 속도가 느려짐(최대 20%이상)
  2.  스토리지 증가(최대 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