본문 바로가기

분류 전체보기

(37)
4대 그래프 DB 플랫폼 비교 분석 🔄 NebulaGraph Neo4j, JanusGraph, HugeGraph와 비교 📊 4대 그래프 DB 비교 분석표 항목 NebulaGraph Neo4j JanusGraph HugeGraph 🏢 개발사Vesoft (중국/미국)Neo4j Inc. (미국)Linux Foundation (오픈소스 커뮤니티)Baidu (중국)💻 언어C++JavaJavaJava🌐 쿼리 언어nGQL (Cypher 유사)CypherGremlin (TinkerPop)Gremlin (TinkerPop)📦 백엔드 스토리지RocksDB자체 저장소Cassandra, HBase, BerkeleyDBRocksDB, Cassandra🧠 특징초고속, 분산, 멀티태그 정점가장 유명함, 생태계 풍부분산 처리, 확장성빠른 구축, ..
[실습] Gremlin vs Cypher 상황별 성능 비교 실험 설계 ✅ 1. 실험 목표 정의 실험 목적 비교 기준 그래프 쿼리 언어의 실행 성능 비교Latency, Memory usage표현력/추상화 수준 비교쿼리 길이, 가독성자동화 및 파이프라인 통합성스크립트화/LLM 연계 가능성확장성노드/엣지 수 증가에 따른 처리 시간 변화📁 2. 실험 구성 요소📌 데이터셋사용 데이터: ogbl-wikikg2 (2.5M nodes, 16M triples)형식: JSON → Triple(subject, predicate, object) → Gremlin/Cypher 삽입구성: 관계(Pxxx) + 엔티티(Qxxx) 기반 그래프🧪 실험 시나리오 분류 (작업 유형별)상황 유형 설명목적단일 홉 조회예: Q1 → P31 → Q2기본 트래버설 속도 측정다중 홉 경로 추적예: Q1 → P..
JanusGraph 실습 5 / Gremlin Visualizer ✅ 전체 흐름 요약1단계Docker 설치 확인2단계Gremlin Visualizer 이미지 가져오기 (docker pull)3단계컨테이너 실행 (docker run)4단계브라우저에서 localhost:3000 접속5단계Gremlin Server IP 및 포트 입력 후 쿼리 실행 (g.V() 등)🔧 1단계: Docker 설치 확인 (Windows)Docker Desktop for Windows 설치설치 후 Docker Desktop 실행 → 우측 하단의 고래 아이콘이 Running 상태여야 함Git Bash 실행 후 아래 명령어로 Docker 정상 작동 확인: docker versionClient와 Server 모두 버전 정보가 나오면 정상입니다.📥 2단계: Gremlin Visualizer 이미지 가..
JanusGraph 실습 4 / import & export 🧩 JanusGraph Import / Export 구조✅ 설명JanusGraph DB는 외부에서 데이터를 불러오거나 내보낼 때 두 가지 포맷을 지원합니다:GraphSONJSON 기반사람과 기계 모두 읽기 쉬운 형식GraphMLXML 기반W3C에서 정의한 표준 그래프 표현 언어, 도구 간 호환성 높음Import: 외부 JSON(GraphSON) 또는 XML(GraphML) 파일을 JanusGraph에 삽입Export: JanusGraph에 있는 그래프를 JSON 또는 XML 형식으로 내보낼 수 있음🧩 GraphSON 구조 예시 (JSON 기반){ "id": "2", "label": "person", "inE": { "knows": [ { "id": 7, "..
JanusGraph 실습 3 / Hbase 설치 및 활용 가이드 ✅ 1단계: 이미지 다운로드 및 세팅이미지가 정상적으로 다운로드됐는지 확인명령어docker images 결과 예시REPOSITORY TAG IMAGE ID CREATED SIZEdajobe/hbase latest daa36a6d90b1 6 years ago 827MB설명REPOSITORY 열에서 dajobe/hbase가 보이면 다운로드 성공IMAGE ID, CREATED, SIZE를 통해 이미지 정보를 확인할 수 있음위 예시에서는 827MB, 생성된 지는 6년 된 오래된 이미지입니다. (그래서 더 가볍고 빠르게 시작되기도 함)🧠 TAG가 latest인 것은 별도로 버전을 지정하지 않았기 때문입니다.🗂️ 데이터 디렉토리 생성 (선택)명령..
JanusGraph 실습 2 / Cassandra 설치 및 활용 가이드 이번 글에서는 Docker를 이용하여 Cassandra를 설치하고 활용하는 전 과정을 단계별로 정리해보겠습니다. Cassandra는 대용량 데이터를 빠르게 처리할 수 있는 고성능 NoSQL 데이터베이스로, 분산형 구조와 높은 확장성이 특징입니다.📌 전체 설치 및 실습 워크플로우Cassandra를 Docker로 설치하고 데이터를 조회하기까지의 흐름은 다음과 같습니다:Cassandra 이미지 다운로드이미지 확인컨테이너 실행컨테이너 실행 여부 확인컨테이너 내부 진입Cassandra Shell 실행Keyspace 및 테이블 생성데이터 삽입 및 조회1️⃣ Cassandra 이미지 다운로드가장 먼저 DockerHub에서 Cassandra 이미지를 가져옵니다.=> 먼저 Docker Desktop 실행시킬 것, 그래..
JanusGraph 실습 1 / 스키마와 데이터 모델링 ✅ 스키마 구성 3요소정점 라벨 (Vertex Label)간선 라벨 (Edge Label)속성 키 (Property Key)이들을 정의해야만 정점, 간선, 속성을 삽입할 수 있습니다. 🧩 1. 간선 라벨 정의 (Edge Label)knows = management.makeEdgeLabel('knows').multiplicity(MULTI).make();management: 스키마를 다루는 객체makeEdgeLabel('knows'): knows라는 간선 라벨 생성multiplicity(MULTI): 다중 연결 허용make(): 라벨 생성 완료📌 Multiplicity(다중도)의 의미두 정점 사이에서 특정 간선 라벨이 몇 개까지 허용되는지를 설정하는 제약 조건🎯 Multiplicity 종류 유형 설..
JanusGraph 기초 개념 ⑦ / OLAP vs OLTP 탐색, 스토리지와 인덱스 백엔드, GraphComputer 이번 글에서는 JanusGraph에서 꼭 알아야 할 고급 용어들인OLAP/OLTP 트래버설, 스토리지 백엔드, 인덱스 백엔드, 그래프 컴퓨터에 대해 간단하지만 핵심적으로 정리해드립니다. ✅ 1. Traversal (탐색)이란?JanusGraph에서 데이터를 조회하는 기본 방식은 Traversal (그래프 순회)입니다.이것은 Gremlin 쿼리를 통해 그래프 구조를 따라 데이터를 탐색하는 방식입니다.Traversal에는 두 가지 주요 방식이 존재합니다:🔵 OLAP Traversal전체 그래프를 대상으로 하는 탐색예: 평균 나이, 페이지랭크, 커뮤니티 분석 등대규모 데이터 분석에 적합예시 쿼리:g.V().hasLabel('user').values('age').mean() 항목 설명 목적전체 정점·간선을..