함께 만들어 나가는 IT 용어사전, 알쓸IT잡!
IT 분야의 모든 궁금증을 해결해 드립니다.
오직 알쓸IT잡에서만!
지난 글에 소개했던 그래프 데이터베이스의 개념에 이어서 이번에는 그래프 DB의 잘 알려진 장점에 대해서 소개해드리겠습니다.
그래프 DB가 자랑하는 핵심적인 장점 3가지는 다음과 같습니다.
1. 스키마 없는 구조
2. 질의 처리 속도
3. 직관적인 모델링
1. 스키마가 없는 구조 (Schema-less)
그래프 데이터베이스는 개별 데이터를 정형화된 형태의 테이블에 삽입하는 방식이 아닌 하나의 객체로 저장하기 때문에 데이터 용량이 늘어나거나 입력되는 형태가 다양해도 문제가 되지 않습니다.
그래프 DB는 단일 서버 환경 및 분산 데이터 환경에서 뛰어난 운용성을 자랑합니다. 전체 테이블 데이터를 확인하여 동일하고 추가적인 작업 없이 간단하게 데이터 객체 간의 선을 연결해주면서 데이터 관계를 나타낼 수 있습니다. 이러한 특징으로 그래프 DB 사용자는 데이터 운영의 유연성을 확보할 수 있습니다.
아래 그림과 같이 데이터베이스에 새로운 속성을 가진 값을 추가하고자 할 때 관계형 DB에서는 칼럼을 추가하고, 외래키(Foreign Key)를 연동하면서 테이블을 확인하여 대상 테이블에 대한 칼럼 및 제약 조건(Constraint) 추가 작업 등 복잡한 단계를 거쳐야 합니다.
이러한 작업은 전체 DB 설계에 대한 이해도가 없으면 모델 비정규화 문제, 데이터 정합성 문제, 테이블 내 불필요한 null 값 생성, 애플리케이션 수정 등과 같은 문제들을 일으킬 수 있습니다.
이와는 반대로 그래프 DB는 새로운 속성값을 가진 노드가 추가될 수 있고, 새롭게 입력된 데이터를 다른 데이터와 연결해주는 것만으로도 작업을 끝낼 수 있으며, 이러한 노드들에는 단독 또는 다중 레이블이 적용될 수 있어 관리가 편리합니다.
2.질의 처리 속도
관계형 DB는 별도의 테이블에 저장된 데이터의 관계를 나타내기 위해서 조인(join)방식을 사용합니다. 반면, 그래프 DB는 직접적으로 데이터 간의 관계를 생성하고, 생성된 데이터 간의 관계를 횡단하며 필요한 데이터를 조회하는 방식을 사용합니다.
이러한 차이점 때문에 개별 테이블 데이터에 대한 검색이 필요하고 조인이 늘어날수록 부담이 증가하는 관계형 DB 모델과 달리 그래프 DB 모델은 빠르고 효율적으로 원하는 데이터를 질의할 수 있습니다.
아래 그림과 같이 특정 인물의 친구의 친구를 찾는 것처럼 복잡한 관계 중심의질의를 하고, 깊이 값이 증가할 때, 두 DB 속도의 차이가 뚜렷이 나타납니다.
여러 테이블에 대한 연속적인 조인 수행 시, 관계형 DB는 모든 테이블 데이터에 대한 검색을 수행합니다. 조회하는 데이터양이 증가할수록 질의 속도 성능은 저하됩니다. 하지만 그래프 DB는 시작점을 찾기 위한 레이블 검색 작업 수행 후, 각 데이터 간의 관계를 따라 조회하여 부담 없는 처리가 가능합니다. 관계 중심의 데이터 구조는 조회하고자 하는 데이터양이 복잡하게 증가하더라도 신속하게 사용자가 원하는 결과를 도출할 수 있습니다.
3.직관적인 모델링
각각의 데이터 객체와 이를 연결하는 선물로 이루어진 그래프 DB는 사용자에게 현실 모형에 가까운 직관적인 데이터 형태를 제공합니다. 관계형 DB의 경우, 현실 모형을 테이블 형태에 맞추는 과정을 통해 데이터의 직관성을 떨어뜨립니다.
이와 같은 데이터 모델의 변형은 두 가지 문제가 야기되는데, 첫 번째는 개발 과정 중 비효율적인 업무를 증가시키고, 시스템의 DB 구조를 이해하기 어렵게 만듭니다.
두 번째는 CEO 혹은 의사결정권자와 관련 부서 실무자가 데이터 활용이 어렵다는 점입니다.
아래 그림에서 보이듯이 그래프 DB 모형은 현실을 반영한 직관적인 모습을 제공하며, 조직의 데이터 활용 영역을 과거 전문 기술자들이 다루기 쉽도록 바꿀 수 있는 가능성을 제시합니다.
애자일 개발 방법론(Agile Development Model)으로 지속적인 개발과 테스트를 통해 반복적인 개발의 과정을 거칩니다. 이러한 개발 과정은 진행 중 변화하는 시스템 환경에 맞추어 지속적인 DB 설계 수정 작업과 모든 프로젝트 참여자가 이해할 수 있는 데이터 모델을 요구하게 됩니다.
첫째로 관계형 DB의 개발 과정에서 불필요한 업무가 늘어나며, 프로젝트에 참여하는 인력들이 추가로 시스템의 DB 구조를 이해해야 하는 부가적인 활동이 발생하게 됩니다. 두 번째로, 점점 복잡해지는 데이터 모델로 인해 DB의 유연성이 점차 떨어지게 되고 데이터를 실제 활용하는 주체들인 비전문가들이 데이터를 활용하기 힘들어지게 됩니다. 결국 관계형 데이터 모델은 프로젝트 참여자들을 이해시키기 어렵게 만들어 전체 프로젝트의 시간 지연과 품질 저하 등의 문제를 일으킬 수 있습니다.
그에 반해 그래프 DB의 직관적인 모델링은 시스템 개발 시점과 데이터 운영 시점에 모두 장점으로 작용합니다. 직관적인 모델링을 통해 빠른 개발, 테스트 및 시스템 수정이 가능해지며, 앞서 언급한 문제점들을 최소화할 수 있습니다.
의사결정을 돕는 그래프 데이터베이스
그래프 DB가 가트너 2020년 상위 전략적인 기술 트렌드의 핵심 기술 중 하나인 인식적 증강 (Cognitive Augmentation) 및 투명성(Transparency)에 어떤 연관점이 있는지 궁금하시다면 다음 적용 사례를 확인해보세요!
'ARCHIVES' 카테고리의 다른 글
[알쓸IT잡] 빅데이터(Big Data)란? (0) | 2020.07.09 |
---|---|
[IT조선] 비트나인 ‘AGE’, 아파치재단 오픈소스 인큐베이션 프로젝트 채택 (0) | 2020.07.02 |
[알쓸IT잡] 그래프 데이터베이스란? (Graph Database) - Part.1 (0) | 2020.06.25 |
인천시, 비트나인 등 2개 기업 유치…AI 혁신성장 추진 (0) | 2020.06.22 |
[웨비나] 그래프 DB 기술 기반의 FDS 활용사례에 참가해 주셔서 감사합니다. (0) | 2020.06.18 |