본문 바로가기
개발 이야기/NoSQL

Neo4j를 docker-compose로 띄워보기

by 농개 2024. 7. 30.
반응형

Neo4j는 Graph Database로, 데이터 간의 관계를 저장하고 탐색하는 데 최적화되어 있습니다.

2024년 Graph Database에서 1위를 고수하고 있습니다.

참고 https://db-engines.com/en/ranking/graph+dbms

 

그래프 데이터베이스는 관계형 데이터베이스(RDBMS)와 다르게 노드(Node), 엣지(Edge), 속성(Property)으로 구성된 그래프 구조를 사용하여 데이터를 구성합니다.

데이터 모델 예시

 

해당 포스팅에서는 docker-compose를 사용하여 Neo4j를 구성해봅니다.

 

목차

    1. docker-compose.yml 구성

    services:
      neo4j:
        container_name: neo4j-boot
        image: neo4j:5.22.0
        ports:
          - 7474:7474	# for browser console
          - 7687:7687	# for db
        volumes:
          - /mypath/data:/data		## volume mount
        environment:
          NEO4J_AUTH: neo4j/neo4j	## admin/password

    위와 같이 docker-comspoe.yml을 작성해줍니다.

    이미지 version을 5.22.0으로 했는데 latest로 하면 최신 버전의 이미지를 당겨옵니다.

    저는 갠적으로 뭐든 버전 명시하는게 관리에 용이해서 위처럼 해줬습니다.😝

     

    적당한 디렉토리(ex. /mypath/data)를 만들어서 볼륨 마운팅 해줍니다.

    그리고 NEO4J_AUTH 환경 변수를 통해 admin과 password를 지정해줍니다.

    여기선 패스워드를 neo4j로 했습니다.

     

    2. 실행

    docker-compose -f ./docker-compose.yml up -d

    위 명령어로 컨테이너를 띄워봅시다.

     

    3. 웹 콘솔을 통해 접속

    브라우저를 열어서 http://localhost:7474로 접근해봅니다.

     

    위와 같이 Neo4j 연결을 위한 인증 페이지가 뜹니다.

    앞서 설정한 name, password를 통해 로그인 해보면 정상적으로 접근됨을 확인 할 수 있습니다.

     

     

     

    이 후, 웹콘솔을 통해 Neo4j 쿼리(Cypher)를 실습해보려면

    아래 포스팅 참고!

    https://basketdeveloper.tistory.com/entry/Neo4j-CypherQuery-%EC%97%B0%EC%8A%B5-%ED%95%B4%EB%B3%B4%EA%B8%B0

     

    Neo4j Cypher(Query) 연습 해보기

    Neo4j는 Cypher라는 Query Language를 사용합니다.SQL과 유사하지만 그래프 데이터베이스의 특성에 맞게 설계되어노드와 관계를 직관적으로 탐색할 수 있습니다.Node: 그래프DB의 데이터 레코드Label: Nod

    basketdeveloper.tistory.com

     

    반응형