본문 바로가기

Studying/Data System Design

데이터 모델 및 질의 언어 [데이터 중심 애플리케이션 설계 2장]

  1. 관계형 모델
    1. 스키마 변경이 힘들고 실제 데이터와 애플리케이션 과의 차이가 발생하여 임피던스 불일치 발생
      1. 최근에는 json등을 지원함
      2. mysql에서는 alter 명령어 수행 시 비용이 큼
    2. 다대일과 다대다 관계
      1. 관계형 모델에서는 다대다 관계를 일대다 관계로 풀어서 해결한다.
      2. 일대다 관계는 문서 모델에서의 트리 구조로 표현 가능
      3. 관계형 모델에서는 일대다의 반대인 다대일도 id기반으로 쉽게 해결가능
      4. 문서 모델에서는 다대일 관계는 적합하지 않음 (join 필요)
  2. NoSQL
    1. 문서 데이터베이스
      1. 조인이 미흡하다
      2. 관계형 DB의 쓰기 스키마와 반대되는 읽기 스키마
      3. 지역성 활용 가능 (관계형은 조인을 해야해서 전체 검색이 필요함)
    2. 그래프 데이터베이스
      1. 다른 데이터베이스와의 차이
        1. 다대다 관계에 적합
        2. 특정 조건을 찾을 때까지 반복하는 형식
      2. 네트워크 모델와의 차이
        1. 모든 정점이 다른 정점으로 가는 간선이 있다.
        2. 임의 정점을 직접 탐색하거나 색인을 사용하여 빨리 찾을 수 있다.
        3. 따로 정렬을 하지 않음
        4. 선언형
  3. 기타 특정 분야 데이터 모델
    1. 게놈 데이터
    2. 입자 물리학
    3. 전문 검색