Database/Cassandra

[Cassandra][datastax]Logical_Mapping Patterns

bisi 2020. 5. 27. 08:50

매핑 패턴

  • 일반적인 매핑 사용 사례에 대한 반 정식(Semi-formal) 정의
  • 논리 모델 설계에 대한 그래픽 참고 자료로 제공

 

쿼리기반 매핑 패턴 방법론 

쿼리 요구사항에 맞는것을 사용하기 위한 9가지 패턴

Entity mapping patterns (2가지)
1:1 relationship mapping patterns (2가지)
1:n relationship mapping patterns (2가지)
m:n relationship mapping patterns (2가지)
Hierarchical mapping patterns (1가지) 

 

Entity mapping patterns

  • Query attributes == key attributes

 

  • Query attributes != key attributes

 

관계 매핑 패턴((1:1 relationship, 1:n relationship. n:m relationship

  • 멀티 엔티티 관계를 액세스하는 쿼리 기반테이블 설계 
  • 매핑 패턴은 관계 카디널리티에따라 다르다. (1:1 relationship, 1:n relationship. n:m relationship)

 

  • 1:n relationship mapping patterns
    • Query attributes == key attributes
    • Query attributes != key attributes
  • n:1 관계는 1:n 관계 방향의 반대 이다.
  • 매핑은 데이터 중복을 1:1 관계 매핑을 하는 것과 유사하다.
  • 만약 테이블이 키 속성이 아닌것에 의해 파티셔닝 되었다면 데이터는 중첩된다. 
  • 올바른 엔티티의 속성은 데이터가 중복될 것이다.

 

  • m:n relationship mapping patterns
    • Query attributes == key attributes
    • Query attributes != key attributes

 

 

Hierarchical mapping patterns

계층적 매핑 패턴

  • 계층적으로 설계하기 위해서는 3가지 접근방법이 있다. 
  • 계층을 위해 최상위 타입으로써 테이블 만들기
  • 제한 조건을 포함하지 않는 것과, 포함하는 것 둘다 사용하는 것은 제일 간단함.
  • 각각 타입에 맞는 각 테이블 분리하기
  • 서브 타입마다 테이블 만들기

 

  • Disjoint

 

  • Not Disjoint

 

'Database > Cassandra' 카테고리의 다른 글

[cassandra] blob type  (0) 2020.06.02
[Cassandra][datastax]Logical Mapping Rules  (0) 2020.05.27
[Cassandra][datastax]Logical_Principles  (0) 2020.05.27