Database heterogen mendukung berbagai tipe data. Saat Data Transmission Service (DTS) menyinkronkan data antar database heterogen, DTS mengonversi tipe data dari database sumber ke tipe yang kompatibel di database tujuan selama inisialisasi skema. Topik ini menyediakan pemetaan tipe data secara rinci untuk membantu Anda mengevaluasi dampak sinkronisasi data terhadap bisnis Anda.
Ikhtisar
Topik-topik berikut menjelaskan pemetaan tipe data untuk sinkronisasi data antara database heterogen.
Sinkronisasi data dari MySQL
Berikut adalah pemetaan tipe data antara database MySQL sumber—seperti ApsaraDB RDS for MySQL, Database MySQL yang dikelola sendiri, atau PolarDB for MySQL—dan database heterogen tujuan, seperti AnalyticDB for MySQL dan AnalyticDB for PostgreSQL.
Jika rentang nilai data yang akan disinkronkan dari instans sumber melebihi rentang yang didukung oleh DTS, akurasi data yang ditulis ke instans tujuan akan berkurang.
Instans tujuan: AnalyticDB for MySQL dan AnalyticDB for PostgreSQL
Saat menyinkronkan data ke AnalyticDB for MySQL, perhatikan hal-hal berikut:
-
Jika bidang sumber memiliki atribut
AUTO_INCREMENTdan bertipeINT, DTS mengonversinya ke tipeBIGINTselama sinkronisasi. -
Jika tabel dalam operasi
JOINmengandung bidangINTdanBIGINT, kami merekomendasikan agar Anda secara konsisten menggunakanINTatauBIGINTdi tujuan untuk menghindari dampak performa.
|
Tipe |
Tipe data sumber |
Rentang nilai |
AnalyticDB for MySQL tipe |
Tipe AnalyticDB for PostgreSQL |
|
Tipe integer |
BIT[(M)] |
1 hingga 64 |
VARCHAR |
BIT[(M)] |
|
TINYINT[(M)] |
-128 hingga 127 |
TINYINT |
SMALLINT |
|
|
TINYINT[(M)] [UNSIGNED] |
0 hingga 255 |
SMALLINT |
SMALLINT |
|
|
SMALLINT[(M)] |
-32768 hingga 32767 |
SMALLINT |
SMALLINT |
|
|
SMALLINT[(M)] [UNSIGNED] |
0 hingga 65535 |
INT |
INTEGER |
|
|
MEDIUMINT[(M)] |
-8388608 hingga 8388607 |
INT |
INTEGER |
|
|
MEDIUMINT[(M)] [UNSIGNED] |
0 hingga 16777215 |
INT |
INTEGER |
|
|
INT[(M)] |
-2147483648 hingga 2147483647 |
INT |
INTEGER |
|
|
INT[(M)] [UNSIGNED] |
0 hingga 4294967295 |
BIGINT |
BIGINT |
|
|
BIGINT[(M)] |
-9223372036854775808 hingga 9223372036854775807 |
BIGINT |
BIGINT |
|
|
BIGINT[(M)] [UNSIGNED] |
0 hingga 18446744073709551615 |
DECIMAL(20,0) |
NUMERIC(20) |
|
|
Tipe desimal |
DECIMAL[(M[,D])] |
M: 0 hingga 65; D: 0 hingga 30 |
DECIMAL[(M[,D])] |
DECIMAL[(M[,D])] |
|
FLOAT(p) |
1.175494351E-38 hingga 3.402823466E+38 |
FLOAT |
REAL |
|
|
DOUBLE[(M,D)] |
2.2250738585072014E-308 hingga 1.7976931348623157E+308 |
DOUBLE |
DOUBLE PRECISION |
|
|
Tipe tanggal dan waktu |
DATE |
1000-01-01 hingga 9999-12-31 Catatan
Format: YYYY-MM-DD. |
DATE |
DATE |
|
DATETIME[(fsp)] |
1000-01-01 00:00:00.000000 hingga 9999-12-31 23:59:59.999999 Catatan
Format: YYYY-MM-DD hh:mm:ss[.fraction] (UTC). |
DATETIME |
TIMESTAMP |
|
|
TIMESTAMP[(fsp)] |
1970-01-01 00:00:01.000000 hingga 2038-01-19 03:14:07.999999 Catatan
Format: YYYY-MM-DD hh:mm:ss[.fraction] (UTC). |
TIMESTAMP |
TIMESTAMP WITH TIME ZONE |
|
|
TIME[(fsp)] |
-838:59:59.000000 hingga 838:59:59.000000 Catatan
Format: hh:mm:ss[.fraction] (UTC). |
TIME |
TIMESTAMP WITH TIME ZONE |
|
|
YEAR[(4)] |
1901 hingga 2155, atau 0000 |
INT |
INTEGER |
|
|
Tipe string |
CHAR[(M)] |
0 hingga 255 karakter |
VARCHAR |
CHAR |
|
VARCHAR(M) |
0 hingga 65.535 karakter |
VARCHAR |
VARCHAR |
|
|
BINARY[(M)] |
0 hingga 255 byte |
VARBINARY |
BYTEA |
|
|
VARBINARY(M) |
0 hingga 65.535 byte |
VARBINARY |
BYTEA |
|
|
TINYBLOB |
255 (2^8 - 1) byte |
VARBINARY |
BYTEA |
|
|
TINYTEXT |
255 (2^8 - 1) karakter |
VARCHAR |
TEXT |
|
|
BLOB |
65.535 (2^16 - 1) byte |
VARBINARY |
BYTEA |
|
|
TEXT |
65.535 (2^16 - 1) karakter |
VARCHAR |
TEXT |
|
|
MEDIUMBLOB |
16.777.215 (2^24 - 1) byte |
VARBINARY |
BYTEA |
|
|
MEDIUMTEXT |
16.777.215 (2^24 - 1) karakter |
VARCHAR |
TEXT |
|
|
LONGBLOB |
4.294.967.295 atau 4 GB (2^32 - 1) byte |
VARBINARY |
BYTEA |
|
|
LONGTEXT |
4.294.967.295 atau 4 GB (2^32 - 1) karakter |
VARCHAR |
TEXT |
|
|
ENUM('value1','value2',...) |
Hingga 65.535 nilai enumerasi |
VARCHAR |
VARCHAR(128) |
|
|
SET('value1','value2',...) |
Hingga 64 anggota |
VARCHAR |
VARCHAR(128) |
|
|
Tipe spasial |
GEOMETRY |
Nilai dari tipe geometri apa pun |
VARBINARY |
POLYGON |
|
POINT |
N/A |
VARBINARY |
POINT |
|
|
LINESTRING |
N/A |
VARBINARY |
PATH |
|
|
POLYGON |
N/A |
VARBINARY |
POLYGON |
|
|
MULTIPOINT |
N/A |
VARBINARY |
POLYGON |
|
|
MULTILINESTRING |
N/A |
VARBINARY |
PATH |
|
|
MULTIPOLYGON |
N/A |
VARBINARY |
POLYGON |
|
|
GEOMETRYCOLLECTION |
Koleksi nilai dari tipe geometri apa pun |
VARBINARY |
POLYGON |
|
|
Tipe JSON |
JSON |
N/A |
JSON |
JSON |
Instans tujuan: DataHub dan Kafka
|
Tipe |
Tipe sumber |
Rentang nilai |
Jenis DataHub |
Tipe Kafka |
|
Integer |
|
1 hingga 64 |
|
Sama dengan tipe data di MySQL dan PolarDB for MySQL. |
|
|
-128 hingga 127 |
|
||
|
|
0 hingga 255 |
|
||
|
|
-32768 hingga 32767 |
|
||
|
|
0 hingga 65535 |
|
||
|
|
-8388608 hingga 8388607 |
|
||
|
|
0 hingga 16777215 |
|
||
|
|
-2147483648 hingga 2147483647 |
|
||
|
|
0 hingga 4294967295 |
|
||
|
|
-9223372036854775808 hingga 9223372036854775807 |
|
||
|
|
0 hingga 18446744073709551615 |
|
||
|
Desimal |
|
M: 0 hingga 65; D: 0 hingga 30 |
|
|
|
|
1.175494351E-38 hingga 3.402823466E+38 |
|
||
|
|
2.2250738585072014E-308 hingga 1.7976931348623157E+308 |
|
||
|
Tanggal dan waktu |
|
1000-01-01 hingga 9999-12-31 Catatan
Format: |
|
|
|
|
1000-01-01 00:00:00.000000 hingga 9999-12-31 23:59:59.999999 Catatan
Format: |
|
||
|
|
1970-01-01 00:00:01.000000 hingga 2038-01-19 03:14:07.999999 Catatan
Format: |
|
||
|
|
-838:59:59.000000 hingga 838:59:59.000000 Catatan
Format: |
|
||
|
|
1901 hingga 2155, atau 0000 |
|
||
|
String |
|
0 hingga 255 karakter |
|
|
|
|
0 hingga 65.535 karakter |
|
||
|
|
0 hingga 255 byte |
|
||
|
|
0 hingga 65.535 byte |
|
||
|
|
255 (2^8 - 1) byte |
|
||
|
|
255 (2^8 - 1) karakter |
|
||
|
|
65.535 (2^16 - 1) byte |
|
||
|
|
65.535 (2^16 - 1) karakter |
|
||
|
|
16.777.215 (2^24 - 1) byte |
|
||
|
|
16.777.215 (2^24 - 1) karakter |
|
||
|
|
4.294.967.295 (4 GB) (2^32 - 1) byte |
|
||
|
|
4.294.967.295 (4 GB) (2^32 - 1) karakter |
|
||
|
|
Kolom |
|
||
|
|
Kolom |
|
||
|
Spasial |
|
Tipe geometri apa pun. |
|
|
|
|
N/A |
|
||
|
|
N/A |
|
||
|
|
N/A |
|
||
|
|
N/A |
|
||
|
|
N/A |
|
||
|
|
N/A |
|
||
|
|
Koleksi tipe geometri apa pun. |
|
||
|
JSON |
|
N/A |
|
Database tujuan: MaxCompute, Elasticsearch, dan ClickHouse
|
Jenis |
Tipe sumber |
Rentang nilai |
MaxCompute |
Elasticsearch |
ClickHouse |
|
Integer |
BIT[(M)] |
1 hingga 64 |
BOOLEAN | STRING |
BOOLEAN | LONG Catatan
Jika nilainya 1 byte, kami merekomendasikan menggunakan tipe data BOOLEAN di Elasticsearch. |
UInt8 |
|
TINYINT[(M)] |
-128 hingga 127 |
BIGINT |
SHORT |
Int8 |
|
|
TINYINT[(M)] [UNSIGNED] |
0 hingga 255 |
BIGINT |
INTEGER |
UInt8 |
|
|
SMALLINT[(M)] |
-32768 hingga 32767 |
BIGINT |
SHORT |
Int16 |
|
|
SMALLINT[(M)] [UNSIGNED] |
0 hingga 65535 |
BIGINT |
INTEGER |
UInt16 |
|
|
MEDIUMINT[(M)] |
-8388608 hingga 8388607 |
BIGINT |
INTEGER |
Int32 |
|
|
MEDIUMINT[(M)] [UNSIGNED] |
0 hingga 16777215 |
BIGINT |
INTEGER |
Int32 |
|
|
INT[(M)] |
-2147483648 hingga 2147483647 |
BIGINT |
INTEGER |
Int32 |
|
|
INT[(M)] [UNSIGNED] |
0 hingga 4294967295 |
BIGINT |
LONG |
UInt32 |
|
|
BIGINT[(M)] |
-9223372036854775808 hingga 9223372036854775807 |
BIGINT |
LONG |
Int64 |
|
|
BIGINT[(M)] [UNSIGNED] |
0 hingga 18446744073709551615 |
BIGINT |
LONG |
UInt64 |
|
|
Desimal |
DECIMAL[(M[,D])] |
M: 0 hingga 65; D: 0 hingga 30 |
DOUBLE |
DOUBLE Catatan
Jika nilai DECIMAL mengandung titik desimal, kami merekomendasikan menggunakan tipe data TEXT di Elasticsearch untuk memastikan konsistensi data. |
DECIMAL |
|
FLOAT(p) |
1.175494351E-38 hingga 3.402823466E+38 |
DOUBLE |
FLOAT |
Float32 |
|
|
DOUBLE[(M,D)] |
2.2250738585072014E-308 hingga 1.7976931348623157E+308 |
DOUBLE |
DOUBLE |
Float64 |
|
|
Tanggal dan waktu |
DATE |
1000-01-01 hingga 9999-12-31 Catatan
Formatnya adalah YYYY-MM-DD. |
DATETIME |
DATE Catatan
Formatnya adalah YYYY-MM-DD. Untuk informasi lebih lanjut, lihat format tanggal. |
DATE32 Catatan
Rentang nilai tipe data DATE di ClickHouse lebih kecil daripada di MySQL. Jika Anda menggunakan tipe data DATE di ClickHouse, operasi penulisan mungkin gagal. |
|
DATETIME[(fsp)] |
1000-01-01 00:00:00.000000 hingga 9999-12-31 23:59:59.999999 Catatan
Formatnya adalah YYYY-MM-DD hh:mm:ss[.fraction] (UTC). |
DATETIME |
DATE Catatan
Format DATE adalah yyyy-MM-dd'T'HH:mm:ss (UTC). Untuk presisi mikrodetik, formatnya adalah yyyy-MM-dd'T'HH:mm:ss.S. Untuk informasi lebih lanjut, lihat format tanggal. |
DATETIME64 Catatan
Rentang nilai tipe data DATETIME di ClickHouse lebih kecil daripada di MySQL. Jika Anda menggunakan tipe data DATETIME di ClickHouse, operasi penulisan mungkin gagal. |
|
|
TIMESTAMP[(fsp)] |
1970-01-01 00:00:01.000000 hingga 2038-01-19 03:14:07.999999 Catatan
Formatnya adalah YYYY-MM-DD hh:mm:ss[.fraction] (UTC). |
DATETIME |
DATE Catatan
Format DATE adalah yyyy-MM-dd'T'HH:mm:ss (UTC). Untuk presisi mikrodetik, formatnya adalah yyyy-MM-dd'T'HH:mm:ss.S. Untuk informasi lebih lanjut, lihat format tanggal. |
DATETIME Catatan
Informasi zona waktu tidak disertakan. |
|
|
TIME[(fsp)] |
-838:59:59.000000 hingga 838:59:59.000000 Catatan
Formatnya adalah hh:mm:ss[.fraction] (UTC). |
STRING |
DATE Catatan
Untuk informasi lebih lanjut, lihat format tanggal. |
STRING |
|
|
YEAR[(4)] |
1901 hingga 2155, atau 0000 |
STRING |
DATE Catatan
Format DATE adalah yyyy. Untuk informasi lebih lanjut, lihat format tanggal. |
Int16 |
|
|
String |
CHAR[(M)] |
0 hingga 255 karakter |
STRING |
KEYWORD |
STRING |
|
VARCHAR(M) |
0 hingga 65.535 karakter |
STRING |
|
STRING |
|
|
BINARY[(M)] |
0 hingga 255 byte |
STRING |
BINARY |
STRING |
|
|
VARBINARY(M) |
0 hingga 65.535 byte |
STRING |
BINARY |
STRING |
|
|
TINYBLOB |
255 (2^8 - 1) byte |
STRING |
BINARY |
STRING |
|
|
TINYTEXT |
255 (2^8 - 1) karakter |
STRING |
TEXT |
STRING |
|
|
BLOB |
65.535 (2^16 - 1) byte |
STRING |
BINARY |
STRING |
|
|
TEXT |
65.535 (2^16 - 1) karakter |
STRING |
TEXT |
STRING |
|
|
MEDIUMBLOB |
16.777.215 (2^24 - 1) byte |
STRING |
BINARY |
STRING |
|
|
MEDIUMTEXT |
16.777.215 (2^24 - 1) karakter |
STRING |
TEXT |
STRING |
|
|
LONGBLOB |
4.294.967.295 atau 4 GB (2^32 - 1) byte |
STRING |
BINARY |
STRING |
|
|
LONGTEXT |
4.294.967.295 atau 4 GB (2^32 - 1) karakter |
STRING |
TEXT |
STRING |
|
|
ENUM('value1','value2',...) |
Hingga 65.535 nilai enumerasi |
STRING |
KEYWORD |
ENUM |
|
|
SET('value1','value2',...) |
Hingga 64 anggota |
STRING |
KEYWORD |
STRING |
|
|
Tipe spasial |
GEOMETRY |
Nilai dari tipe geometri apa pun |
STRING |
GEO_SHAPE |
STRING |
|
POINT |
N/A |
STRING |
GEO_POINT |
STRING |
|
|
LINESTRING |
N/A |
STRING |
GEO_SHAPE |
STRING |
|
|
POLYGON |
N/A |
STRING |
GEO_SHAPE |
STRING |
|
|
MULTIPOINT |
N/A |
STRING |
GEO_SHAPE Catatan
|
STRING |
|
|
MULTILINESTRING |
N/A |
STRING |
GEO_SHAPE |
STRING |
|
|
MULTIPOLYGON |
N/A |
STRING |
GEO_SHAPE |
STRING |
|
|
GEOMETRYCOLLECTION |
Koleksi nilai dari tipe geometri apa pun |
STRING |
GEO_SHAPE |
STRING |
|
|
Tipe JSON |
JSON |
N/A |
STRING |
OBJECT Catatan
|
STRING |
Instans tujuan: Tablestore
|
Tipe sumber |
Tipe Tablestore |
|
INTEGER |
INTEGER |
|
INT |
INTEGER |
|
SMALLINT |
INTEGER |
|
TINYINT |
INTEGER |
|
MEDIUMINT |
INTEGER |
|
BIGINT |
INTEGER |
|
DECIMAL |
DOUBLE |
|
NUMERIC |
DOUBLE |
|
FLOAT |
DOUBLE |
|
DOUBLE |
DOUBLE |
|
BIT |
BOOLEAN |
|
TANGGAL |
STRING atau INTEGER Catatan
Bawaan: 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 |
Instans target: Lindorm
|
Tipe sumber |
Tipe Lindorm |
|
BOOLEAN |
BOOLEAN |
|
BIT |
BOOLEAN |
|
TINYINT |
TINYINT |
|
SMALLINT |
SMALLINT |
|
INTEGER |
INTEGER |
|
BIGINT |
BIGINT |
|
BIGINT UNSIGNED Penting
Lindorm hanya mendukung nilai dalam rentang BIGINT bertanda (-9223372036854775808 hingga 9223372036854775807). |
BIGINT |
|
FLOAT |
FLOAT |
|
DOUBLE |
DOUBLE |
|
DECIMAL |
DECIMAL Penting
Presisi harus sesuai dengan bidang sumber. |
|
CHAR/VARCHAR/TEXT/TINYTEXT/MEDIUMTEXT/LONGTEXT |
CHAR/VARCHAR |
|
BINARY |
BINARY |
|
BLOB |
VARBINARY |
|
VARBINARY |
VARBINARY |
|
TIMESTAMP |
TIMESTAMP |
|
YEAR |
INTEGER |
|
DATE |
Tipe data yang dipetakan bergantung pada versi instans Lindorm tujuan.
|
|
DATETIME |
VARCHAR Penting
|
|
TIME |
Tipe data yang dipetakan bergantung pada versi instans Lindorm tujuan.
|
|
JSON |
JSON |
Instans target: Oracle
|
Tipe |
Tipe data sumber |
Rentang nilai |
Tipe data Oracle |
|
Tipe integer |
BIT[(M)] |
1 hingga 64 |
NUMBER(2,0) |
|
TINYINT[(M)] |
-128 hingga 127 |
NUMBER(3,0) |
|
|
TINYINT[(M)] [UNSIGNED] |
0 hingga 255 |
NUMBER(3,0) |
|
|
SMALLINT[(M)] |
-32768 hingga 32767 |
NUMBER(5,0) |
|
|
SMALLINT[(M)] [UNSIGNED] |
0 hingga 65535 |
NUMBER(5,0) |
|
|
MEDIUMINT[(M)] |
-8388608 hingga 8388607 |
NUMBER(7,0) |
|
|
MEDIUMINT[(M)] [UNSIGNED] |
0 hingga 16777215 |
NUMBER(7,0) |
|
|
INT[(M)] |
-2147483648 hingga 2147483647 |
INT |
|
|
INT[(M)] [UNSIGNED] |
0 hingga 4294967295 |
NUMBER(10,0) |
|
|
BIGINT[(M)] |
-9223372036854775808 hingga 9223372036854775807 |
NUMBER(20,0) |
|
|
BIGINT[(M)] [UNSIGNED] |
0 hingga 18446744073709551615 |
NUMBER(20,0) |
|
|
Tipe desimal |
DECIMAL[(M[,D])] |
M: 0 hingga 65; D: 0 hingga 30 |
NUMBER(M,D) Catatan
Jika presisi dan skala dihilangkan, tipe data bawaannya adalah |
|
FLOAT(p) |
1.175494351E-38 hingga 3.402823466E+38 |
FLOAT |
|
|
DOUBLE[(M,D)] |
2.2250738585072014E-308 hingga 1.7976931348623157E+308 |
DOUBLE |
|
|
Tipe tanggal dan waktu |
DATE |
1000-01-01 hingga 9999-12-31 Catatan
Format: YYYY-MM-DD. |
DATE |
|
DATETIME[(fsp)] |
1000-01-01 00:00:00.000000 hingga 9999-12-31 23:59:59.999999 Catatan
Format: YYYY-MM-DD hh:mm:ss[.fraction] (UTC). |
TIMESTAMP[(fsp)] Catatan
Jika presisi dihilangkan, tipe data bawaannya adalah |
|
|
TIMESTAMP[(fsp)] |
1970-01-01 00:00:01.000000 hingga 2038-01-19 03:14:07.999999 Catatan
Format: YYYY-MM-DD hh:mm:ss[.fraction] (UTC). |
TIMESTAMP[(fsp)] WITH LOCAL TIME ZONE Catatan
Jika presisi dihilangkan, tipe data bawaannya adalah |
|
|
TIME[(fsp)] |
-838:59:59.000000 hingga 838:59:59.000000 Catatan
Format: hh:mm:ss[.fraction] (UTC). |
Tidak didukung |
|
|
YEAR[(4)] |
1901 hingga 2155, atau 0000 |
INT |
|
|
Tipe string |
CHAR[(M)] |
0 hingga 255 karakter |
CHAR[(M)] Catatan
Jika panjang dihilangkan, tipe data bawaannya adalah |
|
VARCHAR(M) |
0 hingga 65.535 karakter |
VARCHAR(M) |
|
|
BINARY[(M)] |
0 hingga 255 byte |
RAW(M) Catatan
Jika panjang dihilangkan, tipe data bawaannya adalah |
|
|
VARBINARY(M) |
0 hingga 65.535 byte |
RAW(M) |
|
|
TINYBLOB |
255 (2^8 - 1) byte |
BLOB |
|
|
TINYTEXT |
255 (2^8 - 1) karakter |
CLOB |
|
|
BLOB |
65.535 (2^16 - 1) byte |
BLOB |
|
|
TEXT |
65.535 (2^16 - 1) karakter |
CLOB |
|
|
MEDIUMBLOB |
16.777.215 (2^24 - 1) byte |
BLOB |
|
|
MEDIUMTEXT |
16.777.215 (2^24 - 1) karakter |
CLOB |
|
|
LONGBLOB |
4.294.967.295 (2^32 - 1) byte |
BLOB |
|
|
LONGTEXT |
4.294.967.295 (2^32 - 1) karakter |
CLOB |
|
|
ENUM('value1','value2',...) |
Hingga 65.535 nilai enumerasi |
Tidak didukung |
|
|
SET('value1','value2',...) |
Hingga 64 anggota |
Tidak didukung |
|
|
Tipe spasial |
GEOMETRY |
Nilai dari tipe geometri apa pun |
Tidak didukung |
|
POINT |
N/A |
Tidak didukung |
|
|
LINESTRING |
N/A |
Tidak didukung |
|
|
POLYGON |
N/A |
Tidak didukung |
|
|
MULTIPOINT |
N/A |
Tidak didukung |
|
|
MULTILINESTRING |
N/A |
Tidak didukung |
|
|
MULTIPOLYGON |
N/A |
Tidak didukung |
|
|
GEOMETRYCOLLECTION |
Koleksi nilai dari tipe geometri apa pun |
Tidak didukung |
|
|
Tipe JSON |
JSON |
N/A |
CLOB |
Sinkronisasi data dari Oracle
Saat Anda menyinkronkan data dari database Oracle yang dikelola sendiri ke instans tujuan heterogen, seperti AnalyticDB for PostgreSQL, tipe data dipetakan sebagai berikut.
Jika rentang nilai data sumber melebihi yang didukung oleh DTS, data yang ditulis ke instans tujuan mungkin kehilangan presisi.
|
Tipe |
Tipe data Oracle |
Rentang nilai |
MySQL, PolarDB for MySQL, dan PolarDB-X |
AnalyticDB for PostgreSQL |
|
Tipe numerik |
NUMBER(p,s) |
Penyimpanan: 1 hingga 22 byte.
|
DECIMAL[(p[,s])] Catatan
Jika presisi dan skala tidak ditentukan, DTS memetakan tipe data ke DECIMAL(65,30). |
DECIMAL | TINYINT | SMALLINT | INTEGER | BIGINT |
|
FLOAT(p) |
Penyimpanan: 1 hingga 22 byte.
|
DOUBLE |
DOUBLE PRECISION |
|
|
BINARY_FLOAT |
Bilangan floating-point presisi tunggal 4-byte, 32-bit. |
FLOAT |
DOUBLE PRECISION |
|
|
BINARY_DOUBLE |
Bilangan floating-point presisi ganda 8-byte, 64-bit. |
DOUBLE |
DOUBLE PRECISION |
|
|
Tipe tanggal dan waktu |
DATE |
N/A |
DATETIME |
TIMESTAMP(0) |
|
TIMESTAMP [(presisi_detik_pecahan)] |
N/A |
DATETIME[(presisi_detik_pecahan)] |
TIMESTAMP |
|
|
TIMESTAMP [(presisi_detik_pecahan)] WITH TIME ZONE |
N/A |
DATETIME[(presisi_detik_pecahan)] |
TIMESTAMP WITH TIME ZONE |
|
|
TIMESTAMP [(presisi_detik_pecahan)] WITH LOCAL TIME ZONE |
N/A |
DATETIME[(presisi_detik_pecahan)] |
TIMESTAMP WITH TIME ZONE |
|
|
INTERVAL YEAR [(presisi_tahun)] TO MONTH |
N/A |
Tidak didukung |
VARCHAR(32) |
|
|
INTERVAL DAY [(presisi_hari)] TO SECOND [(presisi_detik_pecahan)] |
N/A |
Tidak didukung |
VARCHAR(32) |
|
|
Tipe string |
CHAR [(ukuran [BYTE | CHAR])] |
Ukuran maksimum: 2.000 byte. |
CHAR[(n)] Catatan
Jika ukuran tidak ditentukan, DTS memetakan tipe data ke CHAR(1). |
CHAR |
|
NCHAR[(ukuran)] |
Ukuran maksimum: 2.000 byte. |
NATIONAL CHAR[(n)] Catatan
Jika ukuran tidak ditentukan, DTS memetakan tipe data ke NATIONAL CHAR(1). |
VARCHAR |
|
|
VARCHAR(ukuran [BYTE | CHAR]) |
Jika Jika |
VARCHAR(n) |
VARCHAR(n) |
|
|
VARCHAR2(ukuran [BYTE | CHAR]) |
Jika Jika |
VARCHAR(n) |
VARCHAR |
|
|
NVARCHAR2(size) |
Jika Jika |
NATIONALVARCHAR[(n)] |
VARCHAR |
|
|
LONG |
Ukuran maksimum: 2 GB (2^31 - 1 byte). |
LONGTEXT |
TEXT |
|
|
RAW(ukuran) |
Ukuran maksimum: 32.767 byte atau 2.000 byte. |
BINARY(2*size) |
BYTEA |
|
|
LONG RAW |
Ukuran maksimum: 2 GB. |
LONGBLOB |
BYTEA |
|
|
CLOB |
Ukuran maksimum: (4 GB - 1) × DB_BLOCK_SIZE. |
LONGTEXT |
TEXT |
|
|
NCLOB |
Ukuran maksimum: (4 GB - 1) × DB_BLOCK_SIZE. |
LONGTEXT |
TEXT |
|
|
BLOB |
Ukuran maksimum: (4 GB - 1) × DB_BLOCK_SIZE. |
LONGBLOB |
BYTEA |
|
|
BFILE |
Ukuran maksimum: 4 GB. |
Tidak didukung |
Tidak didukung |
|
|
Tipe JSON |
JSON |
Ukuran maksimum: 32 MB. |
Tidak didukung |
JSON |
|
Tipe ROWID |
ROWID |
64 karakter. |
Tidak didukung |
OID |
|
UROWID |
64 karakter. |
Tidak didukung |
Tidak didukung |
|
|
Tipe spasial |
Perlu kustomisasi |
Tidak didukung |
||
Jika tipe data Oracle tidak didukung oleh AnalyticDB for PostgreSQL, DTS mengonversinya ke BYTEA. Jika konversi gagal, DTS mengatur nilai bidang yang sesuai ke NULL.
Sinkronisasi data dari sumber PostgreSQL
Bagian ini mencantumkan pemetaan tipe data untuk menyinkronkan data dari instans PostgreSQL sumber (termasuk PostgreSQL yang dikelola sendiri dan ApsaraDB RDS for PostgreSQL) ke instans tujuan heterogen, seperti AnalyticDB for PostgreSQL.
Jika rentang nilai data dari instans sumber melebihi rentang yang didukung oleh DTS, presisi data berkurang di instans tujuan.
|
Tipe |
Tipe data PostgreSQL |
Rentang nilai |
Tipe data tujuan |
|
tipe integer |
SMALLINT |
-32768 hingga +32767 |
SMALLINT |
|
INTEGER |
-2147483648 hingga +2147483647 |
INTEGER |
|
|
BIGINT |
-9223372036854775808 hingga +9223372036854775807 |
BIGINT |
|
|
tipe desimal |
DECIMAL |
Hingga 131.072 digit sebelum titik desimal dan 16.383 digit setelah titik desimal. |
DECIMAL |
|
NUMERIC |
Hingga 131.072 digit sebelum titik desimal dan 16.383 digit setelah titik desimal. |
NUMERIC |
|
|
REAL |
Presisi 6 digit desimal |
REAL |
|
|
DOUBLE PRECISION |
Presisi 15 digit desimal |
DOUBLE PRECISION |
|
|
tipe moneter |
MONEY |
-92233720368547758.08 hingga +92233720368547758.07 |
MONEY |
|
tipe string |
CHARACTER VARYING(n) |
N/A |
CHARACTER VARYING(n) |
|
CHARACTER(n) |
N/A |
CHARACTER(n) |
|
|
TEXT |
N/A |
TEXT |
|
|
CHAR |
Panjang bawaan: 1 byte |
CHAR |
|
|
NAME |
Panjang maksimum: 64 byte |
NAME |
|
|
tipe pencarian teks |
TSQUERY |
Kueri teks. |
TEXT |
|
TSVECTOR |
Dokumen yang dioptimalkan untuk pencarian teks. |
TEXT |
|
|
tipe data biner |
BYTEA |
1 atau 4 byte ditambah string biner aktual. |
BYTEA |
|
tipe tanggal dan waktu |
TIMESTAMP [ (p) ] [ WITHOUT TIME ZONE ] |
Tanggal dan waktu tanpa zona waktu. Ukuran penyimpanan: 8 byte. |
TIMESTAMP [ (p) ] [ WITHOUT TIME ZONE ] |
|
TIMESTAMP [ (p) ] WITH TIME ZONE |
Tanggal dan waktu dengan zona waktu. Ukuran penyimpanan: 8 byte. |
TIMESTAMP [ (p) ] WITH TIME ZONE |
|
|
DATE |
Tanggal. Ukuran penyimpanan: 4 byte. |
DATE |
|
|
TIME [ (p) ] [ WITHOUT TIME ZONE ] |
Waktu tanpa zona waktu. Ukuran penyimpanan: 8 byte. |
TIME [ (p) ] [ WITHOUT TIME ZONE ] |
|
|
TIME [ (p) ] WITH TIME ZONE |
Waktu dengan zona waktu. Ukuran penyimpanan: 12 byte. |
TIME [ (p) ] WITH TIME ZONE |
|
|
interval [ fields ] [ (p) ] |
Interval waktu. Ukuran penyimpanan: 16 byte. |
interval [ fields ] [ (p) ] |
|
|
tipe boolean |
BOOLEAN |
1 byte |
BOOLEAN Penting
Jika instans tujuan adalah ClickHouse, DTS memetakan tipe data ini ke STRING. |
|
tipe enumerasi |
Enumerasi kustom |
N/A |
VARCHAR(128) |
|
tipe spasial |
POINT |
Titik pada bidang. Ukuran penyimpanan: 16 byte. |
POINT |
|
LINE |
Garis tak hingga. Ukuran penyimpanan: 32 byte. |
LINE |
|
|
LSEG |
Segmen garis terbatas. Ukuran penyimpanan: 32 byte. |
LSEG |
|
|
BOX |
Kotak persegi panjang. Ukuran penyimpanan: 32 byte. |
BOX |
|
|
PATH |
Jalur. Ukuran penyimpanan: 16 + 16n byte. |
PATH |
|
|
POLYGON |
Poligon, mirip dengan jalur tertutup. Ukuran penyimpanan: 40 + 16n byte. |
POLYGON |
|
|
CIRCLE |
Lingkaran. Ukuran penyimpanan: 24 byte. |
CIRCLE |
|
|
tipe alamat jaringan |
CIDR |
Jaringan IPv4 dan IPv6. Ukuran penyimpanan: 7 atau 19 byte. |
CIDR |
|
INET |
Host dan jaringan IPv4 serta IPv6. Ukuran penyimpanan: 7 atau 19 byte. |
INET |
|
|
MACADDR |
Alamat MAC. Ukuran penyimpanan: 6 byte. |
MACADDR |
|
|
MACADDR8 |
Alamat MAC (format EUI-64). Ukuran penyimpanan: 8 byte. |
MACADDR8 |
|
|
tipe string bit |
Bit (n) |
N/A |
Bit (n) |
|
BIT VARYING (n) |
N/A |
BIT VARYING (n) |
|
|
Tipe UUID |
UUID |
N/A |
VARCHAR(64) |
|
Tipe XML |
XML |
N/A |
XML |
|
Tipe JSON |
JSON |
N/A |
JSON |
|
JSONB |
N/A |
JSONB |
Sinkronisasi data dari SQL Server
Pemetaan tipe data berikut berlaku ketika instans sumber adalah SQL Server (termasuk SQL Server yang dikelola sendiri atau instans ApsaraDB RDS for SQL Server) dan tujuannya adalah database heterogen, seperti AnalyticDB for MySQL, AnalyticDB for PostgreSQL, PostgreSQL, MySQL, atau kluster PolarDB for MySQL.
Jika rentang nilai data dari instans sumber melebihi rentang yang didukung oleh DTS, presisinya berkurang saat ditulis ke instans tujuan.
|
Tipe |
Tipe SQL Server |
Rentang |
AnalyticDB for MySQL tipe |
Tipe PostgreSQL dan AnalyticDB for PostgreSQL |
Tipe MySQL dan PolarDB for MySQL |
|
Integer |
BIT |
Bilangan bulat yang bisa bernilai 1, 0, atau NULL. |
BOOLEAN |
BIT(1) |
BIT(1) |
|
TINYINT |
0 hingga 255 |
TINYINT |
SMALLINT |
TINYINT UNSIGNED |
|
|
SMALLINT |
-2^15 (-32.768) hingga 2^15-1 (32.767) |
SMALLINT |
SMALLINT |
SMALLINT |
|
|
INT |
-2^31 (-2.147.483.648) hingga 2^31-1 (2.147.483.647) |
INTEGER |
INTEGER |
INT |
|
|
BIGINT |
-2^63 (-9.223.372.036.854.775.808) hingga 2^63-1 (9.223.372.036.854.775.807) |
BIGINT |
BIGINT |
BIGINT |
|
|
Desimal |
NUMERIC[ ( |
-10^38 + 1 hingga 10^38 - 1; 1 <= |
DECIMAL |
DECIMAL |
DECIMAL[ ( |
|
DECIMAL[ ( |
-10^38 + 1 hingga 10^38 - 1; 1 <= |
DECIMAL |
DECIMAL |
DECIMAL[ ( |
|
|
FLOAT |
-1.79E+308 hingga -2.23E-308, 0, dan 2.23E-308 hingga 1.79E+308 |
DOUBLE |
DOUBLE PRECISION |
DOUBLE |
|
|
REAL |
-3.40E+38 hingga -1.18E-38, 0, dan 1.18E-38 hingga 3.40E+38 |
FLOAT |
REAL |
DOUBLE |
|
|
Moneter |
MONEY |
-922.337.203.685.477.5808 hingga 922.337.203.685.477.5807 |
DECIMAL(19, 4) |
DECIMAL(19, 4) |
DECIMAL(19, 4) |
|
SMALLMONEY |
-214.748.3648 hingga 214.748.3647 |
DECIMAL(10, 4) |
DECIMAL(10, 4) |
DECIMAL(10, 4) |
|
|
Tanggal dan waktu |
DATE |
0001-01-01 hingga 9999-12-31 |
DATE |
DATE |
DATE |
|
DATETIME |
Rentang tanggal: 1 Januari 1753 hingga 31 Desember 9999 Rentang waktu: 00:00:00 hingga 23:59:59.997 |
DATETIME |
TIMESTAMP(3) WITHOUT TIME ZONE |
DATETIME(3) |
|
|
DATETIME2[ (presisi detik pecahan) ] |
Rentang tanggal: 1 Januari 1 M hingga 31 Desember 9999 M Rentang waktu: 00:00:00 hingga 23:59:59.9999999 |
DATETIME |
TIMESTAMP(7) WITHOUT TIME ZONE |
DATETIME( Catatan
Presisi bawaan adalah 6. |
|
|
DATETIMEOFFSET [ (presisi detik pecahan) ] |
Rentang tanggal: 1 Januari 1 M hingga 31 Desember 9999 M Rentang waktu: 00:00:00 hingga 23:59:59.9999999 Rentang offset zona waktu: -14:00 hingga +14:00 |
TIMESTAMP |
TIMESTAMP(7) WITH TIME ZONE |
DATETIME( Catatan
Presisi bawaan adalah 6. |
|
|
SMALLDATETIME |
Detik selalu nol (:00) dan tidak memiliki bagian pecahan. |
DATETIME |
TIMESTAMP WITHOUT TIME ZONE |
DATETIME |
|
|
TIME [ (skala detik pecahan) ] |
00:00:00.0000000 hingga 23:59:59.9999999 |
TIME |
TIME(7) WITH TIME ZONE |
TIME( |
|
|
TIMESTAMP[( |
1970-01-01 00:00:01.000000 hingga 2038-01-19 03:14:07.999999 Catatan
Format: YYYY-MM-DD hh:mm:ss[.fraction] (UTC). |
VARBINARY(8) |
BYTEA |
VARBINARY(8) |
|
|
String |
BINARY [ ( |
|
VARBINARY |
BYTEA |
|
|
VARBINARY [ ( |
|
VARBINARY |
BYTEA |
|
|
|
CHAR [ ( |
|
VARCHAR |
CHARACTER |
|
|
|
VARCHAR [ ( |
|
VARCHAR |
CHARACTER |
|
|
|
NCHAR [ ( |
|
VARCHAR |
CHARACTER VARYING |
VARCHAR(200) |
|
|
NVARCHAR [ ( |
|
VARCHAR |
CHARACTER VARYING |
|
|
|
NTEXT |
Data Unicode panjang variabel dengan panjang string maksimum 2^30-1 (1.073.741.823) karakter. |
VARCHAR |
TEXT |
LONGTEXT |
|
|
TEXT |
Panjang string maksimum adalah 2^31-1 (2.147.483.647) byte. |
VARCHAR |
TEXT |
LONGTEXT |
|
|
IMAGE |
Data biner panjang variabel dari 0 hingga 2^31-1 (2.147.483.647) byte. |
VARBINARY |
BYTEA |
LONGBLOB |
|
|
Spasial (geografi dan geometri) |
GEOGRAPHY |
N/A |
VARCHAR |
Tidak didukung |
BLOB |
|
GEOMETRY |
N/A |
VARCHAR |
Tidak didukung |
BLOB |
|
|
XML |
XML ( [ CONTENT | DOCUMENT ] xml_schema_collection ) |
N/A |
VARCHAR |
XML |
LONGTEXT |
|
Lainnya |
UNIQUEIDENTIFIER |
N/A |
VARCHAR |
CHARACTER(36) |
CHAR(36) |
|
SQL_VARIANT |
N/A |
Tidak didukung |
Tidak didukung |
VARCHAR(200) |
|
|
HIERARCHYID |
N/A |
Tidak didukung |
Tidak didukung |
VARCHAR(200) |
|
|
SYSNAME |
N/A |
VARCHAR |
CHARACTER VARYING(128) |
VARCHAR(200) |
Sinkronisasi data dari Db2 for LUW
Tabel berikut mencantumkan pemetaan tipe data saat menyinkronkan data dari instans sumber Db2 for LUW ke instans tujuan heterogen, seperti MySQL.
Jika data dari instans sumber melebihi rentang nilai yang didukung oleh Data Transmission Service (DTS), DTS mengurangi presisi data di instans tujuan.
|
Tipe |
Db2 for LUW type |
Nilai |
Tipe MySQL |
|
Integer |
SMALLINT |
-32.768 hingga +32.767 |
SMALLINT |
|
INTEGER |
-2.147.483.648 hingga +2.147.483.647 |
INT |
|
|
BIGINT |
-9.223.372.036.854.775.808 hingga +9.223.372.036.854.775.807 |
BIGINT |
|
|
Desimal |
DECIMAL(presisi-integer, skala-integer) |
p <= 38 |
DECIMAL |
|
FLOAT(integer) |
Nilai valid: 1 hingga 53. Nilai dari 1 hingga 24 menunjukkan presisi tunggal. Nilai dari 25 hingga 53 menunjukkan presisi ganda. |
FLOAT |
|
|
DECFLOAT(presisi-integer) |
N/A |
DECIMAL(65,10) |
|
|
Tanggal dan waktu |
DATE |
0001-01-01 hingga 9999-12-31 |
DATE |
|
TIME |
00:00:00 hingga 24:00:00 |
TIME |
|
|
TIMESTAMP(integer) |
0001-01-01-00.00.00.000000000000 hingga 9999-12-31-24.00.00.000000000000; 0 <= p <= 12 |
DATETIME |
|
|
String |
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 |
|
|
Tipe lainnya |
XML |
2.147.483.647 |
VARCHAR | LONGTEXT |
Sinkronisasi data dari Db2 for i
Topik ini menjelaskan pemetaan tipe data untuk sinkronisasi data dari instans sumber Db2 for i ke instans tujuan heterogen, seperti MySQL.
Jika rentang nilai data dari instans sumber melebihi rentang yang didukung oleh DTS, data yang ditulis ke instans tujuan mungkin kehilangan presisi.
|
Tipe |
Db2 for i |
Rentang nilai |
MySQL |
|
Tipe integer |
SMALLINT |
-32.768 hingga +32.767 |
SMALLINT |
|
INTEGER |
-2.147.483.648 hingga +2.147.483.647 |
INT |
|
|
BIGINT |
-9.223.372.036.854.775.808 hingga +9.223.372.036.854.775.807 |
BIGINT |
|
|
Tipe desimal |
DECIMAL(presisi-integer, skala-integer) |
p <= 63 |
DECIMAL |
|
NUMERIC |
N/A |
DECIMAL |
|
|
FLOAT(integer) |
N/A |
FLOAT |
|
|
DECFLOAT(presisi-integer) |
N/A |
DECIMAL(65,10) |
|
|
Tipe tanggal dan waktu |
DATE |
0001-01-01 hingga 9999-12-31 |
DATE |
|
TIME |
00:00:00 hingga 24:00:00 |
TIME |
|
|
TIMESTAMP(integer) |
0001-01-01-00.00.00.000000000000 hingga 9999-12-31-24.00.00.000000000000; 0 <= p <= 12 |
DATETIME |
|
|
Tipe string |
CHAR(integer) |
32.765 |
CHAR | VARCHAR |
|
VARCHAR(integer) |
32.739 |
VARCHAR |
|
|
CHAR(integer) FOR BIT DATA |
N/A |
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 |
|
|
Tipe lainnya |
DATALINK |
N/A |
VARCHAR | LONGTEXT |
|
ROWID |
40 |
VARCHAR | LONGTEXT |
|
|
XML |
2.147.483.647 |
VARCHAR | LONGTEXT |
Sinkronisasi data dari TiDB
Saat menyinkronkan data dari instans sumber TiDB yang dikelola sendiri ke instans tujuan heterogen, seperti AnalyticDB for MySQL 3.0 atau Lindorm, tipe data dipetakan sebagai berikut:
Tipe data TiDB | Tipe data 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 atau 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 |