초록 close

그래프는 실세계의 많은 문제를 효과적으로 모델링하여 해를 구할 수 있는 강력한 방법을 제공하기 때문에 그래프의 표현 방법과 알고리즘 개발에 다양한 연구가 진행되어 왔다. 하지만, 대부분의 연구가 메인 메모리에 수용 가능한 크기를 갖는 그래프만을 고려하였기 때문에 큰 문제에 적용하기 위해서는 아직도 많은 어려움이 존재한다. 이를 극복하기 위하여 본 논문에서는 관계형 데이타베이스 이론에 기반하여 그래프를 표현하고 그래프 알고리즘을 정의할 수 있는 방법을 제안한다. 이 방법에서 그래프는 릴레이션으로 표현되며 그래프의 각 정점과 간선은 이 릴레이션의 튜플로서 저장된다. 이렇게 저장된 그래프에 대한 알고리즘은 추출, 선택, 죠인과 같은 관계대수 연산을 이용하여 정의되며 SQL과 같은 데이타베이스 언어를 사용하여 구현될 수 있다. 또한, 본 논문은 그래프의 저장 및 관리뿐만 아니라 다양한 응용프로그램 개발에도 사용될 수 있는 기본적인 그래프 함수들을 라이브러리화 하였다. 이와 같은 데이타베이스에 기반한 방법은 메모리에 수용되지 않는 크기의 그래프를 효과적으로 처리할 수 있는 방법을 제공할 뿐만 아니라 다양한 응용프로그램 개발을 용이하게 할 것이다. 또한, 데이타베이스가 제공하는 기본적인 기능인 다중사용자에 의한 동시공용 등과 같은 많은 장점을 가진다.


Graphs have provided a powerful methodology to solve a lot of real-world problems, and therefore there have been many proposals on the graph representations and algorithms. But, because most of them considered only memory-based graphs, there are still difficulties to apply them to large-scale problems. To cope with the difficulties, this paper proposes a graph representation and graph algorithms based on the well-developed relational database theory. Graphs are represented in the form of relations which can be visualized as relational tables. Each vertex and edge of a graph is represented as a tuple in the tables. Graph algorithms are also defined in terms of relational algebraic operations such as projection, selection, and join. They can be implemented with the database language such as SQL. We also developed a library of basic graph operations for the management of graphs and the development of graph applications. This database approach provides an efficient methodology to deal with very large-scale graphs, and the graph library supports the development of graph applications. Furthermore, it has many advantages such as the concurrent graph sharing among users by virtue of the capability of database.