WEB/MSA[Cloud Native Java]

[9] 데이터 관리 - 데이터 모델링

PSAwesome 2019. 7. 18. 12:00
반응형

데이터 모델링

목표: 클라우드 네이티브 애플리케이션을 만들 때 필요한 데이터 관리에 대해 알아보기

- 스프링 데이터 프로젝트의 repository

- 마이크로서비스에서 저장된 데이터에 대한 접근을 처리하는 방법

 

비즈니스 모델을 애플리케이션에 효과적으로 반영하기 위해서는
매우 잘 설계된 데이터 모델이 중요하다. -도메인 모델

도메인 주도 디자인을 통해 해결하고자 하는 문제는 바로 복잡성

  • 각 도메인 모델의 구분은 명확히 하고
  • 모델의 의미가 확장될 수 있다면 경계를 설명해야한다.

따라서 데이터 스토어는 단순히 바이트를 저장하기 위한 것이 아닌, 비즈니스 도메인의 관계와 엔티티를 기술적으로 묘사하는 저장소인 것.

 

관계형 데이터베이스 관리 시스템 - RDBMS

기술의 발전으로 인한 RDBMS의 한계점

  • 트랜잭션을 보장하면서도 다른 유형의 데이터 모델이 필요하다.
  • 관계 모델을 그래프를 사용하는 것이 가장 좋은 방법이다.
  • 바이너리 데이터의 저장 방법을 제공하기는 하지만,
    가장 효율적으로 바이너리를 저장한다고 보기 힘들다.
  • 지리 정보를 다룰 수 있지만, 언제나 필요하지는 않다.
  • 다수의 읽기 트랜잭션을 처리할 수는 있지만,
    이를 위해서는 모델의 비정규화와 고가용성을 위해 일관성을 일부 포기한 모델의 적용이 필요하다.

이러한 특정 관점에서의 한계점을 토대로 JPA 구현을 이용한 하이버네이트의 사용을 권장하고 있다.

 

 

 

 

반응형