ARCHIVES

그래프 데이터베이스의 가치 #2. “스키마 유연성(Schema less)”

(주)비트나인 2018. 3. 2. 16:26

그래프 데이터베이스의 가치 #2. 

“스키마 유연성(Schema less)”


서비스 고도화를 위해 고객의 반응을 수렴하여 새로운 기능을 추가하는 경우가 있습니다.

서비스를 운영하고 있는 상황에서 기능 추가로 데이터베이스 내 새로운 속성을 추가해야 한다면?

기존 관계형 데이터베이스 환경에서는 고려해야할 사항들이 너무나 많아 신속한 개발이 어렵습니다.

그래프 데이터베이스는 정형화된 스키마가 없는 데이터 구조를 통해 데이터 운영의 유연성을 제공합니다.


 

안녕하세요,

국내 유일 그래프 데이터베이스(Graph Database) 연구 개발 전문기업 비트나인입니다.

 

 

지난 포스팅에 이어, 그래프 데이터베이스의 가치 그 두번째 시간으로,

스키마 유연성(Schema-less) 구조에 따른 업무 유연성에 대해 소개드리고자 합니다.

 

소셜 데이터, 지리정보, IoT 현대 사회의 데이터들은 그 양이 방대 할 뿐만 아니라 정형화되지 않은 다양한 형태로 쏟아져 나오고 있습니다. 또한 빠르게 변화하는 시장환경과 고객니즈의 변화에 대응하기 위해서는 유연한 개발환경이 필요합니다.


 

스키마 등 정형화된 데이터 구조의 관계형 데이터베이스 대비 

그래프 데이터베이스는 무엇이 다를까요?

  



<그래프 데이터베이스, Schema-less 구조에 따른 데이터 운영 업무의 유연성 제공!>

 

 


그래프 데이터베이스(Graph DB)  관계형 데이터베이스(Relational DB)와 달리 각 데이터를 정형화된 형태(Structured Format) Table에 삽입하는 방식이 아닌 하나의 객체로 저장하게 됩니다.

따라서 관계형 데이터베이스에서 사용하는 테이블 스키마(Table Schema)가 존재하지 않습니다.

 

스키마의 부재는 데이터 운영에 유연성을 가져다 줍니다. 데이터의 용량이 커지거나 입력되는 형태가 다양해도 문제가 되지 않습니다. 다양한 형태를 가진 대규모의 데이터들은 입력되는 형태 그대로 데이터베이스에 저장되며, 각 객체가 독립적일 수도 혹은 합산적일 수도 있기 때문에 단일 서버 환경 및 분산 데이터 환경 모두에서 뛰어난 운용성을 자랑합니다.

 

그래프 데이터베이스는 각 데이터 객체 간의 관계를 선(Edge 또는 Relationship)으로 표현합니다. 관계형 데이터베이스처럼 테이블에 속성(Attribute)을 추가하거나 테이블 전체를 스캔할 필요 없이 데이터 객체(Vertex 또는 Node) 간에 관계 선을 연결해 주는 것만으로 간단하게 데이터 관계를 나타내기 때문에 사용자는 데이터를 더 쉽게 변경할 수 있습니다. 결국 이러한 특징으로 인해 그래프 데이터베이스 사용자는 비정형 데이터, 실시간으로 입력되는 데이터를 더 유연하게 저장, 처리, 수정할 수 있습니다.

 

 

 




기존 관계형 데이터베이스를 사용해본 사용자라면 누구나 위 그림과 같이 데이터베이스 내 특정 테이블에 열(Column)을 추가하기 위해 얼마나 많은 확인과 노력이 필요한지 알고 있을 것 입니다.

 

관계형 데이터베이스(Relational Database)에서는 데이터베이스 내 존재하는 테이블에 새로운 속성을 가진 값(Value)을 추가하기 위해 새 속성에 해당하는 열(Column)을 추가한 후 연동이 필요한(Foreign Key) 테이블을 확인하여 대상 테이블에 대한 열(Column) 추가 및 제약 조건을 다시 설정하는 작업이 필요합니다.

 

이러한 작업은 전체 데이터베이스 설계에 관한 이해가 필요하며 데이터 모델의 비정규화 문제, 정합성 문제, 테이블 내 불필요한 Null 값 생성, 애플리케이션 수정 등 여러가지 문제를 일으킬 수 있습니다.

 


이와 달리 그래프 데이터베이스(Graph Database)에서 새로운 속성을 가진 값을 추가하려면, 새로운 속성(Property) 값을 가진 점(Vertex 또는 Node)을 그래프 상에 생성한 다음 다른 점(Vertex 또는 Node)들과 선(Edge 또는 Relationship)으로 연결해주기만 하면 모든 작업이 끝납니다. 또한 노드들에 1개 또는 여러 개의 레이블(Label)을 부여할 수 있어 데이터 관리가 더욱 용이합니다.

 

빠르게 변화하는 시장환경에서 그래프 데이터베이스(Graph Database)는 유연성 및 변형 적응성을 제공함으로써 서비스 개발환경의 편의성을 제공할 수 있습니다.

 

 

.

.


추가적인 문의사항이  있으실 경우, agensgraph@bitnine.net 으로 연락 부탁 드리겠습니다.

비트나인 홈페이지 방문 시, 그래프 데이터베이스에 대한 더 많은 정보를 보실 수 있답니다! :)

 

www.bitnine.net