mondegreen

[Mendix Rapid] Entity의 Attribute: Calculated? vs Stored? 본문

Mendix/Academy 및 Docs

[Mendix Rapid] Entity의 Attribute: Calculated? vs Stored?

앙갱 2024. 5. 29. 20:22
반응형

도메인 모델에서 엔티티를 작성하는 과정 중 속성에서 value를 선택하는 부분이 있다. calculated 또는 stored 중에 선택해야 하는데 보통은 stored로 선택해서 저장하곤 했다.

둘의 차이가 무엇일까?

먼저 쉽게 직관적으로 이해되는 stored부터 생각해보자. 이 설정은 데이터베이스에 저장되는 것이다. 반대로 calculated는 클라리언트나 마이크로플로우에 의해 보여질 때마다 계산되는 값이다. 상대적으로 발생 빈도가 높은 경우이다.

이렇게 말해도 사실 바로 와닿지는 않는데, 멘딕스에서는 둘 중 선택할 때 기준을 "보는 횟수 VS 변경되는 횟수"를 고려하라고 말한다. 예를 들어 환율을 생각해보면 시시각각 변경되지만 매초마다 사용자나 마이크로플로우에 의해 노출되지 않는다. 따라서 환율의 경우에는 calculated가 적합하다. (변경되는 횟수 > 보는 횟수)

반대로 아래의 경우 사용자가 등록 교육생의 수를 변경하는 횟수보다 교육 과정을 화면에서 교육생 수를 볼 빈도가 더 높기때문에 stored가 적합하다.(보는 횟수>변경되는 횟수)

정리하자면

stored: 변경되는 횟수가 적고 조회만 잦은 경우 -> DB에서 빠르게 값을 불러올 수 있음
calculated: 변경횟수가 많고 조회가 적은 경우 -> 최신 상태를 유지 

전자는 값을 저장해 일관된 데이터를 제공한다는 장점이 있는 반면 후자는 실시간 계산으로 일관성이 떨어질 수 있다. 

반응형