Skip to content

neo4j를 선택한 이유

kyujonglee edited this page Nov 15, 2019 · 2 revisions

MYSQL vs Neo4j

고민 이유

비교해보자

공통 테스트 환경
  • 유저 1,000,000명

  • depth : 1,2 depth

  • Graph db: 한 유저에 대한 friends 관계인 User들 143명 가져오는 쿼리

    • MATCH (a:Person {name : 'User33'}) -[:FRIENDS] -> (m:Person) RETURN m;
  • Mysql db: 한 유저에 대해 tb_friend_relation 테이블 inner join을 통해 143명 가져옴

    • select * from tb_user as user left join tb_friend_relation friend on user.id = friend.user_id where user.id = 'id1200';
고려한 사항
  • neo4j에 대한 orm이 존재하지 않음. ( 개발 속도가 더딜 수 있음. )
  • mysql에 비해 neo4j에 대한 reference가 존재하지 않음.
  • 하지만 데이터, 관계가 많아질 시 graphDB에 대한 성능이 좋기 때문에 선택함.
Case graphDB Mysql
Depth1 8ms 0.1ms
Depth2 26ms 10ms
Clone this wiki locally