Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

온톨로지 저장과 조회 아키텍처

온톨로지(Ontology)는 데이터셋과 모델을 공장, 설비, 주문이나 거래 같은 업무 대상에 연결합니다. 객체, 속성과 링크가 대상을 표현하고, 액션과 함수 및 동적 보안이 업무에서 조회하고 변경하는 방식을 구성합니다.

온톨로지의 백엔드는 여러 서비스가 나누어 구현합니다. 데이터소스와 스키마를 관리하고, 권한에 맞춰 객체를 검색하거나 집계하며, 기반 데이터와 사용자 편집을 저장소에 반영합니다.

구성 서비스의 역할

서비스입력과 책임사용하는 결과
Ontology Metadata Service, OMS객체 유형, 링크 유형과 액션 유형 등 온톨로지 정의와 메타데이터를 관리합니다.인덱싱과 조회 및 액션 실행이 사용할 구조와 정의
객체 데이터베이스(Object databases)인덱싱한 객체 데이터를 저장하고 사용자 편집을 관리합니다.앱의 빠른 조회와 질의 계산에 필요한 객체 상태
Object Set Service, OSS앱과 서비스의 객체 읽기 요청을 받습니다.검색, 필터, 집계와 객체 로드 결과
Actions권한과 제출 조건에 따라 사용자 편집을 적용합니다.변경된 객체 상태와 선택적으로 생성한 액션 로그
Object Data Funnel데이터셋, 제한 뷰, 스트리밍 데이터소스와 액션 편집을 읽어 객체 데이터베이스로 인덱싱합니다.기반 데이터 갱신을 반영한 최신 인덱스
Functions on Objects대시보드와 업무 앱에서 사용할 로직을 실행합니다.객체를 이용한 계산 결과와 액션이 적용할 편집

OMS가 다루는 객체 유형 정의와 객체 데이터베이스에 저장하는 실제 객체 값은 다릅니다. OSS는 이 객체 값을 읽는 경로이며, 액션은 통제된 편집 경로입니다.

객체 집합의 정의와 수명

객체 집합(Object set)은 앱 사이에서 공유하거나 이후 다시 사용할 객체들의 집합입니다. 집합을 정의하는 방식과 저장 수명은 별도로 구분합니다.

구분저장하는 내용 또는 수명
정적 객체 집합(Static object set)기본 키 목록을 저장합니다. 기반 데이터가 바뀌어도 저장한 키 목록은 바뀌지 않습니다.
동적 객체 집합(Dynamic object set)집합을 만드는 필터를 저장합니다. 새 데이터가 필터 조건을 충족하면 집합에 반영됩니다.
임시 객체 집합(Temporary object set)앱이나 서비스 사이에서 집합을 전달하는 용도로 사용하며 생성한 사용자만 접근할 수 있습니다. 24시간 안에 만료됩니다.
영구 객체 집합(Permanent object set)이후 참조와 플랫폼 내 재사용을 위해 저장합니다.

임시 집합 RID의 형식 예시는 ri.object-set.main.temporary-object-set.37d7e171-2d11-4fcd-b031-9a0863f6f744입니다. 설명용 식별자이며 실제 조회 대상이 아닙니다. 정적 집합이 저장하는 것은 객체의 키 목록이지 모든 속성값의 고정 스냅샷이 아닙니다.

Object Storage v1의 통합 구조

구형 Object Storage v1(Phonograph)은 데이터 인덱싱과 저장, 사용자 편집, 검색과 집계 및 쓰기 반영을 한 백엔드에서 담당했습니다. 일부 앱은 그 저수준 API에 직접 접근했습니다.

OSv1의 지정된 지원 종료일은 2026년 6월 30일입니다. 신규 온톨로지와 이전을 완료한 온톨로지는 OSv2를 사용합니다. 기존 리소스의 구조를 확인하려면 Phonograph 등록과 인덱싱을, 남은 이전 대상은 OSv2 이전 절차를 확인합니다. Upgrade Assistant의 Migrate object types and many-to-many link types from Object Storage v1 to v2 개입 항목에서도 이전 대상을 안내합니다.

Object Storage v2의 역할 분리

Object Storage v2는 인덱싱과 질의의 책임을 나누어 확장합니다. Funnel이 데이터소스와 사용자 편집을 처리하여 객체 데이터베이스에 반영하고, OSS가 앱의 읽기 요청을 처리합니다.

OSv2는 모든 객체 유형에 기본 증분 인덱싱을 적용합니다. 단일 유형의 수백억 객체 규모 인덱싱과 스트리밍 데이터소스의 저지연 반영을 지원하며, 다중 데이터소스 객체의 열 또는 속성 단위 권한을 구성할 수 있습니다.

사용자 편집의 처리량과 반영 지연을 개선하고, 호환성을 깨는 스키마 변경 후에도 기존 편집을 이전할 수 있습니다. 한 액션의 기본 편집 한도는 객체 10,000개이며, 더 큰 한도가 필요하면 Palantir Support에 플랫폼 인스턴스의 변경을 요청합니다. 객체 유형 하나의 속성은 최대 2,000개입니다.

큰 Search Around와 집계는 Spark 기반 질의 실행을 사용할 수 있습니다. 100,000개 기준은 메모리 실행에서 더 큰 실행 경로로 넘어가는 조건과 구분해야 합니다. 실제 반환 규모에는 OSS 질의의 단계별 한도가 적용되며, 필요한 규모가 지원 설정을 넘으면 Palantir Support와 확대 가능성을 확인합니다. 집계 정확도는 버킷별 값과 반환된 버킷 목록의 정확성을 따로 판단해야 합니다.

저수준 OSv1 API를 사용하던 앱은 저장소 교체만으로 호환되지 않습니다. API와 기능 차이를 검토하고 읽기는 OSS, 편집은 액션, 유형 메타데이터는 OMS를 사용하는 경로로 옮깁니다.