
RDB, 그중 MySQL만 쭉 사용해 오다 처음으로 NoSQL DB를 사용할 일이 생겼습니다. 적은 양의 데이터를 관리할 때는 RDB가 편하지만, 빅데이터를 다룰 때는 데이터의 형태를 가리지 않는 NoSQL이 더 효율적입니다. 예전 프로젝트에서 MongoDB를 사용하려다 다른 문제로 활용하지 못한 점이 못내 아쉬웠기에 이번 기회에 Neo4j를 포함해 NoSQL DB를 제대로 정리해 보고 넘어가고자 합니다.
📚 관계형 데이터베이스(RDB)와 그래프 데이터베이스의 차이


관계형 데이터베이스는 SQL이라는 쿼리 언어를 사용하여 데이터를 테이블(표) 형태로 저장합니다. 이 테이블은 행(레코드)과 열(칼럼)로 구성되며, 각 행은 개별 데이터 항목을 나타내고, 각 열은 해당 항목의 속성 또는 특성을 나타냅니다.
반면, 그래프 데이터베이스는 데이터를 노드(Node)와 관계(Relationship)로 구성하여 저장합니다. 각 노드는 개체를 나타내며, 관계는 두 노드 간의 연결을 나타냅니다. 관계는 이들 간의 연결을 나타내므로, 실제로 우리가 상호작용하는 방식과 유사하게 데이터를 표현할 수 있습니다. 그래프 데이터베이스에서 노드들은 속성(Properties)을 가질 수 있고, 관계도 마찬가지로 속성을 가질 수 있어, 데이터를 직관적이고 유연하게 표현할 수 있습니다.


기존 RDB 방식은 데이터를 형식에 맞춰 재구성해야 하므로, 데이터 양이 많아질수록 직관성이 떨어지고 복잡해지기 쉽습니다. 반면, 그래프 데이터베이스는 데이터를 실제 관계처럼 모델링하기 때문에 더 직관적이며, 전문가가 아니더라도 유연하게 활용할 수 있습니다.
'⠀개발 이야기 > ⠀데이터 엔지니어링' 카테고리의 다른 글
[ Neo4j ] Neo4j와 Cypher (1) | 2024.12.16 |
---|---|
[ Neo4j ] Docker에 Neo4j 설치하고 Python과 연결하기 (0) | 2024.12.15 |