Graph Database - 'conectness'
익히 알고있을 Cassandra 역시 Graph-DB 기능을 할 수 있다.
Spark, Elastic 등에서 이미 Graph 라는 기능을 사용 할 수 있다.
그 중!
Neo4j 라는 데이터베이스를 소개하려고 한다.
테이블 저장 방식에서 그래프로 데이터를 보관한다는 개념이다.
간단하게 설치 후,
>> yum install -y neo4j
윈도우 데스크탑 버젼도 있는데,
Ref: https://neo4j.com/download-center/
확인,
저거를 받아서 노트북에 설치!
처음 계정은 neo4j / neo4j
리눅스(CentOS) 설치는 아래 URL을 확인 하시고,
Ref: https://neo4j.com/docs/operations-manual/current/installation/linux/rpm/
데스크탑 버젼을 설치하고 실행하면,
접속 IP를 확인 할 수 있다.
실제 12번 서버에서 neo4j 가 실행 중에 있음을 확인한다.
'Learn about Neo4j' 를 통해서 간단한 튜터리얼을 진행해 볼 수 있다.
가장 유명한 Movie 관련 데이터를 가지고 튜터리얼을 시작하면 좋다.
12번으로 연결한 neo4j 데스크탑을 이용해서 진행한다.
그냥 튜터리얼이니 따라하면 된다.
결과화면은,
대략 이러하다.
데이터베이스를 쓰면서
대용량, 빅데이터 이야기를 많이 하고 또한 듣기도 많이 한다.
그럴때 필요한게 Cluster.
Ref: https://neo4j.com/docs/operations-manual/current/clustering/introduction/
Enterprise 버젼에서만 가능(?)한 것이지 모르겠다.
Python; 으로 neo4j 연동을 할 수 있다.
Ref: https://neo4j.com/developer/python/
자바도 있고, 루비도 있고 다양하게 지원한다.
입맛에 맛는 언어를 통해서 neo4j 를 좀 더 재미있게 실험해 볼 수 있다.
물론 나는 Python을 이용한다.
>> pip install neo4j
좋은 예제를 제공하는 Github가 있다.
Ref: https://github.com/neo4j-examples/movies-python-bolt
이걸 리눅스에서 다운받아서,
>> git clone https://github.com/neo4j-examples/movies-python-bolt.git
>> cd movies-python-bolt/
>> pip install -r requirements.txt
>> export NEO4J_PASSWORD="<YOUR_NEO4J_PASSWORD/DEFAULT:neo4j>"
일단 여기까지 하고,
>> vi movies.py
host='0.0.0.0' 을 추가한다.
물론 neo4j 리스너 아이피 설정을 0.0.0.0으로 바꾸었다면
위에 커넥션 부분의 코드도 수정해야 한다.
모든 설정을 마무리하고
이제 Python 스크립트를 실행하면,
>> python movies.py
직접 접속을 해보니,
>> http://192.168.2.12:8000
간단한 소개가 어렵다.
더 많은 튜터리얼과 읽어야 할 문서가 수두룩하다.
일단,
끝.