관리 메뉴

나만을 위한 블로그

단일 진실 공급원(Single Source Of Truth)이란? 본문

모르는 용어 정리

단일 진실 공급원(Single Source Of Truth)이란?

참깨빵위에참깨빵 2023. 2. 13. 22:17
728x90
반응형

가급적이면 데이터가 만들어지고 수정되는 작업이 여러 곳이 아닌 한 곳에서 일어나면 좋다. 여러 곳에서 일어나면 디버깅할 때 값의 흐름을 추적하는 것이 귀찮고 힘든 작업이 되며, 유지보수할 때 많이 괴로워진다.

이것과 관련된 용어가 단일 진실 공급원이다. 이름에서 어떤 뜻인지는 유추가 되지만 위키백과의 설명부터 확인해 본다.

 

https://en.wikipedia.org/wiki/Single_source_of_truth

 

Single source of truth - Wikipedia

From Wikipedia, the free encyclopedia Information systems good practice for data normalization In information science and information technology, single source of truth (SSOT) architecture, or single point of truth (SPOT) architecture, for information syst

en.wikipedia.org

정보 시스템에 대한 SSOT(Single Source Of Truth) 아키텍처 또는 SPOT(Single Point Of Truth) 아키텍처는 모든 데이터 요소가 마스터(또는 편집)되도록 정보 및 모델 관련 데이터 스키마를 구성하는 관행이다. 한 곳에서만 정규 형식으로 데이터 정규화를 제공한다. 이 데이터 요소에 대한 모든 가능한 연결은 참조용이다. 데이터의 다른 모든 위치는 "source of truth" 위치를 다시 참조하기 때문에 기본 위치의 데이터 요소에 대한 업데이트는 전체 시스템에 전파되어 효율성/생산성 향상, 잘못된 불일치의 쉬운 방지 같은 여러 이점을 동시에 제공한다. SSOT 아키텍처가 없으면 명확성, 생산성을 손상시켜 유지관리가 힘들어진다

 

한 곳에서만 데이터를 예쁘게 만들어서 보관하고 갖다 쓸 때는 데이터가 만들어진 곳에서만 쓰는 것도 SSOT라고 볼 수 있을 것 같다.

다른 곳에선 어떻게 설명하는지 확인한다.

 

https://www.lesstif.com/software-engineering/ssot-single-source-of-truth-128122887.html

 

단일 진실 공급원(SSOT; Single Source Of Truth)란?

 

www.lesstif.com

단일 진실 공급원(SSOT)은 정보 시스템 설계 및 이론 중 하나로 정보와 스키마를 오직 하나의 출처에서만 생성, 편집하도록 하는 방법론이다. 단일 출처를 통해 데이터를 생성, 편집, 접근하므로 데이터의 정합성을 지키고 잘못된 데이터 유통을 방지하고 모두가 동일한 데이터를 참고하게 하고 있다. 예로 DBA는 다루는 데이터를 저장하는 테이블, 스키마를 정규화하고 참조무결성을 통해 데이터의 정합성, 일관성을 지키고 SW 개발자는 소스코드의 중복으로 인한 여러 문제를 방지하기 위해 소스코드를 라이브러리로 만들고, 이를 repository(저장소)를 통해 배포해서 단일 출처에서 데이터와 정보를 유통할 수 있었다...(중략)

 

https://edunceputans.medium.com/single-source-of-truth-and-problems-with-implication-in-an-organisation-588883492133

 

Single Source of truth and applying it software development

What is Single Source of Truth?

edunceputans.medium.com

간단히 말해 Single Source Of Truth는 사람으로 구성된 팀, 소프트웨어가 하나의 정확한 정보 소스에 의존하게 보장하는 지침이다. 프로그래밍에서 SSOT는 설계한 소프트웨어가 정확하고 최신 정보에 의존하는지 확인한다...(중략)...소프트웨어에서 올바른 정보를 어떻게 찾을 수 있는가? 우리는 참조를 만든다. 데이터를 여러 복사본에 저장하고 여러 위치에 존재하는 대신 특정 원칙을 써서 기능에 필요한 정보의 위치를 알려준다. 바탕화면 바로가기와 마찬가지로 우리는 필요한 정보를 파헤치는 것 외에 다른 도구를 써서 필요한 정보에 간접적으로 접근한다...(중략)

 

https://jennifer-yoo.medium.com/what-is-single-source-of-truth-in-coding-c5a9b231c27e

 

What is Single Source of Truth in Coding?

As a current student at Flatiron School, one of the most important concepts I’ve learned when writing code is single source of truth…

jennifer-yoo.medium.com

단일 진실 소스는 이름에서 알 수 있듯이 데이터가 존재하는 단일 "장소"다. 정보가 한 위치에 유지되면 DB 또는 코드는 진실하다. 즉 신뢰할 수 있고 다시 참조하기 쉽다...(중략)

 

다른 곳에서 말하는 것도 이와 비슷하기 때문에 생략한다.

 

SSOT를 지키면 한 곳에서만 데이터가 만들어지고 수정할 수 있기 때문에 여러 곳에서 데이터 변경 작업이 일어나는 것보다 상대적으로 데이터의 신뢰도가 더 높아진다.

다른 곳에서 이 데이터에 접근하려면 데이터가 있는 장소의 참조를 만들고, 그 참조를 통해 변수, 함수를 호출해 필요한 데이터를 가져오고 수정을 요청한다. 의존성 주입 라이브러리를 사용한다면 한 클래스가 어떤 책임을 갖도록 함수들을 작성한 뒤, 뷰에서 어노테이션을 통해 해당 클래스를 주입받는다. 이 절차를 통해 뷰에선 클래스의 인스턴스화를 하지 않아도 참조를 통해 원하는 함수를 호출할 수 있다.

반응형
Comments