DOI QR코드

DOI QR Code

Approximate Top-k Subgraph Matching Scheme Considering Data Reuse in Large Graph Stream Environments

대용량 그래프 스트림 환경에서 데이터 재사용을 고려한 근사 Top-k 서브 그래프 매칭 기법

  • 최도진 (충북대학교 정보통신공학과 박사후연구원) ;
  • 복경수 (원광대학교 SW 융합학과 조교수) ;
  • 유재수 (충북대학교 정보통신공학과 정교수)
  • Received : 2020.06.15
  • Accepted : 2020.07.15
  • Published : 2020.08.28

Abstract

With the development of social network services, graph structures have been utilized to represent relationships among objects in various applications. Recently, a demand of subgraph matching in real-time graph streams has been increased. Therefore, an efficient approximate Top-k subgraph matching scheme for low latency in real-time graph streams is required. In this paper, we propose an approximate Top-k subgraph matching scheme considering data reuse in graph stream environments. The proposed scheme utilizes the distributed stream processing platform, called Storm to handle a large amount of stream data. We also utilize an existing data reuse scheme to decrease stream processing costs. We propose a distance based summary indexing technique to generate Top-k subgraph matching results. The proposed summary indexing technique costs very low since it only stores distances among vertices that are selected in advance. Finally, we provide k subgraph matching results to users by performing an approximate Top-k matching on the summary indexing. In order to show the superiority of the proposed scheme, we conduct various performance evaluations in diverse real world datasets.

소셜 네트워크 서비스의 발전과 함께 다양한 응용에서 객체 간의 관계를 표현하기 위한 그래프 자료구조가 자주 활용되고 있다. 최근에는 실시간 그래프 스트림에서 서브 그래프 매칭의 요구가 늘어나고 있다. 따라서 실시간 그래프 스트림에서 높은 응답성을 위한 효율적인 근사 Top-k 매칭 기술이 필요하다. 본 논문에서는 그래프 스트림 환경에서 데이터 재사용을 고려한 근사 Top-k 서브 그래프 매칭 기법을 제안한다. 제안하는 기법은 대용량 스트림을 효율적으로 처리하기 위해서 기존 분산 스트림 처리 플랫폼인 스톰을 활용하고 스트림 처리 비용을 감소시키기 위한 기존 데이터 재사용 방법을 활용한다. Top-k 결과 생성을 위해서 거리 기반의 요약 색인 기법을 제안한다. 제안하는 요약 색인은 사전에 선택된 정점 간의 거리 값만을 저장하기 때문에 색인의 부하가 적다. 제안하는 요약 색인에서의 근사 Top-k를 수행하여 사용자에게 근사한 k개의 결과를 제공한다. 제안하는 기법의 우수성을 입증하기 위해 다양한 실세계 그래프 데이터 집합에서의 성능 평가를 수행한다.

Keywords

I. 서론

그래프는 객체를 나타내는 정점과 객체 간의 관계를 표현하는 간선, 정점 및 간선의 특징 및 특성을 나타내는 속성 혹은 레이블의 집합으로 이루어진다. 기존의 응용들은 통찰력 있는 정보를 얻기 위해 그래프 데이터 상에서 관계 정보 기반의 그래프 분석 기법들을 활용하고 있다[1-5].

서브 그래프 매칭은 사용자가 정의한 질의 그래프에 대해 동일한 그래프가 질의 대상 그래프에 존재하는지를 찾는 기법이다[6-8]. 보안 분야에서는 네트워크 패킷 정보를 그래프로 모델링하고 모델링 된 그래프 정보를 활용하여 악의적인 네트워크 공격을 막는데 서브 그래프 매칭 기법을 활용하고 있다. 단일 호스트와 서버 간에 데이터 흐름을 그래프로 모델링하고 두 정점 간의 간선이 대량으로 발생하거나 간선의 가중치가 다른 간선과 비교하여 비정상적인 값이 나타난다면, 이를 악의적 호스트로 판별할 수 있다. 악의적인 호스트를 막는 응용은 실시간으로 판별해야 의미가 있기 때문에, 실시간 그래프 스트림에서의 서브 그래프 매칭을 수행해야 한다. 그래프 스트림 환경은 지속적으로 간선 및 정점이 삭제되거나 추가되어 그래프 데이터가 끊임없이 변경된다. 이러한 환경에서 서브 그래프 매칭을 수행하기 위해서는 그래프 변화에 맞추어 결과를 생성할 수 있는 효율적인 처리 방법이 요구된다.

그래프 데이터에서는 속성 그래프인지 방향 그래프인지에 따라 다른 특징을 보일 수 있고, 이러한 데이터 유형에 따라 질의 유형 또한 다양할 수 있다[9]. 기존 연구들은 그래프 특성들을 사전에 정의한 환경에서만 수행 가능한 서브 그래프 매칭 기법을 제안하고 있다[8][10-15]. 또한, 그래프 매칭의 계산 복잡도를 해결하기 위해 근사 질의 처리 방법에 대한 연구도 수행 되고 있다[9][11]. 근사 질의 처리 방법이란 정확한 서브 그래프 매칭 결과를 생성하지 않고, 질의 그래프와 유사하게 나오는 결과들을 제공하는 것을 의미한다. 그러나 기존 근사 질의 처리 방법에서는 실시간 스트림 처리를 위한 고려가 이루어지지 않고 있다.

본 논문에서는 그래프 스트림 환경에서 근사 Top-k 서브 그래프 매칭 방법을 제안한다. 제안하는 기법은 다양한 질의 유형의 지원을 위해 실제결과와 근사한 결과를 생성하는 근사 서브 그래프 매칭 기법과 유사도 값 기반 Top-k 결과 생성 방법을 혼합하여 실시간 그래프 스트림에서 다양한 질의 유형을 지원한다. 제안하는 기법은 실시간 스트림 처리를 위해 분산 스트림 처리 플랫폼인 스톰(Storm)을 활용한다[16]. 스톰은 실시간 스트림 처리를 위해서 스트림 입력 부인 다수의 스파웃(Spout)과 스트림을 튜플 단위로 처리하는 다수의 볼트(Bolt)를 토폴로지 형태로 구성한다. 질의가 지속적으로 입력되며, 새로운 질의가 등록되면 분산 처리 및 색인 재사용을 위해 질의 분할을 수행한다. 분할된 질의를 기반으로 색인 테이블을 구축하고, 색인 테이블 기반의 근사 Top-k 서브 그래프 매칭을 수행한다. 데이터 재사용을 위해서 분할된 색인 테이블 재사용을 고려하고, 재사용을 통해 서버의 통신량을 감소시킨다. 그래프 스트림 환경에서 근사 Top-k 서브 그래프 매칭을 제안함으로써, 사용자에게 응답성 높은 결과 생성과 실세계 그래프 스트림 환경에서 적용 가능함을 입증한다.

본 논문의 구성은 다음과 같다. 2절에 기존 기법들을 설명한다. 3절에서는 제안하는 기법의 특징과 처리 방법을 기술하고 4절에서는 제안하는 기법의 우수성을 입증하기 위해 성능평가를 수행한다. 마지막으로 5절에서 본 논문의 결론과 향후 연구를 제시한다.

II. 관련 연구

서브 그래프 매칭을 수행하기 위해 기존 연구들은 그래프 탐색 기법과 조인 기반 매칭 기법으로 분류된다. 그래프 탐색 기반의 서브 그래프 매칭은 질의 그래프에서 한 정점을 선택하고, 데이터 그래프에서 해당 정점과 일치하는 정점을 기준으로 그래프 순회를 시작하여 질의 그래프와 일치하는지를 찾는 방법이다[6][7][9-12]. 그래프 순회를 활용하기 때문에 별도의 색인이 필요하지 않고, 최종 매칭을 수행하기 위한 중간 결과가 많이 생성되지 않는다. 그러나 시작 정점을 지정하기 위한 효율적인 비용 모델이 필요하고, 잘못된 시작 정점 선택에 의해서 불필요한 탐색이 수행되는 경우가 빈번히 발생한다.

조인 기반의 서브 그래프 매칭 기법은 그래프를 간선 단위로 분할한 후 동일한 간선들과의 조인을 수행하여 서브 그래프 매칭 결과를 생성하는 방법이다[8][13-15]. 탐색 기법보다 조인 비용이 많이 발생하며 조인을 수행하기 위한 별도의 색인이 필요하다. 또한, 조인의 중간 결과를 저장하기 위한 스토리지 비용이 상대적으로 높다.

[8]에서는 경로 기반 색인을 활용한 효율적인 Top-k 서브 그래프 매칭 기법을 제안한다. 효율적인 Top-k 연산을 수행하기 위해서 한 간선에 여러 개의 가중치 값 중 가장 큰 값을 저장하여 그래프 압축을 수행한다. 그런 후 이웃 정점의 레이블 정보를 바탕으로 경로 기반 색인을 구축하여 후보군 필터링 및 Top-k 매칭을 수행한다. 압축을 통해 데이터의 크기를 감소시키지만, 모든 데이터에 대해 경로 정보를 색인으로 저장해야만 하는 문제점이 존재한다. 추가적으로, 정확한 매칭 결과를 생성하기 때문에 많은 질의 처리 비용이 발생한다.

[10]에서는 스트림 환경에서의 Top-k 조인 기반 서브 그래프 매칭 기법을 제안한다. 그래프 스트림 환경에서의 서브 그래프 매칭은 높은 비용이 요구되기 때문에 그래프, 정점, 간선 기반의 색인의 필터링 기법을 제시하여 매칭에 활용한다. 필터링을 통해 생성된 후보 집합에서 최초의 그래프 매칭을 수행하고, 변경되는 그래프 스트림에 따라 서브 그래프 매칭을 수행한다. 모든 그래프 데이터에 대한 색인을 유지해야 하고, 질의의 유사성과 관계없이 모든 질의에 대해서 각기 다른 결과를 유지하고 있어, 유사 질의가 자주 입력이 되는 환경에서는 많은 부하를 발생시킬 수 있다.

제안하는 기법은 색인 과부하 문제를 해결하기 위해서 질의와 연관된 데이터만 색인하는 방법을 제안한다. 또한, 유사 질의에 대한 색인 공유 방법을 제안하여 유사 질의에 대한 문제를 해결한다. 기존 연구에서는 지원하지 못하는 다양한 질의 유형을 지원하기 위한 색인 구조를 제안한다. 마지막으로, 질의 속도 및 질의 결과의 다양성을 위한 거리 기반 요약 색인을 통해 질의 결과 필터링, 추가 Top-k 결과 생성을 수행한다.

III. 제안하는 근사 Top-k 서브 그래프 매칭 기법

1. 전체 처리 과정

본 논문에서는 실시간 그래프 스트림에서 다중 속성을 지원하는 근사 Top-k 서브 그래프 매칭 결과를 제공한다. 실시간 그래프 스트림의 질의 처리 속도 향상을 위해서 근사 매칭 기법을 이용하여 정확한 결과가 아닌 근사한 결과 k 개를 제공한다. 근사 결과 생성을 위해 그래프의 구조적 차이를 계산하기 위한 요약 색인 기법과 속성 차이를 저장하기 위한 색인 구조를 제안한다. 데이터 재사용을 위한 색인 정보 공유 방법은 기존 연구[17]의 확장을 통해 해결한다.

[그림 1]은 근사 Top-k 서브 그래프 매칭 기법의 전체 처리 과정을 나타낸다. 분산 스트림 처리를 수행하기 위해서 분산 스트림 처리 플랫폼인 스톰[16]을 활용한다. 제안하는 근사 Top-k 서브 그래프 매칭 기법은 본 연구팀의 기존 연구[17]를 기반으로 확장한 형태로서, 기본적인 마스터/슬레이브 구조는 동일하고, 근사 Top-k 질의를 처리하기 위해서 몇 가지 모듈이 추가되었다. 그래프 스트림이 입력되면, 마스터 볼트를 통해 적절한 슬레이브 볼트에 스트림이 분배되고, 각 슬레이브 볼트는 제안하는 거리 기반의 요약 색인 기법인 D_List를 관리한다. 스트림이 입력되면, 슬레이브 볼트에서는 질의 정보와 간선 정보만을 이용한 부분 서브 그래프 매칭을 수행하여 부분 매칭 결과를 생성한다. 부분 매칭 결과는 병합 볼트로 전송되고 병합 볼트에서는 최종 서브 그래프 매칭을 수행하여 Top-k 결과를 생성한다. 생성된 결과는 출력 볼트를 통해 사용자에게 제공된다. 만약, Top-k에 포함될 결과의 품질이나, 개수가 부족하다면 D_List의 간결화 작업을 수행한다. 간결화란 필요한 정보들을 색인 D_List에 추가하거나, 불필요한 정보를 D_List에서 삭제하는 작업을 의미한다. 간결화 작업은 간결화 관리자(Compaction Manager)에 의해 수행되고, 간결화 작업 후에 새로운 서브 그래프 매칭 결과가 생성될 수 있으며, 해당 결과는 다시 Top-k 및 후보군 집합에 포함된다.

CCTHCV_2020_v20n8_42_f0001.png 이미지

그림 1. 근사 Top-k 서브 그래프 매칭 처리 과정

[그림 2]는 질의 입력 예제를 나타낸다. 본 논문에서는 정점의 레이블 차이뿐만 아니라 간선의 레이블 차이, 간선 가중치 차이를 고려한다. 추가적으로, 간선 차이에 대한 제약 조건(+, -, =, *)을 고려한다. “+”, “-”, “=” 는 간선의 가중치 차이가 크거나, 이하이거나 같음을 나타낸다. 아무 값이나 상관없는 와일드카드(*) 조건을 제공함으로써, 질의 다양성을 제공한다. [그림 2]에서 두 질의 (Q1, Q2)는 간선 A-C를 제외하고는 동일한 형태의 질의이다. 이러한 질의에 대한 유사성 정보를 색인에서 공유하게 되면, A-B-D-E 부분 그래프 확인 (Q2 입장에서는 서브 그래프 매칭)을 한 번만 수행하게 되면, 두 질의에 대한 결과를 한 번에 생성할 수 있다.

CCTHCV_2020_v20n8_42_f0002.png 이미지

그림 2. 질의 입력 예제

2. 거리기반의 요약 색인

다중 속성 기반의 효율적인 근사 Top-k 서브 그래프 매칭을 수행하기 위해서 거리기반의 요약 색인 기법을 제안한다. 거리 기반의 요약 색인은 간선 차이를 저장하기 위한 차이를 나타내는 거리 값과, 색인을 수행하기 위해서 선정된 핵심 정점과 조인 정점을 활용하여, 두 정점에서의 다른 정점까지의 실제 그래프 경로 값을 저장하여 구조적 차이를 고려하게 된다. 모든 정점간의 경로 값을 저장하지 않기 때문에 요약 정보라고 지칭하며, 요약 정보만으로 서브 그래프 매칭을 수행하게 되면, 근사한 결과만을 생성한다. 색인 방법이 단순하여 실시간 처리에는 더욱 효율적일 수 있다.

[그림 3]은 요약 색인 D_List 생성 예제를 나타낸다. 간선의 유형 및 가중치가 부여된 그래프 스트림 G1이 입력된 상황이다. 각 스트림은 [V_ID1, V_ID2, (E_Lab, E_W), V_Lab1, V_Lab2, Time] 형태로 입력된다. V_ID는 정점의 고유 번호를 의미하고, V_Lab은 정점의 레이블을 의미한다. Time은 간선이 입력된 시간을 나타내고, E_Lab, E_W는 간선의 레이블, 간선의 가중치 값을 나타내고, 간선의 속성을 의미한다.

CCTHCV_2020_v20n8_42_f0003.png 이미지

그림 3. D_List 생성 예제

D_List 색인은 모든 정점들부터 핵심 정점 및 조인 정점까지의 그래프 경로 값을 저장하는 것이다. 이때, 간선의 속성은 따로 저장하지 않는다. 핵심 정점 및 조인 정점 선정 기준은 기존 연구를 활용하는데, [그림 2]와 같은 질의가 입력이 된다면 핵심 정점은 레이블이 B인 정점이 되고, 조인 정점은 레이블이 A인 정점이 된다. 예를 들어, 가장 첫 간선 스트림 <1, 2, (b, 0.3), A, B, t1>은 A에서 B로 가는 거리 1, B에서 A로 가는 거리 1 값을 각 정점 별로 저장하는 것이다. D_List의 Node에 저장되는 값은 각 정점의 아이디 값이다. 두 번째 간선 <4, 2, (a, 0.2), A, B, t2>은 2번 정점은 기존 D_List에 저장되어있는 값으로, 여기에 4번 정점으로 가는 경로 값 1만을 추가로 저장한다. 그리고 4번 정점은 기존의 2번 정점으로 가는 경로 값 1과 더불어서 2번 정점을 거쳐 1번 정점으로 가는 경로가 존재하여서, 해당 경로 값을 1 더한 1번 정점까지의 경로 값 2를 추가로 저장한다. <2, 3, (c, 0.4), B, E, t2> 간선도 마찬가지의 방법으로 E3에서 B2까지의 경로 값과, B2를 거쳐 A1, A4 까지의 경로 값 2를 추가 저장한다. 마지막 <5, 6, (b, 0.7), B, D, t3> 간선은 D6에서 B5로 가는 경로 값만 D6에 저장한다. B5 입장에서는 핵심 정점이나 조인 정점으로 가는 경로가 없기 때문에 아무런 값도 저장하지 않는다. 경로 값을 저장함으로써, 구조적인 차이 값을 대략적으로 계산할 수 있으며, 모든 정점 간의 경로 값이 저장되지 않기 때문에 요약 색인이라고 할 수 있다.

[그림 4]는 추후 입력되는 스트림에 의해서 변경되는 D_List 예제이다. 새롭게 삽입되는 스트림은 위와 같은 동일한 정책으로 D_List에 추가한다. 정점의 삭제는 다음과 같이 처리한다. 먼저, D_List의 정점 아이디에 삭제됨을 표기한다(A1(R)). 새로운 정점의 추가에 의해 삭제될 정점을 도착지 값으로 가지는 경우, 삭제된 정점은 해당 D_List에 경로 값이 없다는 표기를 한다. 예를 들어, <2, 6, (e, 0.1), B, D, t4> 간선이 입력되면 D6 관점에서 B2의 경로 값이 추가되고, B2를 거쳐서 A1과 A4까지의 경로 값이 2인 리스트를 추가하게 되는데, 이때 A1 정점은 삭제될 정점이기 때문에 B2 정점의 D_List에 A1은 삭제되었다는 의미로 (A1, -)로 표기하고 D6의 목록에는 추가하지 않는다. A4의 A1 경로 리스트도 마찬가지로 <4, 7, (d, 0.4), A, C, t4> 간선에 의해 변경된 상황이다. 삭제를 간략하게 표기하고, 추후에 간결화 단계에서 해당 정보를 실제로 제거하는 작업을 수행한다. 삭제될 정점에 대해서 영향을 받는 부분만 확인하기 때문에 모든 D_List를 변경하지 않는다. 실시간 스트림 처리에서는 색인 정보 수정을 최소화하는 것이 적합하다.

CCTHCV_2020_v20n8_42_f0004.png 이미지

그림 4. D_List 변경 예제

다중 속성 기반의 효율적인 Top-k 매칭 결과 생성을 위해서는 빠른 질의 처리 작업이 필요하다. 구조적인 차이를 계산하는 단계는 비교 연산의 비용이 매우 높기 때문에, 초기에는 비교 연산의 비용이 적은 간선의 특징 차이만을 활용하여 매칭 결과를 생성한다. 간선의 차이를 비교하기 위해서는 색인에 차이 값을 저장하는 영역이 필요하기 때문에 기존 연구의 색인 방법[17]을 수정해야만 한다. 기존 색인 방법은 본 연구팀의 기존 연구에서 제안한 핵심 정점 기반의 분산 색인 기법을 의미한다.

[그림 5]는 간선의 비교 연산을 수행하기 위해 수정된 핵심 정점 테이블 및 색인 테이블 내용이다. 핵심 정점 테이블에는 간선의 질의(제약 조건, 간선의 레이블 및 가중치 차이)를 저장하는 제약 조건 행(Constraints)이 추가되었다. 해당 내용은 간선별로 질의로 입력된 정보를 저장한다. 예를 들어 0번 핵심 정점 테이블에 제약 조건은 BD 간선에서 간선의 유형 및 간선의 가중치 값은 아무 값이나 상관없음을 와일드카드(*)로 표현한 것이고, BE 간선은 레이블 값이 b이며, 가중치 값은 0.2 이상이어야 함을 나타낸다(b, 0.2 +). 가중치 값이 미만 (-)이거나 동일한 값 (=)을 제약 조건으로 사용할 수 있다. 간선 색인 테이블(ET)은 핵심 정점 테이블의 제약 조건과 마찬가지로 간선 정보에 해당 값을 같이 저장하고, 추가적으로 최소 거리 값 (MinDist)을 저장한다. 그리고 각 간선을 색인할 때는 간선의 레이블 차이와 가중치 차이를 같이 저장한다. BD 간선 (정점 아이디 : 5, 6) 간선은 제약 조건이 없기 때문에 거리 값이 (0, 0)이고, BE 간선 (정점 아이디 : 2, 3) 간선은 [그림 2]와 같이 레이블이 c이고 가중치 값이 0.4 이기 때문에 (1, 0.2)를 저장한다. 이렇게 별도로 저장하는 이유는 사용자가 어느 값을 더 중요시할지를 정할 수 있기 위함이다. 최소 거리 값 MinDist는 부분 서브 그래프 매칭이 생성되었을 때 최소로 구성될 수 있는 편집 거리 값을 의미한다. 그림에서는 부분 서브 그래프 매칭은 성립되지 않지만(D-B-E로 이루어진 부분 그래프를 만들 수 없기 때문에), (2, 3) 간선의 편집 거리 값이 1.2이기 때문에 최소 거리 값이 1.2인 것을 확인 할 수 있다. 마지막으로 부분 서브 그래프 색인 테이블에는 실제 부분 서브 그래프가 생성되었을 때의 거리 값(Dist)을 추가로 저장한다. 이러한 거리 값 정보는 Top-k의 결과 생성에 활용된다.

CCTHCV_2020_v20n8_42_f0005.png 이미지

그림 5. 기존 연구[17]에서 수정된 색인 테이블

[그림 6]은 간선 차이를 활용한 초기 서브 그래프 매칭 예제이다. 각 슬레이브 볼트에서는 부분 서브 그래프 매칭을 수행하기 전에 간선 색인 테이블(ETn)을 확인하며 사용자가 지정한 임계 값 보다 높은 MinDist를 가진다면, 부분 서브 그래프 매칭을 수행하지 않는다. 병합 볼트(결과를 최종적으로 통합하는 역할)에서도 마찬가지로 사용자가 지정한 임계 값을 활용하는데, 부분 서브 그래프 결과들의 Dist 합이 임계 값 보다 높다면 최종 서브 그래프 매칭을 수행하지 않는다. 예를 들어, [그림 5]와 같이 임계 값이 1.4라면 간선 색인 테이블의 MinDist는 임계 값보다 낮기 때문에 부분 서브 그래프 매칭을 수행하여 결과를 생성하고 최종 병합 단계에서 두 부분 서브 그래프의 거리 합이 임계 값 보다 높기 때문에(1.2+0.3>1.4) 최종 서브 그래프 매칭을 수행하지 않는다. 이는 부분 결과들을 병합 해 보더라도 사용자가 원하는 임계 값을 충족시킬 수 없기 때문이다.

CCTHCV_2020_v20n8_42_f0006.png 이미지

그림 6. 초기 서브 그래프 매칭

만약 결과 집합이 k개를 만족하지 않는다면 병합 볼트는 Dist 합이 낮은 순서대로 병합을 수행하여 결과를 생성하여 사용자에게 제공한다. 따라서 제안하는 기법은 사용자가 원하는 k 개의 결과 개수를 최대한 만족시킨다. 추후에 더욱 낮은 거리 값을 가지는 매칭 결과가 생성되면 기존에 생성된 결과는 후보군 집합으로 분류되어 관리된다. 서브 그래프 매칭 방법은 기존 연구에서 제안한 방법과 동일한 방식으로 수행한다.

3. 근사 Top-k 서브 그래프 매칭

근사 Top-k 서브 그래프 매칭은 생성된 간선 색인 테이블을 활용한다. 스트림 처리의 효율성을 위해서 간선 기반의 서브 그래프 매칭을 수행하고, 결과가 k개를 만족하지 않는다면 D_List 기반의 서브 그래프 매칭을 수행한다. 간선 기반의 매칭은 기존 연구[17]에서 설명한 방법과 같이 수행되며 구조 차이를 고려한 매칭은 D_List를 활용한다.

[그림 7]은 D_List 기반의 서브 그래프 매칭 예제이다. 조인 가능한 모든 정점에 대해서 D_List 기반의 서브 그래프 매칭을 수행한다. 조인 가능한 정점을 선택하는 방법은 핵심/조인 정점인 경우와 아닌 경우로 나뉜다. 탐색 대상이 핵심/조인 정점인 경우, 다른 조인(조인 정점이라면 핵심) 정점 간의 거리가 하나라도 있는 경우 조인 가능 대상으로 선정된다. 탐색 대상이 핵심/조인 정점이 아닌 경우는 해당 정점이 현재 가지고 있는 D_List 안에 모든 핵심/조인 정점 간의 거리가 존재하는 경우이다. 예를 들어, 그림에서 E3, D6정점 은 D_List에 모든 핵심 정점(B2)과 조인 정점(A1,4)간의 거리가 존재하여 선택되고, B2정점은 핵심 정점이면서 조인 정점(A4)과의 거리가 존재하기 때문에 선택되고, A4정점은 조인 정점이면서 핵심 정점(B2)과의 거리가 존재하기 때문에 선택된다.

CCTHCV_2020_v20n8_42_f0007.png 이미지

그림 7. D_List 기반 서브 그래프 매칭

색인 D_List에서 선택된 정점 중 핵심/조인 정점을 기준으로 생성할 수 있는 모든 서브 그래프 정보를 생성한다. 예를 들어, 간선 색인 테이블(ET0, ET1)에서 B2 정점을 기준으로 하는 경우, ET0에서는 (2, 3) 간선만을 가지는 서브 그래프, (2, 6) 간선만을 가지는 서브 그래프, 2번 정점만을 가지는 서브 그래프를 생성한다. 완벽한 형태의 서브 그래프가 아닌 일부 정점으로만 이루어진 서브 그래프를 생성한다는 의미이다. 반면 B5 정점은 조인 정점과의 거리 값이 존재하지 않기 때문에 아무런 행위도 하지 않는다. ET1도 마찬가지로 조인 정점 B와의 거리가 존재하는 핵심 정점 A4를 탐색한다. 탐색 결과 A4가 B2와의 거리가 존재하기 때문에 4번 정점만을 가지는 서브 그래프를 생성한다.

서브 그래프 색인 테이블(STn)에 추가된 새로운 정보를 기반으로 조인을 수행한다. 조인은 첫 번째 단계에서 D_List에서 선택한 모든 정점에 대해 수행한다. B2는 핵심 정점이며 조인 정점 A4와의 거리가 존재하기 때문에 2번 정점을 기준으로 서브 그래프 정보에 대해 조인 확인 요청을 수행한다. 조인 결과 (2, 3, 4), (2, 6, 4), (2, 4)로만 이루어진 서브 그래프 매칭 결과를 생성한다. 결과 중 D_SUM은 부분 결과(STn 테이블) 간의 DIST 합이다. E3와 D6 정점을 기준으로도 조인 요청을 수행하지만, 이전 B 정점에 의해 수행된 조인 결과가 이미 있어서 추가적인 연산을 수행하지 않는다. 이러한 요약 색인 D_List 기반의 구조적 차이를 고려한 서브 그래프 매칭을 통해 부족한 k개의 결과를 보완할 수 있다.

4. 간결화 관리자(Compaction Manager)

요약 색인 D_List는 전체 정점에 대한 최단 경로가 저장되지 않기 때문에 근사한 서브 그래프 매칭 결과만 생성하고, 거리가 더 가까운 정보가 포함되지 않을 수 있다. 또한, 그래프 스트림에서 그래프의 변화가 생길 때마다 색인에 반영하는 것은 많은 비용이 들기 때문에 색인에서의 삭제 및 수정은 간결화(Compaction) 작업에서만 수행된다. 간결화 작업은 사전에 정의된 임계 값(Top-k의 결과의 품질이 부족, 후보군의 개수가 부족)에 의해 수행 여부가 결정된다.

[그림 8]은 간결화 처리 과정을 나타낸다. 근사 Top-k 매칭 결과가 생성된 후에 Top-k 결과가 품질이 부족하거나, 후보군 개수가 부족하다면 간결화 작업을 수행한다. 간결화 작업은 삭제 표기된 정점 및 간선을 삭제하고, D_List의 일관성을 유지한 후에 D_List 기반의 서브 그래프 매칭을 수행하여 추가적인 결과를 생성한다. 간결화 작업 후에 생성된 최종적인 근사 Top-k 매칭 결과들을 사용자에게 제공한다.

CCTHCV_2020_v20n8_42_f0008.png 이미지

그림 8. 간결화 처리 과정

[그림 9]는 간결화 작업 수행 예제를 나타낸다. 왼쪽 D_List는 간결화 작업 전이며 삭제 표기가 된 정점, 간선이 표기된다. 간결화 작업은 총 두 단계로, 첫 번째는 삭제 정점, 간선을 모두 삭제하는 작업이다. 두 번째 단계에서는 D_List의 정점 목록 중 서로 다른 핵심, 조인 정점의 정보가 포함된 정보를 기반으로 D_List의 정보를 갱신하는 단계이다. 예로 정점 D8에는 (A4, 1), (B2, 1)이 존재하여 A4에 B2로 가는 경로 값 2, B2에는 A4로 가는 경로 값 2를 추가시킨다. 정점 D6도 마찬가지로 B5,2에 A4로 가는 경로 값, A4에서 B5,2로 가는 경로 값을 추가한다. 추가된 정보를 서로 비교하게 되면 D_List가 서로 일치하지 않는 (B2에서 A4는 3, A4에서는 B2로 2) 경로 정보는 재삭제하여 D_List의 일관성을 유지한다. 수정된 D_List를 기반으로 서브 그래프 매칭 결과를 추가 수행하여 Top-k의 정보를 갱신한다.

CCTHCV_2020_v20n8_42_f0009.png 이미지

그림 9. D_List 간결화 예제

IV. 성능 평가

제안하는 근사 Top-k 서브 그래프 매칭 기법의 타당성을 입증하기 위해서 다양한 데이터 집합에서의 성능 평가를 수행하였다. [표 1]은 성능 평가 환경을 나타낸다. 성능 평가는 Intel(R) Core(TM) i5-4440 3.1GHz 4 Core 프로세서와 8GB의 메인 메모리를 가진 4대의 분산 노드에서 구현하였다. 제안하는 기법은 Storm 2.1 버전에서 구현하였으며, 분산 노드를 관리하기 위해서 Zookeeper 3.5.6을 활용하였다[18]. 실험 평가에 사용되는 데이터 집합은 YouTube[19], Wikipedia[19], LiveJournal[20] 총 세 가지 데이터 집합을 사용하였다. 각 데이터 집합은 3.2M, 1.8M, 4.0M 개의 정점 데이터 집합이며 간선은 18.5M, 39.9M, 27.9M개의 간선으로 이루어진 그래프 데이터이다.

표 1. 성능평가 환경

CCTHCV_2020_v20n8_42_t0001.png 이미지

제안 기법의 우수성을 입증하기 위해 기존 기법 Dynamic Top-k[10]와 성능 비교를 수행한다. Dynamic 기법은 분산 처리 환경을 고려하지 않았기 때문에 단일 서버 환경에서의 성능 비교를 진행하였고, 질의 특성 (질의 수, 질의 복잡도)에 따른 성능 평가만을 수행하였다. 질의 복잡도란, 제안하는 기법에서 지원하는 질의 유형에서 와일드카드 (*) 연산의 비율의 정도를 의미한다. 와일드카드 연산은 비교 연산이 없기 때문에 질의 처리 속도에 많은 영향을 준다. Dynamic 기법은 질의 유형 중 가중치의 차이 (+ 연산만 지원) 만을 지원하기 때문에 질의 복잡도에 따른 성능 평가 대상에서는 제외하였다. Dynamic 기법에서 가중치 차이만을 고려하면 제안하는 기법과 같은 질의 결과를 생성하기 때문에 해당 기법을 비교 기법으로 채택하였다.

[그림 10-그림 12]는 질의 수에 따른 평균 스트림 처리 시간을 나타낸다. YouTube, Wikipeida, LiveJournal 데이터 집합에서의 성능 평가 결과이다. 기존 기법은 모든 데이터에 대한 색인을 유지하고 있으며 유사한 질의에 대해서 독립적인 색인을 구축하기 때문에 많은 질의 처리 시간이 소요된다. 해당 질의 처리를 수행하기 위해서 스트림 처리 시간이 증가하고 이는 전체적인 시스템 응답성의 저하로 이어진다. 성능 평가 결과 제안하는 기법은 적은 질의 수에서는 큰 성능 차이가 없었지만, 질의 수가 늘어날수록 더욱 더 좋은 성능을 보이며, 최대 428% 이상의 성능 향상을 이끌어냈다. 제안하는 기법은 질의 자체를 분할하기 때문에 조인할 수 없는 조합은 사전에 탐색이 수행되지 않기 때문에 쉽게 필터링 된다. 반면에 기존 기법은 모든 데이터에 대해 거리 색인을 저장하기 때문에 해당 색인 정보를 생성하는 데 많은 시간이 소요된다.

CCTHCV_2020_v20n8_42_f0010.png 이미지

그림 10. 질의 수에 따른 평균 스트림 처리 시간 (YouTube)

CCTHCV_2020_v20n8_42_f0011.png 이미지

그림 11. 질의 수에 따른 평균 스트림 처리 시간 (Wikipedia)

CCTHCV_2020_v20n8_42_f0012.png 이미지

그림 12. 질의 수에 따른 평균 스트림 처리 시간 (LiveJournal)

[그림 13]은 질의 복잡도에 따른 평균 스트림 처리 시간을 나타낸다. 질의 복잡도는 0에 가까울수록 복잡도가 낮음(와일드카드 연산의 비율이 100%에 근접)을 의미하고, 100에 가까울수록 복잡도가 높음(와일드카드 연산의 비율이 0%에 근접)을 의미한다. 성능 평가 결과 모든 데이터 집합에서 질의 복잡도에 따라 성능에 큰 영향을 주지 않는 것을 보인다.

CCTHCV_2020_v20n8_42_f0013.png 이미지

그림 13. 질의 복잡도에 따른 평균 스트림 처리 시간

근사 Top-k 연속 서브 그래프 매칭 기법은 최신 연구인 Dynamic Top-k 기법과의 성능 평가에서 우수한 성능을 나타냈다. Dynamic 기법에서는 지원하지 않는 다양한 질의 유형을 지원하고 복잡도에 따른 성능 평가를 통해 제안하는 기법에서 지원하는 질의 유형이 다양하더라도 성능에 큰 영향을 끼치지 않는 것을 입증하였다.

V. 결론

본 논문에서는 그래프 스트림 환경에서 데이터 재사용을 고려한 근사 Top-k 서브 그래프 매칭 기법을 제안하였다. 분산 스트림 처리 플랫폼인 스톰을 활용하여 분산 처리가 가능한 질의 처리 방법을 제안하였다. 기존 연구를 확장하여 색인 재사용이 가능한 근사 Top-k 서브 그래프 매칭을 수행하였다. 또한, 정점 차이, 간선 차이(레이블, 가중치)와 같은 다양한 속성과 와일드카드 같은 다양한 비교 연산을 지원하는 Top-k 서브 그래프 매칭을 수행한다. 제안하는 근사 매칭 기법은 요약 색인 D_List를 활용하여 응답성 높은 질의 처리를 수행하였다. 성능 평가에서는 다양한 데이터 집합에서 기존 기법 대비 최대 400% 이상의 성능 향상을 나타냈으며 제안하는 기법은 질의 복잡도에 큰 영향을 받지 않는다는 것을 통해 질의 유형의 다양성을 실제로도 적용 가능함을 입증하였다. 본 연구의 결과물을 통해 보안 분야에서의 적용을 통해 악의적인 노드 판별을 위한 후보 결과 집합을 용이하게 만들 수 있다. 또한, 의료 분야에서도 단백질 상호 작용 분석을 위해 근사 Top-k 서브 그래프 매칭이 자주 사용되기 때문에 본 연구 결과를 다양한 분야에 적용해 볼 수 있다. 본 연구 결과와 연속 질의 처리 분야와의 결합을 통해 그래프 처리 연구 영역을 확장 해 나갈 수 있다. 제안하는 기법은 유사 질의가 입력되지 않는 상황에서는 색인의 효용성이 떨어지는 단점이 존재한다. 또한, Top-k 결과가 생성되지 않을 때마다 Compaction 작업이 빈번히 수행되는 문제점이 존재한다. 향후에는 Compaction 연산의 최적화와 유사 질의가 없는 환경에서의 효율적인 질의 처리를 위한 추가적인 기법에 대한 연구를 수행할 예정이다.

References

  1. K. Ding, J. Li, and H. Liu, "Interactive Anomaly Detection on Attributed Networks," Proc. International Conference on Web Search and Data Mining, pp.357-365, 2019.
  2. S. Sethi and A. Dixit, "A Novel Page Ranking Mechanism based on User Browsing Patterns," Software Engineering, Springer, Singapore, pp.37-49, 2019.
  3. H. Yin, A. R. Benson, and J. Leskovec, "The Local Closure Coefficient: a New Perspective on Network Clustering," Proc. International Conference on Web Search and Data Mining, pp.303-311, 2019.
  4. M. Henzinger, S. Krinninger, and D. Nanongkai, "A Deterministic Almost-Tight Distributed Algorithm for Approximating Single-Source Shortest Paths," Proc. Annual ACM SIGACT Symposium on Theory of Computing, pp.489-498, 2016.
  5. G. B. Mertzios, H. Molter, and V. Zamaraev, "Sliding Window Temporal Graph Coloring," Proc. of the AAAI Conference on Artificial Intelligence, Vol.33, pp.7667-7674, 2019.
  6. J. Gao, C. Zhou, J. Zhou, and J. X. Yu, "Continuous Pattern Detection over Billion-edge Graph using Distributed Framework," Proc. International Conference on Data Engineering, pp.556-567, 2014.
  7. K. Kim, L. Seo, W. S. Han, J. H. Lee, S. Hong, H. Chafi, and G. Jeong, "TurboFlux: A Fast Continuous Subgraph Matching System for Streaming Graph Data," Proc. ACM SIGMOD Conference, pp.411-426, 2018.
  8. W. Chen, J. Liu, Z. Chen, X. Tang, and K. Li, "PBSM: An Efficient Top-K Subgraph Matching Algorithm," International Journal of Pattern Recognition and Artificial Intelligence, Vol.32, No.6, pp.1-23, 2018.
  9. R. Pienta, A. Tamersoy, H. Tong, and D. H. Chau, "Mage: Matching Approximate Patterns in Richly-Attributed Graphs," Proc. International Conference on Big Data, pp.585-590, 2014.
  10. X. Shan, C. Jia, L. Ding, X. Ding, and B. Song, "Dynamic Top-K Interesting Subgraph Query on Large-Scale Labeled Graphs," Information, Vol.10, No.2, p.61, 2019. https://doi.org/10.3390/info10020061
  11. Y. Tian and J. M. Patel, "Tale: A Tool for Approximate Large Graph Matching," Proc. International Conference on Data Engineering, pp.963-972, 2008.
  12. L. Zou, L. Chen, and Y. Lu, "Top-k Subgraph Matching Query in a Large Graph," Proc. ACM first Ph. D. workshop in CIKM, pp.139-146, 2007.
  13. L. Lai, Z. Qing, Z. Yang, X. Jin, Z. Lai, R. Wang, and Y. Zhang, "Distributed Subgraph Matching on Timely Dataflow," Proceedings of the VLDB Endowment, Vol.12, No.10, pp.1099-1112, 2019.
  14. Q. Zhang, D. Guo, X. Zhao, and A. Guo, "On Continuously Matching of Evolving Graph Patterns," Proc. International Conference on Information and Knowledge Management, pp.2237-2240, 2019.
  15. Y. Li, L. Zou, M. T. Ozsu, and D. Zhao, "Time Constrained Continuous Subgraph Search over Streaming Graphs," Proc. International Conference on Data Engineering, pp.1082-1093, 2019.
  16. https://storm.apache.org/
  17. 최도진, 복경수, 유재수, "데이터 재사용을 고려한 효율적인 연속 서브 그래프 매칭 기법," 정보과학회논문지, 제46권, 제8호, pp.842-851, 2019.
  18. https://zookeeper.apache.org/
  19. A. Mislove, H. S. Koppula, K. P. Gummadi, P. Druschel, and B. Bhattacharjee, "Growth of the Flickr Social Network," Proc. ACM first workshop on Online social networks, pp.25-30, 2008.
  20. R. Rossi and N. Ahmed, "The Network Data Repository with Interactive Graph Analytics and Visualization," Proc. AAAI Conference on Artificial Intelligence, pp.4292-4293, 2015.