2019.08.02

'노드간 연결 표현에 적합'··· 그래프 데이터베이스 4종

Martin Heller | InfoWorld
노드들 사이의 연결을 명시적으로 표현하는 그래프 데이터베이스는 관계형 데이터베이스보다 컴퓨터, 사람, 인구 등 네트워크 분석에 더 효율적이다. 따라서 그래프 데이터베이스는 사기 감지와 추천 시스템 등의 애플리케이션에 적합하다.
 
ⓒ Getty Images Bank
 
그래프 데이터베이스는 그래프 검색, 경로 찾기, 중심성, PR(PageRank), 커뮤니티 감지 등 관계형 데이터베이스에 적합하지 않은 작업에 사용된다. 그래프 알고리즘은 OLAP 및 HTAP 등 대부분 분석 그래프 데이터베이스에서 지원되지만 네오4j 등 일부 전통적인(OLTP) 그래프 데이터베이스는 지원하지 않는다. 여기에서 살펴보는 모든 그래프 데이터베이스는 수평적 확장성이 뛰어나다. 또한 일부는 리드 레플리카, 글로벌 분산, 자동 수평 샤딩도 지원한다.

아마존 넵튠(Amazon Neptune)
아마존 넵튠은 ACID 속성과 즉각적인 일관성을 가진 완전한 관리형 트랜잭션(OLTP) 그래프 데이터베이스 서비스다. 그 중심에는 수십억 개의 관계를 저장하고 밀리초의 지연 속도로 그래프를 쿼리 처리하는데 최적화된 전용 고성능 그래프 데이터베이스가 있다. 넵튠은 인기 있는 2개의 오픈 소스 그래프 쿼리 언어인 아파치 팅커팝 그렘린(Apache TinkerPop Gremlin)과 W3C SPARQL을 지원한다.

넵튠 데이터베이스 클러스터는 3개의 가용 구역에 걸쳐 6개의 데이터 레플리카에 최대 64TB의 자동 스케일링 저장소를 지원한다. 추가 구역에서 리드 레플리카를 사용해 높은 가용성을 활성화하는 경우 더 추가할 수 있다. 넵튠은 자동으로 데이터베이스 충돌을 감지하며 캐시가 데이터베이스 프로세스로부터 독립적이고 재시작 시 잔존할 수 있어서 캐시 복구를 수행하거나 데이터베이스 캐시를 재구성할 필요 없이 일반적으로 30초 안에 재시작한다. 프라이머리 인스턴스 전체가 실패하는 경우 넵튠은 최대 15개의 리드 레플리카 중 하나로 자동 대체 작동한다. 백업은 지속해서 아마존 S3(Amazon S3)로 스트리밍된다.

인스턴스를 수정하거나 다운 타임을 방지하기 위해 원하는 크기의 인스턴스를 추가하고 데이터 사본이 마이그레이션 되고 새 인스턴스가 프라이머리로 승격한 후 종료해 넵튠 클러스터를 확장 및 축소할 수 있다. 넵튠 VM 인스턴스 크기는 db.r4.large(2개의 vCPU 및 16GB RAM)부터 db.r4.8xlarge(32개의 vCPU 및 244GB RAM)까지이므로 넵튠은 쓰기 및 읽기에 대해 각각 16x 및 256x 동적 범위를 갖는다(리드 레플리카 포함).

앤조그래프(AnzoGraph)
앤조그래프는 기업용 데이터 소스와 호환되고 RDF 및 CSV 형식의 병렬 데이터 로딩을 수행하는 거대한 병렬 인메모리 OLAP 그래프 데이터베이스다. 앤조그래프는 단일 노드 샌드박스에 배치되거나 생산을 위해 필요한 만큼의 노드와 함께 클러스터로 배치할 수 있다. 앤조그래프는 ACID 트랜잭션 속성이 있다.

앤조그래프는 W3C 표준 RDF 트리플 및 쿼드 데이터와 SPARQL 1.1 쿼리를 사용한다. 제안된 RDF* 및 SPARQL* 표준을 준수하는 RDF 스토어의 일환으로 레이블형 속성 그래프를 지원하고 그래프 알고리즘, 추론, 창 통합, BI 기능, 네임드 뷰를 지원하기 위해 SPARQL로 확장된다. 네오4j 호환 OpenCypher 언어 및 네오4j 프로토콜 볼트를 지원할 예정이다.

앤조그래프는 고성능 그래프 쿼리 실행과 수십억 및 수조 개의 트리플로의 확장성뿐만 아니라 데이터베이스를 오프라인화 할 필요가 없는 고속 병렬 데이터 로딩이 특징이다. 앤조그래프 클러스터는 센트OS, 쿠버네티스, AWS에 배치할 수 있다. 앤조그래프의 구글 클라우드 플랫폼과 애저 배치는 일반적으로 쿠버네티스 배치로 취급받는다. 앤조그래프는 합성 벤치마크에서 최대 40개 노드로의 확장성을 입증했다.

네오4j
네오4j는 OLAP 기능이 일부 탑재된 확장형 OLTP 그래프 데이터베이스다. 네오4j는 1999년에 처음 생성된 오리지널 그래프 데이터베이스였으며 지속적으로 시장의 선두주자 자리를 지켰다. 오픈 소스 네오4j 커뮤니티 에디션은 단일 서버로 제한되지만 네오4j 엔터프라이즈 에디션은 성능을 위해 클러스터에 가능한 많은 노드를 추가할 수 있다.

네오4j 고가용성 클러스터의 모든 노드에는 데이터베이스와 클러스터 관리 구성요소가 포함돼 있으며 클러스터는 로드 밸런서를 통해 액세스할 수 있다. 그래프 전체가 각 클러스터 인스턴스로 복제되며 각 HA 클러스터의 읽기 용량은 서버 인스턴스의 수에 따라 선형적으로 증가한다. 네오4j는 완전한 ACID 트랜잭션을 유지하면서 초당 수만 회의 쓰기를 수행할 수 있다.

네오4j 캐주얼 클러스터에서 읽기-쓰기 서버의 코어 클러스터가 1개 이상의 리드 레플리카 비동기식 업데이트 클러스터와 결합한다. 어느 애플리케이션이나 캐주얼 일관성이 보장되므로 하드웨어와 네트워크에 문제가 발생해도 자체적인 쓰기를 읽을 수 있도록 보장된다. 레플리카에 가까운 사용자의 쿼리 성능을 높이기 위해 캐주얼 클러스터의 리드 레플리카를 지리적으로 분산시킬 수 있다.

타이거그래프(TigerGraph)
타이거그래프는 클라우드나 구내에 배치할 수 있는 실시간 네이티브 병렬 HTAP 그래프 데이터베이스이다. ACID 속성을 지원하며 데이터 압축 기능이 내장돼 있고 클러스터 내의 그래프를 자동으로 분할해 경쟁 제품보다 빠르다고 주장한다. 데이터의 크기에 따라 확장/축소되도록 내재적으로 병렬 방식인 메시지 전달 아키텍처를 사용한다. 타이거그래프는 딥 링크 분석뿐 아니라 실시간 온라인 트랜잭션 처리와 고용량 데이터 로딩을 수행할 수 있도록 고안됐다. 타이거그래프의 "딥 링크 분석"은 결절점부터 3개 이상의 홉(Hop)에 대한 그래프를 통과해 관계를 따라 결과를 분석한다.

싸이퍼(Cypher), 그렘린(Gremlin), SPARQL 등의 여러 오픈 소스 그래프 쿼리 언어가 널리 도입되었지만 타이거그래프는 새로운 쿼리 언어인 GSQL이 있다. GSQL은 SQL과 유사한 쿼리 문법을 싸이퍼와 유사한 그래프 내비게이션에 더해 절차적 프로그래밍 및 사용자 정의 기능과 결합한다. 타이거그래프는 네오4j 데이터베이스로부터 이동하는 사람들을 위해 싸이퍼를 GSQL로 변환할 수 있다. 타이거그래프는 현재 제한적 프리뷰 상태다. 8개의 기기로 읽기-쓰기 클러스터를 구동할 때 6.7x 속도 증가를 시연했지만 리드 레플리카나 지리적 분산에 대해서는 아직 검증되지 않았다. ciokr@idg.co.kr


2019.08.02

'노드간 연결 표현에 적합'··· 그래프 데이터베이스 4종

Martin Heller | InfoWorld
노드들 사이의 연결을 명시적으로 표현하는 그래프 데이터베이스는 관계형 데이터베이스보다 컴퓨터, 사람, 인구 등 네트워크 분석에 더 효율적이다. 따라서 그래프 데이터베이스는 사기 감지와 추천 시스템 등의 애플리케이션에 적합하다.
 
ⓒ Getty Images Bank
 
그래프 데이터베이스는 그래프 검색, 경로 찾기, 중심성, PR(PageRank), 커뮤니티 감지 등 관계형 데이터베이스에 적합하지 않은 작업에 사용된다. 그래프 알고리즘은 OLAP 및 HTAP 등 대부분 분석 그래프 데이터베이스에서 지원되지만 네오4j 등 일부 전통적인(OLTP) 그래프 데이터베이스는 지원하지 않는다. 여기에서 살펴보는 모든 그래프 데이터베이스는 수평적 확장성이 뛰어나다. 또한 일부는 리드 레플리카, 글로벌 분산, 자동 수평 샤딩도 지원한다.

아마존 넵튠(Amazon Neptune)
아마존 넵튠은 ACID 속성과 즉각적인 일관성을 가진 완전한 관리형 트랜잭션(OLTP) 그래프 데이터베이스 서비스다. 그 중심에는 수십억 개의 관계를 저장하고 밀리초의 지연 속도로 그래프를 쿼리 처리하는데 최적화된 전용 고성능 그래프 데이터베이스가 있다. 넵튠은 인기 있는 2개의 오픈 소스 그래프 쿼리 언어인 아파치 팅커팝 그렘린(Apache TinkerPop Gremlin)과 W3C SPARQL을 지원한다.

넵튠 데이터베이스 클러스터는 3개의 가용 구역에 걸쳐 6개의 데이터 레플리카에 최대 64TB의 자동 스케일링 저장소를 지원한다. 추가 구역에서 리드 레플리카를 사용해 높은 가용성을 활성화하는 경우 더 추가할 수 있다. 넵튠은 자동으로 데이터베이스 충돌을 감지하며 캐시가 데이터베이스 프로세스로부터 독립적이고 재시작 시 잔존할 수 있어서 캐시 복구를 수행하거나 데이터베이스 캐시를 재구성할 필요 없이 일반적으로 30초 안에 재시작한다. 프라이머리 인스턴스 전체가 실패하는 경우 넵튠은 최대 15개의 리드 레플리카 중 하나로 자동 대체 작동한다. 백업은 지속해서 아마존 S3(Amazon S3)로 스트리밍된다.

인스턴스를 수정하거나 다운 타임을 방지하기 위해 원하는 크기의 인스턴스를 추가하고 데이터 사본이 마이그레이션 되고 새 인스턴스가 프라이머리로 승격한 후 종료해 넵튠 클러스터를 확장 및 축소할 수 있다. 넵튠 VM 인스턴스 크기는 db.r4.large(2개의 vCPU 및 16GB RAM)부터 db.r4.8xlarge(32개의 vCPU 및 244GB RAM)까지이므로 넵튠은 쓰기 및 읽기에 대해 각각 16x 및 256x 동적 범위를 갖는다(리드 레플리카 포함).

앤조그래프(AnzoGraph)
앤조그래프는 기업용 데이터 소스와 호환되고 RDF 및 CSV 형식의 병렬 데이터 로딩을 수행하는 거대한 병렬 인메모리 OLAP 그래프 데이터베이스다. 앤조그래프는 단일 노드 샌드박스에 배치되거나 생산을 위해 필요한 만큼의 노드와 함께 클러스터로 배치할 수 있다. 앤조그래프는 ACID 트랜잭션 속성이 있다.

앤조그래프는 W3C 표준 RDF 트리플 및 쿼드 데이터와 SPARQL 1.1 쿼리를 사용한다. 제안된 RDF* 및 SPARQL* 표준을 준수하는 RDF 스토어의 일환으로 레이블형 속성 그래프를 지원하고 그래프 알고리즘, 추론, 창 통합, BI 기능, 네임드 뷰를 지원하기 위해 SPARQL로 확장된다. 네오4j 호환 OpenCypher 언어 및 네오4j 프로토콜 볼트를 지원할 예정이다.

앤조그래프는 고성능 그래프 쿼리 실행과 수십억 및 수조 개의 트리플로의 확장성뿐만 아니라 데이터베이스를 오프라인화 할 필요가 없는 고속 병렬 데이터 로딩이 특징이다. 앤조그래프 클러스터는 센트OS, 쿠버네티스, AWS에 배치할 수 있다. 앤조그래프의 구글 클라우드 플랫폼과 애저 배치는 일반적으로 쿠버네티스 배치로 취급받는다. 앤조그래프는 합성 벤치마크에서 최대 40개 노드로의 확장성을 입증했다.

네오4j
네오4j는 OLAP 기능이 일부 탑재된 확장형 OLTP 그래프 데이터베이스다. 네오4j는 1999년에 처음 생성된 오리지널 그래프 데이터베이스였으며 지속적으로 시장의 선두주자 자리를 지켰다. 오픈 소스 네오4j 커뮤니티 에디션은 단일 서버로 제한되지만 네오4j 엔터프라이즈 에디션은 성능을 위해 클러스터에 가능한 많은 노드를 추가할 수 있다.

네오4j 고가용성 클러스터의 모든 노드에는 데이터베이스와 클러스터 관리 구성요소가 포함돼 있으며 클러스터는 로드 밸런서를 통해 액세스할 수 있다. 그래프 전체가 각 클러스터 인스턴스로 복제되며 각 HA 클러스터의 읽기 용량은 서버 인스턴스의 수에 따라 선형적으로 증가한다. 네오4j는 완전한 ACID 트랜잭션을 유지하면서 초당 수만 회의 쓰기를 수행할 수 있다.

네오4j 캐주얼 클러스터에서 읽기-쓰기 서버의 코어 클러스터가 1개 이상의 리드 레플리카 비동기식 업데이트 클러스터와 결합한다. 어느 애플리케이션이나 캐주얼 일관성이 보장되므로 하드웨어와 네트워크에 문제가 발생해도 자체적인 쓰기를 읽을 수 있도록 보장된다. 레플리카에 가까운 사용자의 쿼리 성능을 높이기 위해 캐주얼 클러스터의 리드 레플리카를 지리적으로 분산시킬 수 있다.

타이거그래프(TigerGraph)
타이거그래프는 클라우드나 구내에 배치할 수 있는 실시간 네이티브 병렬 HTAP 그래프 데이터베이스이다. ACID 속성을 지원하며 데이터 압축 기능이 내장돼 있고 클러스터 내의 그래프를 자동으로 분할해 경쟁 제품보다 빠르다고 주장한다. 데이터의 크기에 따라 확장/축소되도록 내재적으로 병렬 방식인 메시지 전달 아키텍처를 사용한다. 타이거그래프는 딥 링크 분석뿐 아니라 실시간 온라인 트랜잭션 처리와 고용량 데이터 로딩을 수행할 수 있도록 고안됐다. 타이거그래프의 "딥 링크 분석"은 결절점부터 3개 이상의 홉(Hop)에 대한 그래프를 통과해 관계를 따라 결과를 분석한다.

싸이퍼(Cypher), 그렘린(Gremlin), SPARQL 등의 여러 오픈 소스 그래프 쿼리 언어가 널리 도입되었지만 타이거그래프는 새로운 쿼리 언어인 GSQL이 있다. GSQL은 SQL과 유사한 쿼리 문법을 싸이퍼와 유사한 그래프 내비게이션에 더해 절차적 프로그래밍 및 사용자 정의 기능과 결합한다. 타이거그래프는 네오4j 데이터베이스로부터 이동하는 사람들을 위해 싸이퍼를 GSQL로 변환할 수 있다. 타이거그래프는 현재 제한적 프리뷰 상태다. 8개의 기기로 읽기-쓰기 클러스터를 구동할 때 6.7x 속도 증가를 시연했지만 리드 레플리카나 지리적 분산에 대해서는 아직 검증되지 않았다. ciokr@idg.co.kr


X