본문 바로가기

전체 글

(37)
JanusGraph 기초 개념 ⑤ / 스토리지 백엔드 구성과 아키텍처 설계 JanusGraph는 단순한 그래프 저장소가 아니며, 복잡한 실시간 시스템, 분산 환경, 대규모 분석 시스템에서도 유연하게 적용될 수 있는 구조를 갖추고 있습니다. 이번 편에서는 JanusGraph의 스토리지 백엔드(Storage Backend)와 이를 활용한 실무 아키텍처 설계를 알아보겠습니다. / 보다가 지루하시면 이번 장은 넘겨도 될 듯 합니다. ✅ 1. JanusGraph는 스토리지 계층을 분리한다JanusGraph는 자체적으로 데이터를 저장하지 않습니다.대신, 외부 스토리지 시스템을 백엔드로 구성하여 저장합니다.📦 즉, JanusGraph는 그래프 처리 레이어이고,데이터를 저장·관리하는 역할은 스토리지 백엔드에 위임합니다. ✅ 2. 지원되는 주요 백엔드 시스템 스토리지 백엔드 설명 및 특징 ..
JanusGraph 기초 개념 ④ / Hadoop과 Spark 지금까지 JanusGraph의 구조와 탐색 방식에 대해 살펴봤다면,이번에는 대규모 그래프 데이터에서 어떻게 분석을 수행하는지 알아보도록 하겠습니다.JanusGraph는 단순히 데이터를 저장하는 수준을 넘어, Hadoop·Spark와 통합하여 수백만 개 정점의 그래프 분석도 가능하도록 설계되어 있습니다. ✅ 왜 대규모 분석이 필요한가?그래프 데이터는 작을 땐 눈으로도 확인할 수 있지만, 규모가 커지면 문제가 달라집니다:정점: 1,000,000개 이상간선: 수백만 개복잡한 연산: 예) 평균 나이, 커뮤니티 탐색, 추천 시스템, 최단 경로이때는 단일 머신으로 처리할 수 없고, 분산 처리 프레임워크의 도움이 필요합니다. ✅ JanusGraph + Hadoop/Spark 아키텍처JanusGraph는 내부적으로 T..
JanusGraph 기초 개념 ③ / Gremlin 쿼리 언어로 그래프 탐색(+Cyper와 비교) ✅ Gremlin이란?Gremlin은 Apache TinkerPop에서 제공하는 그래프 순회 기반 쿼리 언어입니다.관계형 DB의 SQL처럼, 그래프 DB에서도 데이터를 찾고, 이어가고, 분석할 수 있도록 도와주는 언어입니다.🧠 핵심 철학: “그래프를 따라 걸으며 생각하는 방식”→ 정점부터 출발해서 간선을 따라 이동하며 데이터를 탐색✅ 기본 구문 구조Gremlin의 쿼리는 보통 다음과 같이 시작합니다:g.V() → 정점(Vertex)을 의미g.E() → 간선(Edge)을 의미 여기에 .has(), .out(), .in() 등을 붙여 탐색 방향과 조건을 지정합니다. 모든 정점 가져오기V() (예: g.V())모든 간선 가져오기E() (예: g.E())개수 세기count()조건 필터링has() – SQL의..
JanusGraph 기초 개념 ② / 다양한 라벨과 정점/간선 모델링 방법 다양한 라벨과 정점/간선 모델링 방법이전 편에서는 그래프 데이터베이스의 가장 기초가 되는 정점(Vertex), 간선(Edge), 속성(Property), **라벨(Label)**에 대해 알아보았습니다. 이번에는 한 단계 더 나아가서, 여러 개의 정점 유형과 그 사이의 관계를 어떻게 표현하는지를 설명드립니다.✅ 1. 여러 유형의 정점을 하나의 그래프에 담을 수 있다관계형 DB에서는 여러 테이블을 만들어야 할 정보를, 그래프 DB에서는 한 그래프 안에서 라벨로 구분할 수 있습니다.📊 예시: 직원과 부서 테이블관계형 DB 구조는 다음과 같습니다:Employee Tableemp_idnamedept_id1Marko101 Department Tabledept_idname101HR 🔁 이를 그래프 DB로 바꾸면:..
JanusGraph 기초 개념 ① / 정점(Vertex), 간선(Edge), 속성(Property), 라벨(Label) ✅ 그래프의 기본 구성 요소📍 정점(Vertex) = 노드(Node)그래프에서 데이터의 주체(엔터티)를 의미합니다.예: 사람(Person), 회사(Company), 제품(Product) 등예시에서 "Marko", "Josh"와 같은 개인은 정점입니다.📍 간선(Edge) = 관계(Relation)정점 간의 관계를 나타냅니다.방향성이 있을 수도 있고 없을 수도 있습니다.예: “Marko → Josh” 관계는 “Knows”라는 간선을 통해 표현됩니다.📍 속성(Property)정점이나 간선에 부여되는 부가 정보예: 이름(name), 나이(age), 입사일(joined_date) 등이 속성으로 들어갈 수 있습니다.✅ 속성과 관계형 데이터베이스의 비교관계형 데이터베이스(RDB)의 테이블과 비교해보면 이해가 쉬..
JanusGraph의 핵심 이점 ③ / 실무 적용 중심으로 오픈소스 기반과 유연한 저장소 구조앞선 글에서는 JanusGraph의 대규모 처리 성능과 분석 기능, 그리고 쿼리 언어의 강점을 다뤘습니다.이번에는 실제 시스템 구축 시 꼭 고려해야 할 라이선스, 비용, 저장소 유연성 관점의 이점을 소개합니다.✅ 5. Apache 2 라이선스 기반의 오픈소스JanusGraph는 Apache License 2.0에 따라 배포되는 오픈소스입니다.💡 이게 왜 중요할까요?✅ 상용 제품처럼 라이선스 비용을 낼 필요 없음✅ 누구나 자유롭게 수정, 배포, 커스터마이징 가능✅ 기업 환경에서도 걱정 없이 사용 가능 (상업적 이용 허용)🔓 즉, 뛰어난 기능을 갖춘 그래프 DB를 비용 부담 없이 자유롭게 사용할 수 있습니다.✅ 6. 다양한 저장 백엔드와 유연한 구성JanusGraph는 ..
JanusGraph의 핵심 이점 ① / 트랜잭션 처리 중심으로 JanusGraph의 핵심 이점 ①대규모 그래프와 동시 트랜잭션 처리JanusGraph는 오픈소스 분산 그래프 데이터베이스로, 복잡한 데이터 관계를 효과적으로 저장하고 분석할 수 있는 강력한 기능들을 제공합니다. 이번 글에서는 JanusGraph의 대표적인 장점들을 하나씩 살펴봅니다.✅ 1. 매우 큰 그래프를 지원하는 확장성JanusGraph는 클러스터 기반으로 운영되며, 클러스터에 포함된 머신 수에 따라 처리할 수 있는 그래프의 크기 역시 확장됩니다.정점(Vertex)과 간선(Edge)의 수가 수천만 개에 이르는 초대형 그래프도 무리 없이 지원예를 들어, 정점이 60개, 간선이 60개 이상인 복잡한 그래프도 분산 구조를 통해 안정적으로 저장 및 처리 가능💡 큰 그래프는 하나의 서버에서는 처리하기 어렵..
스마트폰ㆍ워치 기반 바이오 마커 정리(맥박, 위치 정보) 목차2. 라이프로그 데이터 수집 기술 개발3. 데이터 통합 및 분석 시스템 구축    1. 맥박        - 측정방법        - 바이오마커 활용방안        - 주요 활용 분야        - IMU 방법     2. 동공(시선)        - 측정방법        - 바이오마커 활용방안        - 주요 활용 분야        - IMU 방법     3. 위치(GPS)        - 측정방법        - 바이오마커 활용방안        - 주요 활용 분야        - IMU 방법 4. 바이오마커 통합 방안         - 통합 시각화         - 딥러닝(멀티모달)         - 머신러닝  참고 논문 목록:Ferrás, C. (2018). La utilidad de ..