데이터베이스 · 4 min read · Sep 10, 2025

Debian 12에서 Neo4j 그래프 데이터베이스 설치 및 사용 방법

Neo4j는 그래프 저장, 데이터 과학, ML, 분석 및 시각화를 위한 고성능 그래프 데이터베이스 관리 시스템입니다. Neo4j는 데이터를 노드에 저장하고, 관계로 연결된 엣지와 노드 및 엣지의 속성을 저장합니다.

이 튜토리얼에서는 Debian 12 서버에서 Neo4j 그래프 데이터베이스를 설치하고 사용하는 단계별 지침을 보여줍니다. 또한 Cypher-shell을 통해 neo4j에 연결하는 방법과 기본 Cypher 쿼리를 배우게 됩니다.

전제 조건

진행하기 전에 다음 사항을 확인하십시오:

  • 최소 2GB 메모리가 있는 Debian 12 서버.
  • sudo 관리자 권한이 있는 비루트 사용자.

Java OpenJDK 설치

Neo4j 그래프 데이터베이스를 설치하기 전에 시스템에 Java를 설치해야 하며, 최신 Java LTS 버전인 Java OpenJDK 17을 사용하는 것이 좋습니다. 이 섹션에서는 Debian 저장소를 통해 Java OpenJDK 17을 설치합니다.

먼저, 아래 명령어를 실행하여 Debian 패키지 인덱스를 업데이트하고 최신 패키지 정보를 가져옵니다.

sudo apt update

update repo

이제 아래 명령어를 실행하여 Java OpenJDK 17을 설치합니다. Debian 12 저장소에서 default-jdk 패키지는 Neo4j 그래프 데이터베이스에 필요한 Java OpenJDK 17을 참조합니다.

sudo apt install default-jdk

설치를 진행하려면 y를 입력하십시오.

install default-jdk

Java를 설치한 후, 아래 명령어를 사용하여 Java 버전을 확인합니다. 시스템에 Java OpenJDK 17이 설치되어 있어야 합니다.

java -version

Neo4j 그래프 데이터베이스 설치

Java를 설치한 후, Debian 시스템에 Neo4j 그래프 데이터베이스를 설치할 준비가 되었습니다. 기본 종속성을 설치하고, Neo4j 저장소를 설정하고, Neo4j 패키지를 설치한 다음 neo4j 서비스를 시작하고 활성화합니다.

시작하려면 아래 명령어를 실행하여 Debian 서버에 기본 시스템 도구를 설치합니다.

sudo apt install gnupg2 apt-transport-https wget curl -y

install basic deps

이제 다음 명령어를 실행하여 Neo4j GPG 키와 저장소를 추가합니다. 이 경우, Neo4j 저장소를 시스템에 추가합니다.

wget -q -O- https://debian.neo4j.com/neotechnology.gpg.key | \  
    gpg --dearmor | sudo tee /usr/share/keyrings/neotechnology.gpg > /dev/null 2>&1   
  
echo "deb [signed-by=/usr/share/keyrings/neotechnology.gpg] https://debian.neo4j.com stable latest" | \  
    sudo tee /etc/apt/sources.list.d/neo4j.list

다음으로, Debian 패키지 인덱스를 새로 고치고 아래 apt 명령어를 실행하여 Neo4j 패키지를 설치합니다.

sudo apt update && sudo apt install neo4j

설치를 진행하려면 y를 입력하십시오.

install neo4j

Neo4j 패키지를 설치한 후, 아래 systemctl 명령어를 실행하여 neo4j 서비스를 시작하고 활성화합니다.

sudo systemctl start neo4j  
sudo systemctl enable neo4j

마지막으로, 아래 명령어를 사용하여 neo4j 서비스가 실행 중인지 확인합니다.

sudo systemctl status neo4j

Neo4j 그래프 데이터베이스가 실행 중이면, 출력에 active(running)이 표시됩니다.

verify neo4j service

Neo4j 배포의 기본 구성

이제 Neo4j 그래프 데이터베이스를 설치했으므로, 첫 번째 작업은 neo4j-admin 명령줄을 통해 Neo4j 관리자 비밀번호를 구성하고, 기본 구성 파일 /etc/neo4j/neo4j.conf를 수정하여 수신 주소와 최대 힙 메모리를 설정하는 것입니다.

아래 neo4j-admin 명령어를 실행하여 Neo4j 설치의 기본 비밀번호를 설정합니다. 이 예에서는 기본 Neo4j 비밀번호를 p4ssword로 설정합니다.

neo4j-admin dbms set-initial-password p4ssword

Neo4j 기본 비밀번호를 구성한 후, 다음 nano 편집기 명령어를 사용하여 Neo4j 구성 파일 /etc/neo4j/neo4j.conf를 엽니다.

sudo nano /etc/neo4j/neo4j.conf

Neo4j가 로컬 네트워크에서 실행될 수 있도록 dbms.default_listen_address 매개변수에 로컬 IP 주소를 추가합니다. 그런 다음 server.memory.heap.max_size 매개변수를 변경하여 Neo4j 그래프 데이터베이스의 최대 힙 메모리를 설정합니다. 이 경우, Neo4j는 192.168.5.15에서 최대 힙 메모리 4GB로 실행됩니다.

dbms.default_listen_address=192.168.5.15  
  
server.memory.heap.initial_size=512m  
server.memory.heap.max_size=4096m

작업이 끝나면 파일을 저장하고 편집기를 종료합니다.

마지막으로, 아래 systemctl 명령어를 실행하여 neo4j 서비스를 재시작하여 변경 사항을 적용합니다.

sudo systemctl restart neo4j

initial configuration neo4j

Cypher-shell을 통한 Neo4j 연결

Neo4j 그래프 데이터베이스에 연결하려면 cypher-shell을 사용합니다. cypher-shell의 기능은 MySQL/MariaDB의 mysql 클라이언트 및 PostgreSQL의 psql과 유사합니다. cypher-shell을 사용하면 Neo4j 그래프 데이터베이스를 위한 선언적 쿼리 언어인 Cypher 쿼리를 실행할 수 있습니다.

아래 cypher-shell 명령어를 실행하여 Neo4j 그래프 데이터베이스에 로그인합니다. 사용자 이름을 묻는 메시지가 표시되면 기본 사용자 neo4j를 입력한 다음 비밀번호를 입력합니다.

cypher-shell -a 'neo4j://192.168.5.15:7687'

연결되면 ‘ Connected to Neo4j … as user neo4j ‘라는 메시지가 표시되고 프롬프트가 ‘neo4j@neo4j> ‘와 같이 변경됩니다.

connecting via cypher-shell

이제 다음 Cypher 쿼리 :help를 실행하여 도움말 메시지를 표시하고 :exit를 입력하여 cypher-shell을 종료합니다. Cypher 쿼리는 항상 세미콜론으로 시작한다는 점에 유의하십시오.

:help  
:exit

run command

또한 추가 옵션 -a를 사용하여 특정 Neo4j 서버에 연결하거나 -u를 사용하여 원하는 사용자로 로그인할 수 있습니다.

cypher-shell -a 'neo4j://192.168.5.15:7687' -u neo4j -p p4ssword

Neo4j 그래프 데이터베이스의 기본 작업

Neo4j 그래프 데이터베이스에는 3개의 핵심 엔터티가 있습니다:

  1. 노드: Neo4j 그래프 데이터베이스의 데이터 엔터티이며 Cypher 쿼리 언어에서 괄호 ()를 사용합니다.
  2. 관계: 두 개의 노드가 서로 연결될 때 이를 관계라고 합니다. 관계는 노드 간의 방향을 나타내는 화살표 ->로 표시됩니다.
  3. 경로: 연결된 노드와 관계로 구성됩니다.

먼저, 다음 쿼리를 실행하여 Movie라는 레이블을 가진 새 노드를 생성합니다.

CREATE (a:Movie {title:'The Matrix', released: 1999}) RETURN a;

create node

이제 아래 쿼리를 실행하여 동일한 레이블을 가진 여러 노드를 생성합니다.

CREATE (a:Person {name:'Keanu Reeves', born: 1964}) RETURN a;  
CREATE (a:Person {name:'Carrie-Anne Moss', born: 1967}) RETURN a;  
CREATE (a:Person {name:'Laurence Fishburne', born: 1961}) RETURN a;

create multiple nodes

다음으로, 아래 쿼리를 실행하여 Movie라는 노드에 대해 Person 레이블이 있는 노드 간의 새로운 관계를 생성합니다. 이 경우, 관계는 ACTED_IN이라는 이름으로 역할 속성을 가집니다.

MATCH (a:Person), (b:Movie) WHERE (a.name = 'Keanu Reeves') AND b.title = 'The Matrix' CREATE (a)-[r:ACTED_IN {roles:['Neo']}]->(b);  
MATCH (a:Person), (b:Movie) WHERE (a.name = 'Carrie-Anne Moss') AND b.title = 'The Matrix' CREATE (a)-[r:ACTED_IN {roles:['Trinity']}]->(b);  
MATCH (a:Person), (b:Movie) WHERE (a.name = 'Laurence Fishburne') AND b.title = 'The Matrix' CREATE (a)-[r:ACTED_IN {roles:['Morpheus']}]->(b);

create relationships between nodes

마지막으로, 아래 쿼리를 실행하여 Neo4j 그래프 데이터베이스 내의 사용 가능한 노드와 관계를 확인합니다.

MATCH (s)-[r]->(e)  
RETURN s.name AS Name, e.title AS Title, r.roles AS As;

다음 출력은 각 노드가 연결되어 있음을 확인합니다.

check data

결론

결론적으로, 이제 Debian 12 서버에 Neo4j 그래프 데이터베이스를 단계별로 성공적으로 설치했습니다. Neo4j 그래프 데이터베이스를 설치하고 구성했으며, Neo4j에 연결하기 위한 Cypher-shell의 기본 사용법과 Cypher 쿼리 언어를 사용한 기본 작업을 배웠습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.