GraphDB

SSONG·2022년 9월 27일
0

Bigdata platform

목록 보기
3/4

Overview

  • W3C 표준을 준수하는 Enterprise 지원 Semantic Graph Database
  • 업계 표준과의 간편한 사용 및 호환성을 위해 RDF4J 프레임워크 인터페이스, W3C SPARQL 프로토콜 사양 구현
  • 저장 및 쿼리를 위한 API, 다양한 쿼리 언어(SPARQL, SeRQL), RDF 구문(RDF/XML, N3, Turtle)에 대한 지원

Enterprise Function

  • 커뮤니티 및 상업적 지원
  • Lucene, Solr 및 Elasticsearch와 같은 외부 고성능 검색 애플리케이션과의 통합 클러스터 지원
  • 소규모에서부터 대규모 기업에서까지 모두 사용 가능

Version

  • Free
    • Low 쿼리 로드 및 소규모 프로젝트에 적합
  • Standard Edition
    • Heavy 쿼리 로드에 적합. GraphDB의 상용 독립형 버전
  • Enterprise Edition
    • 수십억 개의 RDF문을 동시에 로드, 쿼리 및 추론하는 생산 환경에서 확장되는 고성능 클러스터링 semantic repository

    • 자동 장애 조치, 동기화 및 로드 밸런싱 지원

    • Master Node - Worker Node 구성


Architecture

  • RDF4J용 SAIL (Storage And Interface Layer)로 패키징되며 RDF4J의 기능과 인프라를 광범위하게 사용 (특히 RDF 모델, 파서 및 쿼리 엔진)
  • 쿼리 엔진 및 웹 UI와 같은 나머지 RDF4J 프레임워크와 통합될 수 있도록 The Sail API 인터페이스 구현

RDF4J 프레임워크

  • RDF 데이터를 저장, 쿼리 및 추론하기 위핸 Java로 작성된 오픈 소스 프레임워크
  • W3C SPARQL 쿼리 언어, RDF 파일 형식 및 쿼리 결과 형시 지원
  • JDBC와 유사한 사용자 API, 간소화된 시스템 API 및 RESTful HTTP 인터페이스 제공
  • 사용자가 원하는 동작에 대해 선택할 수 있는 다양한 SAIL 구현 함께 제공

SAIL API

  • RDF 저장, 검색, 삭제 및 추론을 지원하는 Java 인터페이스 세트
  • 실제 스토리지 매커니즘에서 추상화하는데에 사용됨

구성 요소

Engine

  • Query Optimiser

    • 가능한 쿼리 플랜을 고려하여 주어진 쿼리를 실행하는 가장 효율적인 방법 결정
    • 쿼리가 제출되고 구문이 분석되면 최적화가 발생하는 쿼리 최적화 프로그램으로 전달됨
  • Reasoner (TRREE Engine)

    • Triple Reasoning and Rule Entailment Engine
    • GraphDB는 TRREE 엔진 위에 구현됨
    • 변수가 있는 RDF 트리플 패턴에 대한 순방향 연결을 기반으로 추론 수행
    • 다양한 최적화 사용
  • Storage

    • GraphDB는 Storage directory 파일에 모든 데이터를 저장
    • 이는 2개의 주요 인덱스(POS, PSO)와 추가 선택 가능한 인덱스 (CPSO, Literal)로 구성
    • Entity Pool
      • GraphDB Storage 계층의 핵심 구성 요소
      • Entity를 내부 ID로 변환하고 공간 사용 및 클러스터 동작을 개선하는 트랜잭션 동작 지원
  • Page Cache

    • GraphDB는 모든 repository 내부 공간에 공유되는 하나의 global cache 개념을 사용
    • Cache-memory, tuple-index-memory, predicate-memory 등의 크기를 구성하고 전용 메모리 양을 계산할 필요가 없음
  • Connecotrs

    • 외부 구성 요소나 서비스에 연결하여 빠른 키워드 및 집계 검색 제공 (Lucene, Solr, Elasticsearch)
    • SPARQL을 사용하여 데이터베이스를 쿼리하고 이기종 Join을 실행할 수 있음 (MongoDB 통합)
    • GraphDB repository 데이터를 자동으로 최신으로 유지
  • Workbench

    • GraphDB 웹 기반 관리 도구
    • GraphDB 저장소 관리 / 데이터 로드 및 내보내기 / SPARQL 쿼리 및 업데이트 / namespace 관리 / context 관리 / RDF 리소스 보기 및 편집 / 모니터링 쿼리 및 지원 / 사용자 및 권한 관리 / 커넥터 관리 / REST API 제공 등

0개의 댓글