그래프 DB 입문

DB 분야에서, RDB나 NoSQL에 계속되는 데이타베이스로서 후보에 오르는 그래프 DB를, Cassandra상에서 조금 만져 보았으므로, 정리합니다.

특징·용도
  • 객체 간의 관계를 탐구하는 데 특화되어 있으며 동일한 작업을 수행하려고 할 때 RDB의 JOIN 부하를 크게 줄일 수있는 인상
  • 가능한 용도 : 추천 엔진, 운송 물류의 최적 경로 탐색 등

  • 용어
  • vertex (정점)
    그래프 DB의 "관리 대상"에서 명사로 표현
    예) 인물, 장소, 요리 레시피
  • edge (엣지)
    정점간의 「관계」로, 방향성을 가지는 것도 있다. 동사로 표현
    예) 사람이 소프트웨어를 개발하는 저자는 책을 쓴다
  • property(속성)
    정점이나 엣지가 가지는 「속성」
    예) 저자명, 리뷰 기입일시

  • 주요 제품
    Neo4j, Oracle Spatial and Graph, DataStax DSE Graph 등

    그래프 DB의 이미지 예 (요리 레시피 책)


    시도한 환경(DataStax DSE Graph)
    htps : // / cs. 단 s x. 이 m/쟈/다타 s타 x_엔테 rp 리세-그럼 jp/5. HTML

    거친 흐름
  • 정점(예: author, Book) 및 엣지(예: author-writes/authored-Book)의 작성
  • 각 정점과 각 에지에 데이터 삽입 (에지의 예 : 특정 Recipe는 특정 Book에 포함된다)



  • 감상

    각 엣지 「관계」에의 데이터 삽입이 행해지고 있는 것으로, 나중에 엣지의 키를 바탕으로 엔티티끼리의 관계성을 쫓기 쉬운, 추천 향한 모델인 인상을 받았습니다.

    좋은 웹페이지 즐겨찾기