다중 데이터소스 객체 구성
다중 데이터소스 객체(Multi-datasource object, MDO)는 여러 입력의 속성을 하나의 객체 유형에 통합합니다. OSv2에서 데이터셋과 제한 뷰를 조합하여 사용할 수 있으며 OSv1이나 스트리밍 원천에는 지원하지 않습니다.
열 방향 통합과 행 방향 통합
지원하는 방식은 열 방향(Column-wise) MDO입니다. 같은 기본 키를 가진 자료의 서로 다른 속성 부분집합을 결합하므로 조인과 비슷합니다. 원천마다 다른 권한을 적용하여 속성별 접근을 제어할 수 있습니다.
같은 스키마의 완전한 객체들을 여러 원천에서 합치는 행 방향(Row-wise) MDO는 합집합과 비슷한 개념이지만 지원하지 않습니다. 행별 보안이 목적이면 제한 뷰를 사용하고, 제한 뷰로 해결할 수 없는 요구는 Palantir 담당자와 확인합니다.
입력과 기본 키 매핑
- Ontology Manager에서 OSv2 객체 유형을 만듭니다.
- 왼쪽 메타데이터의
Datasource에서Add new backing datasource로 새 데이터셋이나 제한 뷰를 선택합니다.
Map primary key에서 기존 객체 유형의 기본 키 값과 대응하는 열을 선택합니다.Backing datasource에 여러 입력이 표시되는지 확인하고,Properties에서 추가 원천의 열에 매핑할 속성을 구성합니다.
속성 원천의 단일성
기본 키를 제외한 속성 하나는 입력 데이터소스 하나에서만 값을 받아야 합니다. 여러 원천이 겹치는 속성에 값을 넣는 속성 다중성(Property multiplicity)은 지원하지 않습니다. 기본 키는 모든 원천에 있어야 결합할 수 있습니다.
서로 같은 정책을 가진 제한 뷰라도 정책에 쓰는 속성을 원천별로 따로 매핑해야 합니다. 정책 속성 하나를 여러 제한 뷰에 매핑할 수 없습니다. 화면을 정리하려면 일부 정책 속성을 숨길 수 있지만, 표시상 숨김이 별도 보안 정책을 대신하지는 않습니다.
일부 원천을 볼 수 없거나 행이 없는 경우
사용자가 특정 원천의 Viewer가 아니면 그 원천에 매핑한 속성값은 null로 표시합니다. 유형의 스키마 접근은 별도이므로 권한이 있는 사용자는 속성 이름을 계속 볼 수 있습니다.
원천들의 기본 키 집합이 서로 달라도 해당 원천에 없는 키의 속성은 null로 나타납니다. 따라서 null이 표시되었다는 사실만으로 원천 값이 실제 비어 있다고 판단하지 않아야 합니다. 행 부재나 접근 제한으로 값이 보이지 않는 경우도 있습니다.
편집, 구체화와 규모
MDO는 사용자 편집과 구체화를 지원합니다. 생성, 수정과 삭제의 필요한 접근 범위가 다르므로 객체 전체 권한 하나로 단순화하지 않습니다.
객체 유형 하나에는 객체 저장소로 동기화하는 데이터소스를 최대 70개 연결할 수 있습니다. 미디어 집합과 시계열 동기화는 이 개수에 포함하지 않습니다.
하나의 업무 대상으로 이해하는 자료라면 MDO로 한 유형에 구성할 수 있습니다. 사용자가 서로 다른 대상으로 이해하는 데이터라면 별도 객체 유형과 링크를 사용하는 모델도 적합합니다. 여러 유형 사이의 질의와 링크 탐색은 한 유형의 속성을 필터링하는 것보다 연산 비용이 큽니다.