Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

데이터 계층과 객체 계층

Foundry에서 데이터를 이해할 때에는 데이터 계층(data layer)과 객체 계층(object layer)을 구분하면 좋습니다. 데이터 계층에서는 원천 시스템의 자료를 수집하고 가공합니다. 객체 계층에서는 그 자료를 고객, 항공편, 차량처럼 업무에서 사용하는 대상으로 표현하고, 대상 사이의 관계와 허용할 변경을 정의합니다.

두 계층은 같은 업무를 서로 다른 관점에서 다룹니다. 데이터 엔지니어는 특정 데이터셋이 어떤 입력과 처리 로직으로 만들어졌는지 확인하고, 업무 사용자는 특정 고객이나 항공편의 상태를 찾아 필요한 조치를 수행할 수 있습니다.

데이터 계층: 데이터를 저장하고 가공하기

데이터 계층에서는 데이터셋(Dataset)에 자료를 저장합니다. 데이터셋은 스프레드시트처럼 행과 열로 표현되는 데이터를 담는 경우가 많지만, 크기가 작은 파일이나 표 한 개로만 한정되는 개념은 아닙니다.

데이터셋은 조직의 원천 시스템에서 자료를 동기화하여 만들 수 있습니다. 사용자가 업로드한 승인된 자료나 가상 데이터로도 만들 수 있습니다. 따라서 데이터셋을 보았을 때에는 외부 시스템에서 지속적으로 갱신되는 자료인지, 사용자가 업로드한 자료인지, 다른 데이터셋을 가공한 결과인지 구분해야 합니다.

데이터셋에 처리 로직을 적용하면 새로운 출력 데이터셋을 만들 수 있습니다. 입력의 일부 행을 필터링하거나, 다른 자료와 결합하거나, 값을 정리하여 분석과 애플리케이션에서 사용할 형태로 만드는 작업이 여기에 해당합니다. 로직은 Code Repositories의 코드로 작성하거나 Pipeline Builder처럼 화면에서 단계를 구성하는 도구로 작성할 수 있습니다.

데이터 계보: 어디서 왔고 어떻게 만들어졌는가

데이터 계보(data lineage)는 데이터의 생성과 사용 관계를 추적하는 정보입니다. Foundry는 어떤 입력 데이터셋이 어느 출력 데이터셋을 만드는 데 사용되었는지와 그 과정에 적용된 로직을 기록합니다.

예를 들어 가상의 전체 주문 데이터셋에서 취소되지 않은 주문만 남기는 필터를 적용했다고 가정하겠습니다. 출력 데이터셋의 행을 보는 것만으로는 어떤 주문이 제외되었는지 알기 어렵습니다. 입력과 출력의 관계, 그리고 필터 조건을 함께 보면 어떤 자료를 바탕으로 결과를 만들었는지 이해할 수 있습니다.

계보를 조사할 때에는 두 방향을 살펴볼 수 있습니다.

조사 방향확인하는 질문
입력 방향이 결과를 만드는 데 어떤 원천과 중간 데이터가 사용되었는가?
사용 방향이 데이터를 바꾸면 어떤 후속 데이터나 업무에서 영향을 받을 수 있는가?

데이터 계보에는 처리 로직도 연결됩니다. 따라서 결과가 예상과 다를 때 원천 값의 문제인지, 적용한 필터나 변환의 문제인지 구분하는 데 활용할 수 있습니다.

애플리케이션에서 만든 결과는 리소스로 관리된다

Foundry의 애플리케이션으로 작업하면 데이터셋, 코드 저장소, 분석과 애플리케이션 구성이 만들어집니다. 이처럼 플랫폼에서 식별하고 관리하는 대상을 리소스(Resource)라고 합니다.

리소스는 프로젝트(Project)에 정리합니다. 프로젝트는 관련 작업을 묶고 협업하며 접근 권한을 관리하는 경계입니다. 같은 데이터를 사용하는 작업이라도 원천 수집, 가공, 분석과 업무 애플리케이션을 서로 다른 프로젝트에 구성할 수 있습니다. 이때 프로젝트 사이의 관계와 접근 조건을 함께 관리해야 합니다.

리소스의 위치와 권한을 다루는 방법은 프로젝트와 리소스에서 이어집니다.

객체 계층: 데이터를 업무 대상과 관계로 표현하기

객체 계층은 온톨로지(Ontology)라고도 부릅니다. 이 계층에서는 객체(Object)와 링크(Link)를 사용합니다. 객체는 항공기, 차량, 고객 같은 현실의 대상이나 사건을 나타내고, 링크는 객체 사이의 관계를 나타냅니다.

데이터셋에 고객 번호와 주문 번호가 열로 저장되어 있다면, 온톨로지에서는 고객과 주문을 객체로 표현하고 두 대상을 관계로 연결할 수 있습니다. 업무 사용자는 테이블 이름이나 조인 방법을 매번 확인할 필요 없이 고객에서 연결된 주문을 탐색할 수 있습니다.

이 구성을 위해서는 어떤 객체 유형을 만들지, 각 유형에 어떤 속성을 둘지, 어느 데이터를 연결할지와 관계를 어떻게 표현할지를 정의해야 합니다. 온톨로지는 이러한 정의와 데이터의 연결을 함께 관리합니다.

액션과 애플리케이션으로 업무 판단을 반영하기

액션(Action)은 조직의 사용자가 객체를 어떻게 변경할 수 있는지 정한 기능입니다. 애플리케이션은 객체의 현재 상태를 보여 주고, 사용자의 판단을 입력받아 액션을 통해 시스템에 반영할 수 있습니다.

가상의 주문 검토 화면을 생각하면 다음과 같이 역할이 나뉩니다.

  • 객체 조회는 주문의 현재 상태와 연결된 고객 정보를 보여 줍니다.
  • 화면 입력은 사용자가 검토 의견이나 조치할 대상을 선택하게 합니다.
  • 액션 제출은 정의된 입력과 조건에 따라 실제 변경을 요청합니다.

사용자가 화면을 열거나 필터를 선택하는 동작과 실제 데이터를 변경하는 동작은 구분됩니다. 액션의 변경 규칙과 제출 조건이 업무 변경의 범위를 정합니다.

객체, 링크와 액션의 정의는 조직의 업무를 디지털로 표현하는 기반이 됩니다. 이 기반을 사용하는 애플리케이션에서는 같은 대상과 관계를 재사용하며 조회, 분석과 변경을 연결할 수 있습니다.

두 계층을 연결해서 이해하기

구분데이터 계층객체 계층
주로 다루는 대상데이터셋과 처리 로직객체, 속성값, 링크와 액션
주요 질문자료를 어디서 가져왔고 어떻게 가공했는가?어떤 업무 대상이며 누구와 연결되고 무엇을 바꿀 수 있는가?
대표 작업수집, 정제, 결합, 변환과 품질 관리대상 검색, 관계 탐색, 업무 화면 구성과 변경 제출
결과를 이해하는 기준입력, 출력과 데이터 계보객체 유형의 정의, 현재 객체 상태와 실행 규칙

데이터셋의 값이 바뀌는 처리와 액션으로 객체를 편집하는 처리는 같은 실행이 아닙니다. 업무 결과를 조사할 때에는 어느 계층에서 어떤 변경을 수행했는지 확인해야 합니다. 객체와 객체 유형, 속성과 속성값의 구체적인 차이는 온톨로지 핵심 개념에서 설명합니다.