컴퓨터 공학 및 프로그래밍 #2- 그래프 데이터 모델

less than 1 minute read

그래프 데이터 모델

그래프 데이터 모델은 many-to-many관계가 데이터 간에 많이 존재할때 사용하기에 더 유용한 모델이다. 모든 그래프는 크게 2가지로 구성되는데 하나는 꼭지점이고 다른 하나는 모서리다. 소셜네트워크 어플리케이션에서 꼭지점은 사람을 표현하고 모서리는 사람들간의 팔로잉 팔로워를 표현하게 된다. 페이스북이 사용하는 그래프 데이터 모델의 경우 꼭지점은 사람만을 의미하는 homogeneous타입이 아니고 사람, 위치, 체크인 등등의 다양한 다른 것들을 모두 의미하고 이들간의 모서리는 각 꼭지점들이 무엇을 의미하는지에 따라서 여러가지의 의미를 갖게 된다. 그래프 데이터 모델의 종류를 크게 프로퍼티 그래프와 트리플 스토어로 구분할 수 있다.

프로퍼티 그래프 (Property Graphs)

프로퍼티 그래프는 꼭지점과 모서리에 대한 테이블이 각각 존재하고 이 안에 각각 프로퍼티 필드가 json형태로 들어가 있는 모델이다. 각각의 꼭지점과 모서리는 unique id를 갖고 있으며 모서리의 경우 시작 꼭지점과 끝 꼭지점 각각을 foreign key형태로 꼭지점의 id로 갖게 된다. 또한 모서리에는 라벨 필드가 존재하여 모서리를 그 역할(WITHIN, BORN_IN 등)에 따라서 범주화할 수 있다. 프로퍼티 그래프는 데이터가 계속해서 변경되고 확장되는 경우에도 큰 데이터 모델의 변화 없이 유연하게 사용할 수 있다는 장점이 존재한다.

트리플 스토어 (Triple-store)


참고자료

  1. Designing Data Intensive Applications - Martin Kleppmann

Updated: