IT도서요약

데이터 중심 어플리케이션- 2장

DEDS 2025. 3. 31. 15:18
728x90

데이터 모델과 질의 언어

 

2장의 내용은 데이터 모델의 변천사와 데이터 모델을 문제에 적합하게 적용해야 효율적으로 적용할 수

있다는 내용이 주요 내용입니다.

 

프로그램은 객체지향 프로그래밍 언어로 개발, 데이터는 관계형 테이블(테이블,Row,Column)에
저장함으로 
전환 계층이 필요함 → 임피던스 불일치(impedance mismatch) 

 

그래프형 데이터 모델

  • 속성 그래프-사이퍼 질의 언어, SQL의 그래프 질의
  • 트리플 스토어 모델-SPARQL

시맨틱 웹: 웹사이트는 사람을 위해 텍스트와 이미지를 게시하듯, 컴퓨터를 위해 기계가 읽을 수 있는
데이터도 함께 게시하면 좋지 않겠느냐는 것입니다. 이를 위해 제안된 것이 RDF(Resource Description Framework)
이며,다양한 웹사이트가 데이터를 일관된 포맷으로 게시함으로써, 자동으로 통합 가능한 웹 데이터 네트워크—
즉, 인터넷 전체가 하나의 거대한 "모든 것의 데이터베이스"가 되는 것

 

SPARQL:  RDF 데이터 모델을 사용하는 트리플 스토어를 위한 질의 언어입니다. (SPARQL Protocol and RDF Query Language) Cypher보다 먼저 등장했으며, Cypher의 패턴 매칭 문법이 SPARQL에서 차용되었기 때문에 두 언어는
매우 유사한 구조를 가집니다.

 

데이터베이스 진화

 

데이터는 트리 형태의 계층 모델로 시작되었으나, 이는 다대다 관계를 표현하는 데 적합하지 않아 관계형 모델이 등장하게 되었습니다.  이후 일부 애플리케이션이 관계형 모델에도 잘 맞지 않자, NoSQL이라는 새로운 비관계형 데이터 저장소들이 등장했고, 이들은 두 갈래로 발전했습니다:
1. 도큐먼트 데이터베이스는 개별 문서 단위의 데이터를 저장하며, 문서 간 관계가 드문 경우에 적합합니다.
2. 그래프 데이터베이스는 거의 모든 것이 서로 연결될 수 있는 상황에 적합합니다.
문서, 관계형, 그래프 — 이 세 가지 모델은 오늘날 모두 널리 사용되고 있으며, 각각의 사용 사례에 적합한 장점을 지닙니다.  한 모델을 다른 모델로 흉내낼 수는 있지만 (예: 그래프 데이터를 관계형 DB에 표현) 이는 불편하거나 비효율적입니다.  그래서 모든 용도에 맞는 단일 시스템은 존재하지 않으며, 목적에 따라 시스템을 선택하는 것이 중요합니다.
문서 및 그래프 데이터베이스는 보통 스키마를 강제하지 않기 때문에, 애플리케이션의 변화에 보다 유연하게 대응할 수 있습니다. 
하지만 대부분의 애플리케이션은 여전히 어떤 구조를 전제로 하고 있으며, 이는 단지 스키마가 명시적(쓰기 시 강제)인지 
암묵적(읽기 시 해석)인지의 차이일 뿐입니다.

 

항목 CODASYL 네트워크 모델 그래프 데이터베이스
스키마 유연성 레코드 간 포함 관계가 스키마에 고정됨 정점 간 관계에 제약 없음자유롭게 연결 가능
데이터 접근 방식 정해진 접근 경로를 따라 탐색해야 함 정점 ID 또는 인덱스를 통해 직접 접근 가능
레코드(정점) 간 순서 자식 레코드는 순서가 있음삽입 시 순서 유지 필요 정점과 간선은 순서 없음 (필요 시 질의 시 정렬 가능)
질의 방식 명령형 (imperative) 언어 사용작성 복잡, 스키마 변경에 민감 선언형 (declarative) 언어 지원 (Cypher, SPARQL ) + 명령형 탐색 가능
확장성과 유연성 변경에 취약, 구조 확장 시 복잡함 새로운 관계, 정점 유형 추가가 쉬워 구조 확장에 유리
표현 가능한 관계 구조 제한적인 관계 표현 (스키마 기반, 계층성 강조) 복잡한 다대다 관계, 이질적 정점/간선도 자연스럽게 표현 가능
사용 사례의 현대 적용성 현대 시스템에서는 거의 사용되지 않음 추천 시스템, 소셜 네트워크, 지식 그래프 등에서 널리 사용

네트워크 모델 vs 그래프 데이터베이스

 

728x90