Development of Database Supported Graph Library and Graph Algorithms

데이터베이스에 기반한 그래프 라이브러리 및 그래프 알고리즘 개발

  • Published : 2002.08.01

Abstract

This paper proposes a method for storing graphs and defining graph algorithms based on the well-developed relational database. In this method, graphs are represented in the form of relations. Each vertex and edge of a graph is represented as tuples of the table and saved in a database. We developed a library of graph operations for the storage and management of graphs and the development of graph applications. Furthermore, we defined graph algorithms in terms of relational algebraic operations such as projection, selection, and join. They can be implemented with the database language such as SQL. This database approach provides an efficient methodology to deal with very large-scale graphs and to support the development of graph applications.

본 논문은 관계형 데이터베이스 기반하여 그래프를 저장하고 그래프 알고리즘을 정의할 수 있는 방법을 제안한다. 이 방법에서 그래프는 릴레이션으로 표현되며, 그래프의 각 정점과 간선은 이 릴레이션의 튜플로서 데이터베이스에 저장된다. 이를 위해 그래프의 저장 및 관리뿐만 아니라 다양한 응용프로그램 개발에도 사용될 수 있는 기본적인 그래프 함수들을 라이브러리로 개발하였다. 또한, 그래프에 대한 알고리즘을 추출, 선택, 죠인과 같은 관계대수 연산을 이용하여 정의하였으며, SQL과 같은 데이터베이스 언어를 사용하여 구현하였다. 이와 같은 데이터베이스에 기반한 방법은 메모리에 수용되지 않는 크기의 그래프를 효과적으로 처리할 수 있을 뿐만 아니라 다양한 응용프로그램 개발을 용이하게 할 것이다.

Keywords

References

  1. R. Gould, Graph Theory, The Benjamin/Cummings Publiching, Menlo Park, CA. 1988
  2. J. A. Mchugh, Algorithmic Graph Theory, Prentice-Hall, 1990
  3. E. Horowitz, S. Sahni, and S. Ande rson-Freed, Fundamentals of Data Structures in C, Computer Science Press, New York, 1993
  4. A. Silberschatz, H. F. Korth, and S. Sudarshan, Database System Concepts, 3rd ed., McGraw-Hill, New York, 1997
  5. C. J. Date, A Guide to The SQL Standard, Addison-Wesley, Reading, MA, 1989
  6. D. E. Knuth, The Stanford GraphBase: A Platform for Combinatorial Computing, Addison-Wesley, 1993
  7. Y. J. Chiang, M. T. Goodrich, E. F. Grove, and R. Tamassia, 'External Memory Graph Algorithms,' Proc. of the 6th Annual ACM-SIAM Symposium on Discrete Algorithms, 1995
  8. M. H. Nodian, M. T. Goodrich, and J. S. Vitter, 'Blocking for External Graph Searching,' Algorithmica, Vol.16, No.2, pp.181-214, Aug. 1996 https://doi.org/10.1007/BF01940646
  9. J. Biskup, U. Rasch, and H. Stiefeling, 'An Extension of SQL for querying Graph Relations,' Comput. Lang. Vol.15, No.2, pp.65-82, 1990 https://doi.org/10.1016/0096-0551(90)90011-D
  10. R. H. Guting, 'GraphDB: Modeling and Querying Graphs in Databases,' Proc. of the 20th Conference on VLDB, pp.297-308, 1994
  11. N. Kiesel, A. Schuerr, and B. Westfechtel, 'GRAS, A Graph-Oriented (Software) Engineering Database System,' Information Systems, Vol.20, No.1, pp.21-52, 1995 https://doi.org/10.1016/0306-4379(95)00002-L
  12. A. O. Mendelzon and P. T. Wood, 'Finding Regular Simple Paths in Graph Databases,' SIAM J. Comput. Vol.24, No.6, pp.1235-1258, Dec. 1995 https://doi.org/10.1137/S009753979122370X
  13. L. Sheng, Z. M. Ozsoyoglu, and G. Ozsoyoglu, 'A Graph Query Language and Its Query Processing,' Proc. of 15th Conference on Data Engineering, pp.572-581, 1999