Docs Menu
Docs Home
/
BI 커넥터
/

샘플링 유형 충돌

이 페이지의 내용

  • 스칼라-스칼라 충돌
  • 복합 충돌

버전 2.6에서 변경되었습니다.

MongoDB 의 유연한 스키마 모델은 특정 필드 에 여러 유형의 데이터를 포함할 수 있도록 허용하는 반면, 관계형 데이터베이스는 열을 단일 데이터 유형 으로 제한합니다. BI Connector 는 MongoDB 에서 데이터를 샘플링하여 관계형 스키마 모델을 생성하지만, BI Connector 가 MongoDB 문서의 필드 에서 다양한 데이터 유형을 샘플링할 때 유형 변환 충돌이 발생할 수 있습니다.

여러 데이터 유형이 있을 때 발생할 수 있는 유형 변환 충돌에는 스칼라 유형 간의 충돌과 문서 및 배열과 같은 복합 유형과 관련된 충돌, 이렇게 두 가지 주요 카테고리가 있습니다.

참고

스칼라-스칼라 충돌이 발생하면 BI Connector는 다음 격자를 사용하여 두 가지 데이터 유형 중 최소 상한을 결정합니다.

스칼라-스칼라 유형 격자
클릭하여 확대

예시

지정된 필드에 int, doublestring 유형이 포함된 경우 최소 상한은 string 입니다.

스칼라-스칼라 충돌이 발생하면 BI Connector는 information_schema.COLUMNS 테이블에 행을 삽입하고 COLUMN_COMMENT 열에 다양한 샘플링된 유형을 나열합니다.

복합 충돌은 문서 또는 배열과 관련된 유형 변환 충돌입니다. 다음 섹션에서는 BI Connector가 두 가지 유형의 복합 충돌을 해결하는 방법에 대해 설명합니다.

문서와 관련된 충돌이 발생하면 BI Connector는 점 표기법을 사용하여 문서 유형의 필드를 별도의 열로 표시합니다. 예를 들어, conflict collection에는 다음 문서가 포함되어 있습니다.

{ _id: 0, a: "foo" } // "a" is scalar (string)
{ _id: 1, a: { a: "bar", b: "baz" } } // "a" is composite (document)

BI Connector는 스칼라-복합 충돌을 감지하고 다음과 같은 관계형 스키마를 생성합니다.

테이블: conflict

_id
a
aa
ab
0
"foo"
NULL
NULL
1
NULL
"bar"
"baz"

문서와 관련된 충돌이 발생하면 BI Connector는 information_schema.COLUMNS 테이블에 행을 삽입하고 COLUMN_COMMENT 열에 다양한 샘플링된 유형을 나열합니다.

배열과 관련된 충돌이 발생하면 BI Connector는 충돌 필드에 외래 키, 배열 인덱스 및 값에 대한 열이 있는 새 테이블을 만듭니다. BI Connector는 배열을 새 테이블의 여러 행으로 풀고 그에 따라 열을 채웁니다. 예를 들어, conflict collection에는 다음 문서가 포함되어 있습니다.

{ _id: 0, a: "foo" } // "a" is scalar (string)
{ _id: 1, a: ["bar", "baz"] } // "a" is composite (array)

BI Connector는 위의 내용을 다음 두 테이블로 렌더링합니다.

테이블: conflict

_id
0
1

테이블: conflict_a

_id
a_idx
a
0
NULL
"foo"
1
0
"bar"
1
1
"baz"

배열과 관련된 충돌이 발생하면 BI Connector는 다음을 수행합니다.

  • information_schema.COLUMNS 테이블에 행을 삽입하고 COLUMN_COMMENT 열에서 샘플링된 다양한 유형을 나열합니다.

  • 배열이 information_schema.COLUMNS 테이블의 행에 매핑되는 방식에 대한 정보가 포함된 information_schema.TABLES 테이블에 행을 삽입합니다.

돌아가기

지리 공간 데이터