Docs Menu
Docs Home
/
BI Connector
/

サンプリング型の競合

項目一覧

  • スカラーとスカラーの競合
  • 複合競合

バージョン 2.6 で変更

MongoDB の柔軟なスキーマ モデルにより、特定のフィールドに複数のタイプのデータを含めることができますが、関係データベースでは列が 1 つのデータ型に制限されます。 BI Connector は MongoDB からデータをサンプリングしてリレーショナル スキーマモデルを生成しますが、BI Connector が MongoDB ドキュメントのフィールドから異なるデータ型をサンプリングすると、 型変換の競合が発生する可能性があります。

複数のデータ型がある場合に発生する可能性のある型変換競合には、スカラー型間の競合と、ドキュメントや配列などの複合型に関係する競合の 2 つの主要なカテゴリがあります。

注意

スカラーとスカラーの競合が発生すると、BI Connector は次のラッチを使用して、2 つの異なるデータ型の最小上限を決定します。

スカラー-スカラー型ラッチ
クリックして拡大します

特定のフィールドにintdoublestring型が含まれている場合、最小上限はstringです。

スカラーとスカラーの競合が発生すると、BI Connector はinformation_schema.COLUMNSテーブルに 行を挿入し、 COLUMN_COMMENT列にさまざまなサンプリングされた型を一覧表示します。

複合競合とは、ドキュメントまたは配列に関係する型変換の競合です。 次のセクションでは、BI Connector が両方のタイプの複合競合を解決する方法について説明します。

ドキュメントを含む競合が発生した場合、BI Connector は ドット表記 を使用してドキュメント型のフィールドを個別の列として表示します。 たとえば、 conflictコレクションには次のドキュメントが含まれています。

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

BI Connector は、スカラー複合サイトの競合を検出し、次のリレーショナル スキーマを生成します。

表: conflict

_id
a
a.a
a.b
0
"foo"
NULL
NULL
1
NULL
"bar"
"baz"

ドキュメントに関連する競合が発生した場合、BI Connector はinformation_schema.COLUMNSテーブルに 行を挿入し、 COLUMN_COMMENT列にさまざまなサンプリングされたタイプを一覧表示します。

配列に関連する競合が発生した場合、BI Connector は競合フィールドに、外部キー、配列インデックス、および値の列を持つ新しいテーブルを作成します。 BI Connector は、 配列を新しいテーブルの複数行に展開し、それに応じて列に入力します。 たとえば、 conflictコレクションには次のドキュメントが含まれています。

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

BI Connector は上記を次の 2 つのテーブルにレンダリングします。

表: 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テーブルに挿入します

戻る

地理空間データ