異種データベースでは、サポートされるデータ型が異なります。Data Transmission Service (DTS) を使用して異種データベース間でデータを同期する場合、DTS は初期スキーマ同期中にデータ型をマッピングします。このプロセスでは、ソースデータベースのデータ型がターゲットデータベースでサポートされるデータ型に変換されます。このトピックでは、データ同期がビジネスに与える影響を評価するのに役立つデータ型マッピングについて説明します。
概要
このセクションでは、次のデータ同期シナリオにおける異種データベース間のデータ型マッピングについて説明します:
MySQL ソースからのデータ同期
ソースデータベースが RDS for MySQL インスタンス、自己管理 MySQL データベース、または PolarDB for MySQL クラスターなどの MySQL データベースであり、宛先インスタンスが AnalyticDB for MySQL や AnalyticDB for PostgreSQL などの異種データベースである場合、データ型マッピングは次のようになります:
ソースインスタンスから同期されるデータの値の範囲が DTS でサポートされている範囲を超えると、宛先インスタンスにデータが書き込まれるときにデータの精度が低下します。
宛先インスタンス:AnalyticDB for MySQL または AnalyticDB for PostgreSQL
AnalyticDB for MySQL にデータを同期する場合、次の点にご注意ください:
DTS は、ソースデータベースの
AUTO_INCREMENT属性を持つINTフィールドを、ターゲットデータベースのBIGINT型に変換します。パフォーマンスへの影響を避けるため、
JOIN操作で使用されるテーブルにINTフィールドとBIGINTフィールドの両方が含まれている場合は、ターゲットデータベースで両方のフィールドが同じデータ型 (INTまたはBIGINT) を使用するようにしてください。
タイプ | ソースデータ型 | 値の範囲 | AnalyticDB for MySQL のデータ型 | AnalyticDB for PostgreSQL のデータ型 |
整数 | BIT[(M)] | 1 から 64 | VARCHAR | BIT[(M)] |
TINYINT[(M)] | -128 から 127 | TINYINT | SMALLINT | |
TINYINT[(M)] [UNSIGNED] | 0 から 255 | SMALLINT | SMALLINT | |
SMALLINT[(M)] | -32768 から 32767 | SMALLINT | SMALLINT | |
SMALLINT[(M)] [UNSIGNED] | 0 から 65535 | INT | INTEGER | |
MEDIUMINT[(M)] | -8388608 から 8388607 | INT | INTEGER | |
MEDIUMINT[(M)] [UNSIGNED] | 0 から 16777215 | INT | INTEGER | |
INT[(M)] | -2147483648 から 2147483647 | INT | INTEGER | |
INT[(M)] [UNSIGNED] | 0 から 4294967295 | BIGINT | BIGINT | |
BIGINT[(M)] | -9223372036854775808 から 9223372036854775807 | BIGINT | BIGINT | |
BIGINT[(M)] [UNSIGNED] | 0 から 18446744073709551615 | DECIMAL(20,0) | NUMERIC(20) | |
10進数 | DECIMAL[(M[,D])] | M:0 から 65 D:0 から 30 | DECIMAL[(M[,D])] | DECIMAL[(M[,D])] |
FLOAT(p) | 1.175494351E-38 から 3.402823466E+38 | FLOAT | REAL | |
DOUBLE[(M,D)] | 2.2250738585072014E-308 から 1.7976931348623157E+308 | DOUBLE | DOUBLE PRECISION | |
時間型 | DATE | 1000-01-01 から 9999-12-31 説明 フォーマット:YYYY-MM-DD。 | DATE | DATE |
DATETIME[(fsp)] | 1000-01-01 00:00:00.000000 から 9999-12-31 23:59:59.999999 説明 フォーマット:YYYY-MM-DD hh:mm:ss[.fraction] (UTC)。 | DATETIME | TIMESTAMP | |
TIMESTAMP[(fsp)] | 1970-01-01 00:00:01.000000 から 2038-01-19 03:14:07.999999 説明 フォーマット:YYYY-MM-DD hh:mm:ss[.fraction] (UTC)。 | TIMESTAMP | TIMESTAMP WITH TIME ZONE | |
TIME[(fsp)] | -838:59:59.000000 から 838:59:59.000000 説明 フォーマット:hh:mm:ss[.fraction] (UTC)。 | TIME | TIMESTAMP WITH TIME ZONE | |
YEAR[(4)] | 1901 から 2155、または 0000 | INT | INTEGER | |
文字列 | CHAR[(M)] | 0 から 255 文字 | VARCHAR | CHAR |
VARCHAR(M) | 0 から 65,535 文字 | VARCHAR | VARCHAR | |
BINARY[(M)] | 0 から 255 バイト | VARBINARY | BYTEA | |
VARBINARY(M) | 0 から 65,535 バイト | VARBINARY | BYTEA | |
TINYBLOB | 255 (2^8 - 1) バイト | VARBINARY | BYTEA | |
TINYTEXT | 255 (2^8 - 1) 文字 | VARCHAR | TEXT | |
BLOB | 65,535 (2^16 - 1) バイト | VARBINARY | BYTEA | |
TEXT | 65,535 (2^16 - 1) 文字 | VARCHAR | TEXT | |
MEDIUMBLOB | 16,777,215 (2^24 - 1) バイト | VARBINARY | BYTEA | |
MEDIUMTEXT | 16,777,215 (2^24 - 1) 文字 | VARCHAR | TEXT | |
LONGBLOB | 4,294,967,295 または 4 GB (2^32 - 1) バイト | VARBINARY | BYTEA | |
LONGTEXT | 4,294,967,295 または 4 GB (2^32 - 1) 文字 | VARCHAR | TEXT | |
ENUM('value1','value2',...) | 最大 65,535 個の列挙値。 | VARCHAR | VARCHAR(128) | |
SET('value1','value2',...) | 最大 64 個の要素。 | VARCHAR | VARCHAR(128) | |
スペースの種類 | GEOMETRY | 任意のジオメトリ型の値。 | VARBINARY | POLYGON |
POINT | なし | VARBINARY | POINT | |
LINESTRING | なし | VARBINARY | PATH | |
POLYGON | なし | VARBINARY | POLYGON | |
MULTIPOINT | なし | VARBINARY | POLYGON | |
MULTILINESTRING | なし | VARBINARY | PATH | |
MULTIPOLYGON | なし | VARBINARY | POLYGON | |
GEOMETRYCOLLECTION | 任意のジオメトリ型の値のコレクション。 | VARBINARY | POLYGON | |
JSON データ型 | JSON | なし | JSON | JSON |
宛先インスタンス:DataHub、Kafka (Message Queue for Apache Kafka または自己管理 Kafka)
タイプ | ソースデータ型 | 値の範囲 | DataHub のデータ型 | Message Queue for Apache Kafka または自己管理 Kafka のデータ型 |
整数 | BIT[(M)] | 1 から 64 | BOOLEAN | STRING | MySQL または PolarDB for MySQL のデータ型と同じです。 |
TINYINT[(M)] | -128 から 127 | BIGINT | ||
TINYINT[(M)] [UNSIGNED] | 0 から 255 | BIGINT | ||
SMALLINT[(M)] | -32768 から 32767 | BIGINT | ||
SMALLINT[(M)] [UNSIGNED] | 0 から 65535 | BIGINT | ||
MEDIUMINT[(M)] | -8388608 から 8388607 | BIGINT | ||
MEDIUMINT[(M)] [UNSIGNED] | 0 から 16777215 | BIGINT | ||
INT[(M)] | -2147483648 から 2147483647 | BIGINT | ||
INT[(M)] [UNSIGNED] | 0 から 4294967295 | BIGINT | ||
BIGINT[(M)] | -9223372036854775808 から 9223372036854775807 | BIGINT | ||
BIGINT[(M)] [UNSIGNED] | 0 から 18446744073709551615 | BIGINT | ||
10進数 | DECIMAL[(M[,D])] | M:0 から 65 D:0 から 30 | DECIMAL | |
FLOAT(p) | 1.175494351E-38 から 3.402823466E+38 | DOUBLE | ||
DOUBLE[(M,D)] | 2.2250738585072014E-308 から 1.7976931348623157E+308 | DOUBLE | ||
時間 | DATE | 1000-01-01 から 9999-12-31 説明 フォーマット:YYYY-MM-DD。 | TIMESTAMP | |
DATETIME[(fsp)] | 1000-01-01 00:00:00.000000 から 9999-12-31 23:59:59.999999 説明 フォーマット:YYYY-MM-DD hh:mm:ss[.fraction] (UTC)。 | TIMESTAMP | ||
TIMESTAMP[(fsp)] | 1970-01-01 00:00:01.000000 から 2038-01-19 03:14:07.999999 説明 フォーマット:YYYY-MM-DD hh:mm:ss[.fraction] (UTC)。 | TIMESTAMP | ||
TIME[(fsp)] | -838:59:59.000000 から 838:59:59.000000 説明 フォーマット:hh:mm:ss[.fraction] (UTC)。 | STRING | ||
YEAR[(4)] | 1901 から 2155、または 0000 | STRING | ||
文字列 | CHAR[(M)] | 0 から 255 文字 | STRING | |
VARCHAR(M) | 0 から 65,535 文字 | STRING | ||
BINARY[(M)] | 0 から 255 バイト | STRING | ||
VARBINARY(M) | 0 から 65,535 バイト | STRING | ||
TINYBLOB | 255 (2^8 - 1) バイト | STRING | ||
TINYTEXT | 255 (2^8 - 1) 文字 | STRING | ||
BLOB | 65,535 (2^16 - 1) バイト | STRING | ||
TEXT | 65,535 (2^16 - 1) 文字 | STRING | ||
MEDIUMBLOB | 16,777,215 (2^24 - 1) バイト | STRING | ||
MEDIUMTEXT | 16,777,215 (2^24 - 1) 文字 | STRING | ||
LONGBLOB | 4,294,967,295 または 4 GB (2^32 - 1) バイト | STRING | ||
LONGTEXT | 4,294,967,295 または 4 GB (2^32 - 1) 文字 | STRING | ||
ENUM('value1','value2',...) | 最大 65,535 個の要素。 | STRING | ||
SET('value1','value2',...) | 最大 64 個の要素。 | STRING | ||
空間データ型 | GEOMETRY | 任意のジオメトリ型の値。 | STRING | |
POINT | なし | STRING | ||
LINESTRING | なし | STRING | ||
POLYGON | なし | STRING | ||
MULTIPOINT | なし | STRING | ||
MULTILINESTRING | なし | STRING | ||
MULTIPOLYGON | なし | STRING | ||
GEOMETRYCOLLECTION | 任意のジオメトリ型の値のコレクション。 | STRING | ||
JSON 型 | JSON | なし | STRING |
宛先インスタンス:MaxCompute、Elasticsearch、または ClickHouse
タイプ | ソースデータ型 | 値の範囲 | MaxCompute | Elasticsearch | ClickHouse |
整数 | BIT[(M)] | 1 から 64 | BOOLEAN | STRING | BOOLEAN | LONG 説明 値が 1 バイトのみの場合は、Elasticsearch で BOOLEAN 型を使用します。 | UInt8 |
TINYINT[(M)] | -128 から 127 | BIGINT | SHORT | Int8 | |
TINYINT[(M)] [UNSIGNED] | 0 から 255 | BIGINT | INTEGER | UInt8 | |
SMALLINT[(M)] | -32768 から 32767 | BIGINT | SHORT | Int16 | |
SMALLINT[(M)] [UNSIGNED] | 0 から 65535 | BIGINT | INTEGER | UInt16 | |
MEDIUMINT[(M)] | -8388608 から 8388607 | BIGINT | INTEGER | Int32 | |
MEDIUMINT[(M)] [UNSIGNED] | 0 から 16777215 | BIGINT | INTEGER | Int32 | |
INT[(M)] | -2147483648 から 2147483647 | BIGINT | INTEGER | Int32 | |
INT[(M)] [UNSIGNED] | 0 から 4294967295 | BIGINT | LONG | UInt32 | |
BIGINT[(M)] | -9223372036854775808 から 9223372036854775807 | BIGINT | LONG | Int64 | |
BIGINT[(M)] [UNSIGNED] | 0 から 18446744073709551615 | BIGINT | LONG | UInt64 | |
10進数 | DECIMAL[(M[,D])] | M:0 から 65 D:0 から 30 | DOUBLE | DOUBLE 説明 DECIMAL 値に小数点が含まれている場合は、データ整合性を確保するために Elasticsearch で TEXT 型を使用します。 | DECIMAL |
FLOAT(p) | 1.175494351E-38 から 3.402823466E+38 | DOUBLE | FLOAT | Float32 | |
DOUBLE[(M,D)] | 2.2250738585072014E-308 から 1.7976931348623157E+308 | DOUBLE | DOUBLE | Float64 | |
時間 | DATE | 1000-01-01 から 9999-12-31 説明 フォーマット:YYYY-MM-DD。 | DATETIME | DATE 説明 フォーマット:YYYY-MM-DD。詳細については、「日付フォーマット」をご参照ください。 | DATE32 説明 ClickHouse の DATE 型の値の範囲は MySQL よりも狭いです。ClickHouse でも DATE 型を使用すると、データの書き込みに失敗する可能性があります。 |
DATETIME[(fsp)] | 1000-01-01 00:00:00.000000 から 9999-12-31 23:59:59.999999 説明 フォーマット:YYYY-MM-DD hh:mm:ss[.fraction] (UTC)。 | DATETIME | DATE 説明 DATE フォーマットは yyyy-MM-dd'T'HH:mm:ss (UTC) です。精度がマイクロ秒の場合、フォーマットは yyyy-MM-dd'T'HH:mm:ss.S です。詳細については、「日付フォーマット」をご参照ください。 | DATETIME64 説明 ClickHouse の DATETIME 型の値の範囲は MySQL よりも狭いです。ClickHouse でも DATETIME 型を使用すると、データの書き込みに失敗する可能性があります。 | |
TIMESTAMP[(fsp)] | 1970-01-01 00:00:01.000000 から 2038-01-19 03:14:07.999999 説明 フォーマット:YYYY-MM-DD hh:mm:ss[.fraction] (UTC)。 | DATETIME | DATE 説明 DATE フォーマットは yyyy-MM-dd'T'HH:mm:ss (UTC) です。精度がマイクロ秒の場合、フォーマットは yyyy-MM-dd'T'HH:mm:ss.S です。詳細については、「日付フォーマット」をご参照ください。 | DATETIME 説明 タイムゾーン情報は含まれません。 | |
TIME[(fsp)] | -838:59:59.000000 から 838:59:59.000000 説明 フォーマット:hh:mm:ss[.fraction] (UTC)。 | STRING | DATE 説明 フォーマット:YYYY-MM-DD。詳細については、「日付フォーマット」をご参照ください。 | STRING | |
YEAR[(4)] | 1901 から 2155、または 0000 | STRING | DATE 説明 DATE フォーマットは yyyy です。詳細については、「日付フォーマット」をご参照ください。 | Int16 | |
文字列 | CHAR[(M)] | 0 から 255 文字 | STRING | KEYWORD | STRING |
VARCHAR(M) | 0 から 65,535 文字 | STRING |
| STRING | |
BINARY[(M)] | 0 から 255 バイト | STRING | BINARY | STRING | |
VARBINARY(M) | 0 から 65,535 バイト | STRING | BINARY | STRING | |
TINYBLOB | 255 (2^8 - 1) バイト | STRING | BINARY | STRING | |
TINYTEXT | 255 (2^8 - 1) 文字 | STRING | TEXT | STRING | |
BLOB | 65,535 (2^16 - 1) バイト | STRING | BINARY | STRING | |
TEXT | 65,535 (2^16 - 1) 文字 | STRING | TEXT | STRING | |
MEDIUMBLOB | 16,777,215 (2^24 - 1) バイト | STRING | BINARY | STRING | |
MEDIUMTEXT | 16,777,215 (2^24 - 1) 文字 | STRING | TEXT | STRING | |
LONGBLOB | 4,294,967,295 または 4 GB (2^32 - 1) バイト | STRING | BINARY | STRING | |
LONGTEXT | 4,294,967,295 または 4 GB (2^32 - 1) 文字 | STRING | TEXT | STRING | |
ENUM('value1','value2',...) | 最大 65,535 個の列挙値。 | STRING | KEYWORD | ENUM | |
SET('value1','value2',...) | 最大 64 個の要素。 | STRING | KEYWORD | STRING | |
スペースの種類 | GEOMETRY | 任意のジオメトリ型の値。 | STRING | GEO_SHAPE | STRING |
POINT | なし | STRING | GEO_POINT | STRING | |
LINESTRING | なし | STRING | GEO_SHAPE | STRING | |
POLYGON | なし | STRING | GEO_SHAPE | STRING | |
MULTIPOINT | なし | STRING | GEO_SHAPE 説明 値が 1 バイトのみの場合は、Elasticsearch で BOOLEAN 型を使用します。 | STRING | |
MULTILINESTRING | なし | STRING | GEO_SHAPE | STRING | |
MULTIPOLYGON | なし | STRING | GEO_SHAPE | STRING | |
GEOMETRYCOLLECTION | 任意のジオメトリ型の値のコレクション。 | STRING | GEO_SHAPE | STRING | |
JSON 型 | JSON | なし | STRING | OBJECT 説明 値が 1 バイトのみの場合は、Elasticsearch で BOOLEAN 型を使用します。 | STRING |
宛先インスタンス:Tablestore
ソースデータ型 | Tablestore での対応するデータ型 |
INTEGER | INTEGER |
INT | INTEGER |
SMALLINT | INTEGER |
TINYINT | INTEGER |
MEDIUMINT | INTEGER |
BIGINT | INTEGER |
DECIMAL | DOUBLE |
NUMERIC | DOUBLE |
FLOAT | DOUBLE |
DOUBLE | DOUBLE |
BIT | BOOLEAN |
DATE | STRING または INTEGER 説明 デフォルト値は STRING です。 |
TIMESTAMP | |
DATETIME | |
TIME | |
YEAR | |
CHAR | STRING |
VARCHAR | STRING |
BINARY | BINARY |
VARBINARY | BINARY |
TINYBLOB/BLOB/MEDIUMBLOB/LONGBLOB | BINARY |
TINYTEXT/TEXT/MEDIUMTEXT/LONGTEXT | STRING |
ENUM | STRING |
SET | STRING |
GEOMETRY | STRING |
POINT | STRING |
LINESTRING | STRING |
POLYGON | STRING |
MULTIPOINT | STRING |
MULTILINESTRING | STRING |
MULTIPOLYGON | STRING |
GEOMETRYCOLLECTION | STRING |
JSON | STRING |
宛先インスタンス:Lindorm
ソースデータ型 | Lindorm での対応するデータ型 |
BOOLEAN | BOOLEAN |
BIT | BOOLEAN |
TINYINT | TINYINT |
SMALLINT | SMALLINT |
INTEGER | INTEGER |
BIGINT | BIGINT |
BIGINT UNSIGNED 重要 BIGINT の値の範囲 (-9223372036854775808 から 9223372036854775807) 内のデータのみがサポートされます。 | BIGINT |
FLOAT | FLOAT |
DOUBLE | DOUBLE |
DECIMAL | DECIMAL 重要 精度は、ソースインスタンスの対応するフィールドの精度と同じである必要があります。 |
CHAR/VARCHAR/TEXT/TINYTEXT/MEDIUMTEXT/LONGTEXT | CHAR/VARCHAR |
BINARY | BINARY |
BLOB | VARBINARY |
VARBINAY | VARBINARY |
TIMESTAMP | TIMESTAMP |
YEAR | INTEGER |
DATE | ターゲットの Lindorm インスタンスのバージョンに応じてオプションを選択します。
|
DATETIME | VARCHAR 重要
|
TIME | ターゲットの Lindorm インスタンスのバージョンに基づいてオプションを選択します。
|
JSON | JSON |
宛先インスタンス:Oracle
タイプ | ソースデータ型 | 値の範囲 | Oracle のデータ型 |
整数 | BIT[(M)] | 1 から 64 | NUMBER(2,0) |
TINYINT[(M)] | -128 から 127 | NUMBER(3,0) | |
TINYINT[(M)] [UNSIGNED] | 0 から 255 | NUMBER(3,0) | |
SMALLINT[(M)] | -32768 から 32767 | NUMBER(5,0) | |
SMALLINT[(M)] [UNSIGNED] | 0 から 65535 | NUMBER(5,0) | |
MEDIUMINT[(M)] | -8388608 から 8388607 | NUMBER(7,0) | |
MEDIUMINT[(M)] [UNSIGNED] | 0 から 16777215 | NUMBER(7,0) | |
INT[(M)] | -2147483648 から 2147483647 | INT | |
INT[(M)] [UNSIGNED] | 0 から 4294967295 | NUMBER(10,0) | |
BIGINT[(M)] | -9223372036854775808 から 9223372036854775807 | NUMBER(20,0) | |
BIGINT[(M)] [UNSIGNED] | 0 から 18446744073709551615 | NUMBER(20,0) | |
10進数 | DECIMAL[(M[,D])] | M:0 から 65 D:0 から 30 | NUMBER(M,D) 説明 精度とスケールが指定されていない場合、データ型は NUMBER に変換されます。 |
FLOAT(p) | 1.175494351E-38 から 3.402823466E+38 | FLOAT | |
DOUBLE[(M,D)] | 2.2250738585072014E-308 から 1.7976931348623157E+308 | DOUBLE | |
時間 | DATE | 1000-01-01 から 9999-12-31 説明 フォーマット:YYYY-MM-DD。 | DATE |
DATETIME[(fsp)] | 1000-01-01 00:00:00.000000 から 9999-12-31 23:59:59.999999 説明 フォーマット:YYYY-MM-DD hh:mm:ss[.fraction] (UTC)。 | TIMESTAMP[(fsp)] 説明 精度が指定されていない場合、データ型は TIMESTAMP(0) に変換されます。 | |
TIMESTAMP[(fsp)] | 1970-01-01 00:00:01.000000 から 2038-01-19 03:14:07.999999 説明 フォーマット:YYYY-MM-DD hh:mm:ss[.fraction] (UTC)。 | TIMESTAMP[(fsp)] WITH LOCAL TIME ZONE 説明 精度が指定されていない場合、データ型は TIMESTAMP[(0)] WITH LOCAL TIME ZONE に変換されます。 | |
TIME[(fsp)] | -838:59:59.000000 から 838:59:59.000000 説明 フォーマット:hh:mm:ss[.fraction] (UTC)。 | サポートされていません | |
YEAR[(4)] | 1901 から 2155、または 0000 | INT | |
文字列 | CHAR[(M)] | 0 から 255 文字 | CHAR[(M)] 説明 長さが指定されていない場合、データ型は CHAR(1) に変換されます。 |
VARCHAR(M) | 0 から 65,535 文字 | VARCHAR(M) | |
BINARY[(M)] | 0 から 255 バイト | RAW(M) 説明 長さが指定されていない場合、データ型は RAW(1) に変換されます。 | |
VARBINARY(M) | 0 から 65,535 バイト | RAW(M) | |
TINYBLOB | 255 (2^8 - 1) バイト | BLOB | |
TINYTEXT | 255 (2^8 - 1) 文字 | TEXT | |
BLOB | 65,535 (2^16 - 1) バイト | BLOB | |
TEXT | 65,535 (2^16 - 1) 文字 | TEXT | |
MEDIUMBLOB | 16,777,215 (2^24 - 1) バイト | BLOB | |
MEDIUMTEXT | 16,777,215 (2^24 - 1) 文字 | TEXT | |
LONGBLOB | 4,294,967,295 または 4 GB (2^32 - 1) バイト | BLOB | |
LONGTEXT | 4,294,967,295 または 4 GB (2^32 - 1) 文字 | TEXT | |
ENUM('value1','value2',...) | 最大 65,535 個の列挙値。 | サポートされていません | |
SET('value1','value2',...) | 最大 64 個の要素。 | サポートされていません | |
スペースの種類 | GEOMETRY | 任意のジオメトリ型の値。 | サポートされていません |
POINT | なし | サポートされていません | |
LINESTRING | なし | サポートされていません | |
POLYGON | なし | サポートされていません | |
MULTIPOINT | なし | サポートされていません | |
MULTILINESTRING | なし | サポートされていません | |
MULTIPOLYGON | なし | サポートされていません | |
GEOMETRYCOLLECTION | 任意のジオメトリ型の値のコレクション。 | サポートされていません | |
JSON 型 | JSON | なし | CLOB |
Oracle ソースからのデータ同期
ソースインスタンスが自己管理 Oracle データベースで、宛先インスタンスが AnalyticDB for PostgreSQL などの異種データベースである場合、データ型マッピングは次のようになります:
ソースインスタンスから同期されるデータの値の範囲が DTS でサポートされている範囲を超えると、宛先インスタンスにデータが書き込まれるときにデータの精度が低下します。
タイプ | Oracle のデータ型 | 値の範囲 | MySQL、PolarDB for MySQL、または PolarDB-X のデータ型 | AnalyticDB for PostgreSQL のデータ型 |
数値 | NUMBER(p,s) | 1 から 22 バイト。 p は精度を指定します。値の範囲は 1 から 38 です。 s はスケールを指定します。値の範囲は -84 から 127 です。 | DECIMAL[(p[,s])] 説明 精度とスケールが指定されていない場合、データ型は DECIMAL(65,30) にマッピングされます。 | DECIMAL | TINYINT | SMALLINT | INTEGER | BIGINT |
FLOAT(p) | 1 から 22 バイト。 p はポインター変数を指定します。値の範囲は 1 から 126 ビットです。 | DOUBLE | DOUBLE PRECISION | |
BINARY_FLOAT | 32 ビット浮動小数点数、4 バイト。 | FLOAT | DOUBLE PRECISION | |
BINARY_DOUBLE | 64 ビット浮動小数点数、8 バイト。 | DOUBLE | DOUBLE PRECISION | |
日付 | DATE | なし | DATETIME | TIMESTAMP(0) |
TIMESTAMP [(fractional_seconds_precision)] | なし | DATETIME[(fractional_seconds_precision)] | TIMESTAMP | |
TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE | なし | DATETIME[(fractional_seconds_precision)] | TIMESTAMP WITH TIME ZONE | |
TIMESTAMP [(fractional_seconds_precision)] WITH LOCAL TIME ZONE | なし | DATETIME[(fractional_seconds_precision)] | TIMESTAMP WITH TIME ZONE | |
INTERVAL YEAR [(year_precision)] TO MONTH | なし | サポートされていません | VARCHAR(32) | |
INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)] | なし | サポートされていません | VARCHAR(32) | |
文字列 | CHAR [(size [BYTE | CHAR])] | 2,000 バイト。 | CHAR[(n)] 説明 長さが指定されていない場合、データ型は CHAR(1) にマッピングされます。 | CHAR |
NCHAR[(size)] | 2,000 バイト。 | NATIONAL CHAR[(n)] 説明 長さが指定されていない場合、データ型は NATIONAL CHAR(1) にマッピングされます。 | VARCHAR | |
VARCHAR(size [BYTE | CHAR]) | MAX_STRING_SIZE が EXTENDED に設定されている場合、最大長は 32,767 バイトです。 MAX_STRING_SIZE が STANDARD に設定されている場合、最大長は 4,000 バイトです。 | VARCHAR(n) | VARCHAR(n) | |
VARCHAR2(size [BYTE | CHAR]) | MAX_STRING_SIZE が EXTENDED に設定されている場合、最大長は 32,767 バイトです。 MAX_STRING_SIZE が STANDARD に設定されている場合、最大長は 4,000 バイトです。 | VARCHAR(n) | VARCHAR | |
NVARCHAR2(size) | MAX_STRING_SIZE が EXTENDED に設定されている場合、最大長は 32,767 バイトです。 MAX_STRING_SIZE が STANDARD に設定されている場合、最大長は 4,000 バイトです。 | NATIONALVARCHAR[(n)] | VARCHAR | |
LONG | 最大長は 2 GB (2^31-1) です。 | LONGTEXT | TEXT | |
RAW(size) | 最大長は 32,767 バイトまたは 2,000 バイトです。 | BINARY(2*size) | BYTEA | |
LONG RAW | 最大長は 2 GB です。 | LONGBLOB | BYTEA | |
CLOB | 最大長は (4 GB -1) × DB_BLOCK_SIZE です。 | LONGTEXT | TEXT | |
NCLOB | 最大長は (4 GB - 1) × DB_BLOCK_SIZE です。 | LONGTEXT | TEXT | |
BLOB | 最大長は (4 GB - 1) × DB_BLOCK_SIZE です。 | LONGBLOB | BYTEA | |
BFILE | 4G。 | サポートされていません | サポートされていません | |
JSON 型 | JSON | 最大長は 32 MB です。 | サポートされていません | JSON |
ROWID 型 | ROWID | 64 文字。 | サポートされていません | OID |
UROWID | 64 文字。 | サポートされていません | サポートされていません | |
スペースの種類 | カスタマイズが必要です。 | サポートされていません | ||
DTS は、AnalyticDB for PostgreSQL でサポートされていないフィールドタイプを BYTEA に変換します。変換に失敗した場合、DTS はフィールド値を NULL に設定します。
PostgreSQL ソースからのデータ同期
ソースインスタンスが自己管理 PostgreSQL データベースや RDS for PostgreSQL インスタンスなどの PostgreSQL データベースであり、宛先インスタンスが AnalyticDB for PostgreSQL などの異種データベースである場合、データ型マッピングは次のようになります:
ソースインスタンスから同期されるデータの値の範囲が DTS でサポートされている範囲を超えると、宛先インスタンスにデータが書き込まれるときにデータの精度が低下します。
タイプ | PostgreSQL のデータ型 | 値の範囲 | AnalyticDB for PostgreSQL のデータ型 |
整数 | SMALLINT | -32768 から +32767 | SMALLINT |
INTEGER | -2147483648 から +2147483647 | INTEGER | |
BIGINT | -9223372036854775808 から +9223372036854775807 | BIGINT | |
10進数 | DECIMAL | 小数点の前が最大 131,072 桁、小数点の後が最大 16,383 桁。 | DECIMAL |
NUMERIC | 小数点の前が最大 131,072 桁、小数点の後が最大 16,383 桁。 | NUMERIC | |
REAL | 6 桁の 10 進精度 | REAL | |
DOUBLE PRECISION | 15 桁の 10 進精度 | DOUBLE PRECISION | |
通貨 | MONEY | -92233720368547758.08 から +92233720368547758.07 | MONEY |
文字列 | CHARACTER VARYING(n) | なし | CHARACTER VARYING(n) |
CHARACTER(n) | なし | CHARACTER(n) | |
TEXT | なし | TEXT | |
CHAR | デフォルト:1 バイト。 | CHAR | |
NAME | 最大長:64 バイト。 | NAME | |
テキスト検索 | TSQUERY | テキストクエリを示します。 | TEXT |
TSVECTOR | テキスト検索に最適化された形式のドキュメントを示します。 | TEXT | |
バイナリデータ | BYTEA | 1 または 4 バイトに実際のバイナリ文字列を加えたもの。 | BYTEA |
日付 | TIMESTAMP [ (p) ] [ WITHOUT TIME ZONE ] | タイムゾーンなしの日付と時刻を示します。ストレージサイズは 8 バイトです。 | TIMESTAMP [ (p) ] [ WITHOUT TIME ZONE ] |
TIMESTAMP [ (p) ] WITH TIME ZONE | タイムゾーン付きの日付と時刻を示します。ストレージサイズは 8 バイトです。 | TIMESTAMP [ (p) ] WITH TIME ZONE | |
DATE | 日付を示します。ストレージサイズは 4 バイトです。 | DATE | |
TIME [ (p) ] [ WITHOUT TIME ZONE ] | タイムゾーンなしの時刻を示します。ストレージサイズは 8 バイトです。 | TIME [ (p) ] [ WITHOUT TIME ZONE ] | |
TIME [ (p) ] WITH TIME ZONE | タイムゾーン付きの時刻を示します。ストレージサイズは 12 バイトです。 | TIME [ (p) ] WITH TIME ZONE | |
interval [ fields ] [ (p) ] | 時間間隔を示します。ストレージサイズは 16 バイトです。 | interval [ fields ] [ (p) ] | |
ブール値 | BOOLEAN | 1 バイト | BOOLEAN 重要 宛先インスタンスが ClickHouse の場合、データ型は STRING に変換されます。 |
列挙型 | カスタム列挙 | なし | VARCHAR(128) |
空間データ型 | POINT | 平面上の点。最大長は 16 バイトです。 | POINT |
LINE | 無限線。最大長は 32 バイトです。 | LINE | |
LSEG | 有限線分。最大長は 32 バイトです。 | LSEG | |
BOX | 矩形ボックス。最大長は 32 バイトです。 | BOX | |
PATH | パス。最大長は 16+16n バイトです。 | PATH | |
POLYGON | ポリゴン (閉じたパスに似ています)。最大長は 40+16n バイトです。 | POLYGON | |
CIRCLE | 円。最大長は 24 バイトです。 | CIRCLE | |
ネットワークアドレス | CIDR | IPv4 および IPv6 ネットワーク。最大長は 7 または 19 バイトです。 | CIDR |
INET | IPv4 および IPv6 ホストとネットワーク。最大長は 7 または 19 バイトです。 | INET | |
MACADDR | MAC アドレス。最大長は 6 バイトです。 | MACADDR | |
MACADDR8 | EUI-64 形式の MAC アドレス。最大長は 8 バイトです。 | MACADDR8 | |
ビット文字列型 | Bit (n) | なし | Bit (n) |
BIT VARYING (n) | なし | BIT VARYING (n) | |
UUID | UUID | なし | VARCHAR(64) |
XML 型 | XML | なし | XML |
JSON 型 | JSON | なし | JSON |
JSONB | なし | JSONB |
SQL Server ソースからのデータ同期
ソースインスタンスが自己管理 SQL Server データベースや RDS for SQL Server インスタンスなどの SQL Server データベースであり、宛先インスタンスが AnalyticDB for MySQL クラスター、AnalyticDB for PostgreSQL インスタンス、PostgreSQL データベース、MySQL データベース、または PolarDB for MySQL クラスターなどの異種データベースである場合、データ型マッピングは次のようになります:
ソースインスタンスから同期されるデータの値の範囲が DTS でサポートされている範囲を超えると、宛先インスタンスにデータが書き込まれるときにデータの精度が低下します。
タイプ | SQL Server のデータ型 | 値の範囲 | AnalyticDB for MySQL データ型 | PostgreSQL または AnalyticDB for PostgreSQL のデータ型 | MySQL または PolarDB for MySQL のデータ型 |
整数 | BIT | 1、0、または NULL になりうる INTEGER データ型。 | BOOLEAN | BIT(1) | BIT(1) |
TINYINT | 0 から 255 | TINYINT | SMALLINT | TINYINT UNSIGNED | |
SMALLINT | -2^15 (-32,768) から 2^15-1 (32,767) | SMALLINT | SMALLINT | SMALLINT | |
INT | -2^31 (-2,147,483,648) から 2^31-1 (2,147,483,647) | INTEGER | INTEGER | INT | |
BIGINT | -2^63 (-9,223,372,036,854,775,808) から 2^63-1 (9,223,372,036,854,775,807) | BIGINT | BIGINT | BIGINT | |
10進数 | NUMERIC[ (p[ ,s] )] | -10^38+1 から 10^38-1; 1<=p<=38 | DECIMAL | DECIMAL | DECIMAL[ (p[ ,s] )] |
DECIMAL[ (p[ ,s] )] | -10^38+1 から 10^38-1; 1<= p<=38 | DECIMAL | DECIMAL | DECIMAL[ (p[ ,s] )] | |
FLOAT | -1.79E+308 から -2.23E-308 まで、0、および 2.23E-308 から 1.79E+308 まで | DOUBLE | DOUBLE PRECISION | DOUBLE | |
REAL | -3.40E+38 から -1.18E- 38、0、および 1.18E-38 から 3.40E +38 | FLOAT | REAL | DOUBLE | |
通貨 | MONEY | -922,337,203,685,477.5808 から 922,337,203,685,477.5807 | DECIMAL(19, 4) | DECIMAL(19, 4) | DECIMAL(19, 4) |
SMALLMONEY | -214,748.3648 から 214,748.3647 | DECIMAL(10, 4) | DECIMAL(10, 4) | DECIMAL(10, 4) | |
日付 | DATE | 0001-01-01 から 9999-12-31 | DATE | DATE | DATE |
DATETIME | 日付範囲:1753年1月1日から9999年12月31日。 時間範囲:00:00:00 から 23:59:59.997。 | DATETIME | TIMESTAMP(3) WITHOUT TIME ZONE | DATETIME(3) | |
DATETIME2[ (fractional seconds precision) ] | 日付範囲:0001年1月1日から9999年12月31日。 時間範囲:00:00:00 から 23:59:59.9999999。 | DATETIME | TIMESTAMP(7) WITHOUT TIME ZONE | DATETIME(p) 説明 デフォルトの精度は 6 です。 | |
DATETIMEOFFSET [ (fractional seconds precision) ] | 日付範囲:0001年1月1日から9999年12月31日。 時間範囲:00:00:00 から 23:59:59.9999999。 タイムゾーンオフセット範囲:-14:00 から +14:00。 | TIMESTAMP | TIMESTAMP(7) WITH TIME ZONE | DATETIME(p) 説明 デフォルトの精度は 6 です。 | |
SMALLDATETIME | 秒は常にゼロ (:00) であり、秒の小数部分はありません。 | DATETIME | TIMESTAMP WITHOUT TIME ZONE | DATETIME | |
TIME [ (fractional second scale) ] | 00:00:00.0000000 から 23:59:59.9999999 | TIME | TIME(7) WITH TIME ZONE | TIME(p) | |
TIMESTAMP[(fsp)] | 1970-01-01 00:00:01.000000 から 2038-01-19 03:14:07.999999 説明 フォーマット:YYYY-MM-DD hh:mm:ss[.fraction] (UTC)。 | VARBINARY(8) | BYTEA | VARBINARY(8) | |
文字列 | BINARY [ ( n ) ] | n の範囲は 1 から 8,000 です。 | VARBINARY | BYTEA |
|
VARBINARY [ ( n | max) ] | n の範囲は 1 から 8,000 です。max は、最大ストレージサイズが 2^31-1 バイトであることを示します。 | VARBINARY | BYTEA |
| |
CHAR [ ( n ) ] | n の範囲は 1 から 8,000 です。ストレージサイズは n バイトです。 | VARCHAR | CHARACTER |
| |
VARCHAR [ ( n | max ) ] | n の範囲は 1 から 8,000 です。max は、最大ストレージサイズが 2^31-1 バイト (2 GB) であることを示します。 | VARCHAR | CHARACTER |
| |
NCHAR [ ( n ) ] | ダブルバイトでは、n の範囲は 1 から 4,000 です。ストレージサイズは n バイトの 2 倍です。 | VARCHAR | CHARACTER VARYING | VARCHAR(200) | |
NVARCHAR [ ( n | max ) ] | ダブルバイトでは、n の範囲は 1 から 4,000 です。max は、最大ストレージサイズが 2^30-1 文字 (2 GB) であることを示します。 | VARCHAR | CHARACTER VARYING |
| |
NTEXT | 可変長 Unicode データ。最大文字列長は 2^30-1 (1,073,741,823) バイトです。 | VARCHAR | TEXT | LONGTEXT | |
TEXT | 最大文字列長は 2^31-1 (2,147,483,647) バイトです。 | VARCHAR | TEXT | LONGTEXT | |
IMAGE | 0 から 2^31-1 (2,147,483,647) バイトまでの可変長バイナリデータ。 | VARBINARY | BYTEA | LONGBLOB | |
空間およびジオメトリ | GEOGRAPHY | なし | VARCHAR | サポートされていません | BLOB |
GEOMETRY | なし | VARCHAR | サポートされていません | BLOB | |
XML 型 | XML ( [ CONTENT | DOCUMENT ] xml_schema_collection ) | なし | VARCHAR | XML | LONGTEXT |
その他の型 | UNIQUEIDENTIFIER | なし | VARCHAR | CHARACTER(36) | CHAR(36) |
SQL_VARIANT | なし | サポートされていません | サポートされていません | VARCHAR(200) | |
HIERARCHYID | なし | サポートされていません | サポートされていません | VARCHAR(200) | |
SYSNAME | なし | VARCHAR | CHARACTER VARYING(128) | VARCHAR(200) |
Db2 for LUW ソースからのデータ同期
ソースインスタンスが Db2 for LUW データベースで、宛先インスタンスが MySQL データベースなどの異種データベースである場合、データ型マッピングは次のようになります:
ソースインスタンスから同期されるデータの値の範囲が DTS でサポートされている範囲を超えると、宛先インスタンスにデータが書き込まれるときにデータの精度が低下します。
タイプ | Db2 for LUW のデータ型 | 値の範囲 | MySQL のデータ型 |
整数 | SMALLINT | -32,768 から +32,767 | SMALLINT |
INTEGER | -2,147,483,648 から +2,147,483,647 | INT | |
BIGINT | -9,223,372,036,854,775,808 から +9,223,372,036,854,775,807 | BIGINT | |
10進数 | DECIMAL(precision-integer, scale-integer) | p<=38 | DECIMAL |
FLOAT(integer) | 値の範囲は 1 から 53 です。1 から 24 の値は単精度を示し、25 から 53 の値は倍精度を示します。 | FLOAT | |
DECFLOAT(precision-integer) | なし | DECIMAL(65,10) | |
日付 | DATE | 0001-01-01 から 9999-12-31 | DATE |
TIME | 00:00:00 から 24:00:00 | TIME | |
TIMESTAMP(integer) | 0001-01-01-00.00.00.000000000000 から 9999-12-31-24.00.00.000000000000; 0<=p<= 12 | DATETIME | |
文字列 | CHARACTER(integer) | 254 | CHAR | VARCHAR |
VARCHAR(integer) | 32,672 | VARCHAR | |
CHARACTER(integer) FOR BIT DATA | 254 | BLOB | |
CLOB | 2,147,483,647 | LONGTEXT | |
GRAPHIC(integer) | 127 | CHAR(length*4) | |
VARGRAPHIC(integer) | 16,336 | CHAR(length*4) | |
DBCLOB(integer) | 1,073,741,823 | VARCHAR | LONGTEXT | |
BLOB | 2,147,483,647 | LONGBLOB | |
その他の型 | XML | 2,147,483,647 | VARCHAR | LONGTEXT |
Db2 for i ソースからのデータ同期
ソースインスタンスが Db2 for i データベースで、宛先インスタンスが MySQL データベースなどの異種データベースである場合、データ型マッピングは次のようになります:
ソースインスタンスから同期されるデータの値の範囲が DTS でサポートされている範囲を超えると、宛先インスタンスにデータが書き込まれるときにデータの精度が低下します。
タイプ | Db2 for i のデータ型 | 値の範囲 | MySQL のデータ型 |
整数 | SMALLINT | -32,768 から +32,767 | SMALLINT |
INTEGER | -2,147,483,648 から +2,147,483,647 | INT | |
BIGINT | -9,223,372,036,854,775,808 から +9,223,372,036,854,775,807 | BIGINT | |
10進数 | DECIMAL(precision-integer, scale-integer) | p<=63 | DECIMAL |
NUMERIC | なし | DECIMAL | |
FLOAT(integer) | なし | FLOAT | |
DECFLOAT(precision-integer) | なし | DECIMAL(65,10) | |
日付 | DATE | 0001-01-0 から 9999-12-31 | DATE |
TIME | 00:00:00 から 24:00:00 | TIME | |
TIMESTAMP(integer) | 0001-01-01-00.00.00.000000000000 から 9999-12-31-24.00.00.000000000000; 0 <=p <=12 | DATETIME | |
文字列 | CHAR(integer) | 32,765 | CHAR | VARCHAR |
VARCHAR(integer) | 32,739 | VARCHAR | |
CHAR(integer) FOR BIT DATA | なし | BLOB | |
CLOB | 2,147,483,647 | LONGTEXT | |
GRAPHIC(integer) | 16,382 | CHAR | |
VARGRAPHIC(integer) | 16,369 | VARCHAR | |
DBCLOB(integer) | 1,073,741,823 | LONGTEXT | |
BINARY | 32,765 | BINARY | |
VARBIN | 32,739 | VARBINARY | |
BLOB | 2,147,483,647 | LONGBLOB | |
その他 | DATALINK | なし | VARCHAR | LONGTEXT |
ROWID | 40 | VARCHAR | LONGTEXT | |
XML | 2,147,483,647 | VARCHAR | LONGTEXT |
TiDB ソースからのデータ同期
ソースインスタンスが自己管理 TiDB データベースで、宛先インスタンスが AnalyticDB for MySQL 3.0 などの異種データベースである場合、データ型マッピングは次のようになります:
TiDB データ型 | MySQL データ型 |
BIGINT | BIGINT |
BIGINT UNSIGNED | DECIMAL(20,0) |
BINARY | BINARY |
BIT | BIT |
BOOL\ BOOLEAN | TINYINT |
CHAR | CHAR |
DATE | DATE |
DATETIME | DATETIME |
DECIMAL | DECIMAL |
DOUBLE | DOUBLE |
ENUM | ENUM |
FLOAT | FLOAT |
INT | INT |
INT UNSIGNED | BIGINT |
INTEGER | INTEGER |
JSON | JSON |
MEDIUMBLOB/LONGBLOB TINYBLOB / BLOB | MEDIUMBLOB/LONGBLOB TINYBLOB または BLOB |
MEDIUMINT | MEDIUMINT |
SET | SET |
SMALLINT | SMALLINT |
SMALLINT UNSIGNED | INT |
TEXT/LONGTEXT | TEXT/LONGTEXT |
TIME | TIME |
TIMESTAMP | TIMESTAMP |
TINYINT | TINYINT |
TINYINT UNSIGNED | SMALLINT |
VARBINARY | VARBINARY |
VARCHAR | VARCHAR |
YEAR | YEAR |