Search

Semantic Layer(시멘틱 레이어) 왜 필요해졌을까?

Subtitle
metric의 Single Source of Truth
Index
Data
Date
2024/06/06
2 more properties
클라우드 기반의 이른바 모던 데이터 스택(MDS) 계속해서 커가면서 이제는 모든 기업들이 아주 간편하게 조직 내에 데이터 인프라를 구축할 수 있게 되었습니다. 이렇게 되며 이른바 데이터 민주화라는 개념도 생기게 되었는데요. 데이터 민주화란 특정 조직만 데이터를 접근할 수 있는 것이 아니라 조직 인원 모두가 쉽게 쿼리나 대시보드 등을 만들면서 데이터로부터 가치를 발견할 수 있게 된 것을 말합니다.
이전에는 할 수 없었던 이런 데이터 접근성의 급격한 향상을 통해 많은 사람들이 데이터를 쉽게 이용할 수 있게 되었는데요. 하지만 꼭 이런 데이터 민주화가 장점만 가지고 있는 것은 아닙니다. 데이터 민주화의 가장 큰 장점은 누구나 데이터에 접근하여 여러 부산물(대시보드, 쿼리)를 만들어낼 수 있다는 것인데요. 단점 또한 마찬가지 입니다.
데이터 소유자가 여러 명이 된다면 데이터를 보는 방법도 여러가지가 될 것입니다. 그렇게 되면 분명 같은 지표를 보고 있는데도 다른 결과가 나오게 될 수 있습니다. 어떤 사람은 MAU가 20만이라고 하는데, 어떤 사람은 17만이라고 할 수 있는 것이죠.
이러한 문제를 해결하기 위해 도입된 개념이 바로 sementic layer(시멘틱 레이어)입니다. 그렇다면 시멘틱 레이어를 조금 더 자세히 알아보도록 하겠습니다.

시멘틱 레이어란

먼저 시멘틱 레이어의 사전적인 정의부터 살펴보도록 하겠습니다. 아래는 위키피디아의 내용입니다.
시맨틱 레이어는 기업 데이터의 비즈니스 표현으로, 최종 사용자가 비즈니스 시맨틱 관리를 통해 관리되는 공통 비즈니스 용어를 사용해 자율적으로 데이터에 액세스할 수 있도록 도와줍니다. 시맨틱 레이어는 복잡한 데이터를 제품, 고객 또는 매출과 같은 친숙한 비즈니스 용어로 매핑하여 조직 전체에서 데이터에 대한 통합된 뷰를 제공합니다.
언제나 그렇듯 사전적인 정의는 이해하기가 참 힘듭니다. 시멘틱 레이어를 쉽게 알려면 여기서 딱 한 문장만 알아가면 됩니다. 바로 데이터에 대한 통합된 뷰를 제공한다”입니다. 위에서도 이야기 했었지만 MDS로 인한 데이터 민주화가 가능해지면서 생긴 가장 큰 문제는 같은 데이터를 다른(틀린) 시각으로 해석할 가능성이 생긴다는 것입니다.
시멘틱 레이어는 이러한 문제를 해결하기 위해 전사 인원 모두가 데이터를 일관성 있게 볼 수 있도록 도와줍니다. 이것을 모두가 데이터를 획일화된 시각으로 보게한다는 의미로 받아들일 수도 있지만 전혀 그렇지 않습니다. 오히려 구성원들이 데이터를 올바른 시각으로 바라볼 수 있게끔 도와줄 수 있게 해주는 역할을 합니다.
아래의 그림을 보면 훨씬 쉽게 이해할 수 있을텐데요.
시멘틱 레이어가 없다면 왼쪽 그림처럼 같은 데이터임에도 다양한 도구를 활용해 보다가 다른 결과를 도출할 수 있게 됩니다. 하지만 시멘틱 레이어가 있다면 중요 지표에 관해서는 미리 정의를 하여 다양한 도구를 이용해도 지표에는 흔들림이 없게끔 할 수 있죠.
더 직관적으로 이해할 수 있도록 예시를 가져왔는데요. 당근은 구성원들이 더 신뢰할 수 있는 지표를 얻을 수 있도록 하기 위해 KarrotMetric이란 중앙화된 지표를 만들었습니다. 이것을 시멘틱 레이어라고 할 수 있죠.
신뢰할 수 있는 지표가 무엇인지, 그 과정에서 시멘틱 레이어는 어떤 역할을 할 수 있는지 알고 싶으신 분들은 위의 출처에서 전문을 읽어보시면 좋을 것 같습니다.
시멘틱 레이어를 구성할 수 있는 방법에는 정말 다양한 방법들이 많은데요. 빠른 시일 내로 요즘 가장 많이 쓰이는 도구 중 하나인 dbt를 이용하여 어떻게 시멘틱 레이어를 구성할 수 있는지 공유하는 포스트로 돌아와보도록 하겠습니다!