Database heterogen mendukung berbagai tipe data. Saat menggunakan Data Transmission Service (DTS) untuk menyinkronkan data antar database heterogen, DTS memetakan tipe data selama sinkronisasi skema awal dengan mengonversi tipe data dari database sumber ke tipe data yang didukung oleh database tujuan. Topik ini menjelaskan pemetaan tipe data tersebut guna membantu Anda mengevaluasi dampak sinkronisasi data terhadap bisnis.
Ikhtisar
Bagian ini menjelaskan pemetaan tipe data antara database heterogen untuk skenario sinkronisasi data berikut:
Sinkronisasi data dari sumber MySQL
Jika database sumber adalah MySQL—seperti instans RDS for MySQL, database MySQL yang dikelola sendiri, atau kluster PolarDB for MySQL—dan instans tujuan adalah database heterogen seperti AnalyticDB for MySQL atau AnalyticDB for PostgreSQL, pemetaan tipe datanya adalah sebagai berikut:
Jika rentang nilai data yang akan disinkronkan dari instans sumber melebihi rentang yang didukung oleh DTS, presisi data akan berkurang saat ditulis ke instans tujuan.
Instans tujuan: AnalyticDB for MySQL atau AnalyticDB for PostgreSQL
Saat menyinkronkan data ke AnalyticDB for MySQL, perhatikan hal berikut:
DTS mengonversi bidang
INTdengan atributAUTO_INCREMENTdi database sumber menjadi tipeBIGINTdi database tujuan.Untuk menghindari dampak performa, jika tabel yang digunakan dalam operasi
JOINberisi bidangINTdanBIGINT, pastikan kedua bidang menggunakan tipe data yang sama (INTatauBIGINT) di database tujuan.
Tipe | Tipe data sumber | Rentang nilai | Tipe data di AnalyticDB for MySQL | Tipe data di AnalyticDB for PostgreSQL |
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) | |
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 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 | |
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',...) | Maksimum 65.535 nilai enumerasi. | VARCHAR | VARCHAR(128) | |
SET('value1','value2',...) | Maksimum 64 elemen. | VARCHAR | VARCHAR(128) | |
Jenis Ruang | GEOMETRY | Nilai dari tipe geometri apa pun. | VARBINARY | POLYGON |
POINT | Tidak ada | VARBINARY | POINT | |
LINESTRING | Tidak ada | VARBINARY | PATH | |
POLYGON | Tidak ada | VARBINARY | POLYGON | |
MULTIPOINT | Tidak ada | VARBINARY | POLYGON | |
MULTILINESTRING | Tidak ada | VARBINARY | PATH | |
MULTIPOLYGON | Tidak ada | VARBINARY | POLYGON | |
GEOMETRYCOLLECTION | Koleksi nilai dari tipe geometri apa pun. | VARBINARY | POLYGON | |
Tipe data JSON | JSON | Tidak ada | JSON | JSON |
Instans tujuan: DataHub, Kafka (Message Queue for Apache Kafka atau Kafka yang dikelola sendiri)
Type | Tipe data sumber | Rentang nilai | Tipe data di DataHub | Tipe data di Message Queue for Apache Kafka atau Kafka yang dikelola sendiri |
Integer | BIT[(M)] | 1 hingga 64 | BOOLEAN | STRING | Sama dengan tipe data di MySQL atau PolarDB for MySQL. |
TINYINT[(M)] | -128 hingga 127 | BIGINT | ||
TINYINT[(M)] [UNSIGNED] | 0 hingga 255 | BIGINT | ||
SMALLINT[(M)] | -32768 hingga 32767 | BIGINT | ||
SMALLINT[(M)] [UNSIGNED] | 0 hingga 65535 | BIGINT | ||
MEDIUMINT[(M)] | -8388608 hingga 8388607 | BIGINT | ||
MEDIUMINT[(M)] [UNSIGNED] | 0 hingga 16777215 | BIGINT | ||
INT[(M)] | -2147483648 hingga 2147483647 | BIGINT | ||
INT[(M)] [UNSIGNED] | 0 hingga 4294967295 | BIGINT | ||
BIGINT[(M)] | -9223372036854775808 hingga 9223372036854775807 | BIGINT | ||
BIGINT[(M)] [UNSIGNED] | 0 hingga 18446744073709551615 | BIGINT | ||
Desimal | DECIMAL[(M[,D])] | M: 0 hingga 65 D: 0 hingga 30 | DECIMAL | |
FLOAT(p) | 1.175494351E-38 hingga 3.402823466E+38 | DOUBLE | ||
DOUBLE[(M,D)] | 2.2250738585072014E-308 hingga 1.7976931348623157E+308 | DOUBLE | ||
Waktu | DATE | 1000-01-01 hingga 9999-12-31 Catatan Format: YYYY-MM-DD. | TIMESTAMP | |
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 | ||
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 | ||
TIME[(fsp)] | -838:59:59.000000 hingga 838:59:59.000000 Catatan Format: hh:mm:ss[.fraction] (UTC). | STRING | ||
YEAR[(4)] | 1901 hingga 2155, atau 0000 | STRING | ||
String | CHAR[(M)] | 0 hingga 255 karakter | STRING | |
VARCHAR(M) | 0 hingga 65.535 karakter | STRING | ||
BINARY[(M)] | 0 hingga 255 byte | STRING | ||
VARBINARY(M) | 0 hingga 65.535 byte | STRING | ||
TINYBLOB | 255 (2^8 - 1) byte | STRING | ||
TINYTEXT | 255 (2^8 - 1) karakter | STRING | ||
BLOB | 65.535 (2^16 - 1) byte | STRING | ||
TEXT | 65.535 (2^16 - 1) karakter | STRING | ||
MEDIUMBLOB | 16.777.215 (2^24 - 1) byte | STRING | ||
MEDIUMTEXT | 16.777.215 (2^24 - 1) karakter | STRING | ||
LONGBLOB | 4.294.967.295 atau 4 GB (2^32 - 1) byte | STRING | ||
LONGTEXT | 4.294.967.295 atau 4 GB (2^32 - 1) karakter | STRING | ||
ENUM('value1','value2',...) | Maksimum 65.535 elemen. | STRING | ||
SET('value1','value2',...) | Maksimum 64 elemen. | STRING | ||
Jenis ruang | GEOMETRY | Nilai dari tipe geometri apa pun. | STRING | |
POINT | Tidak ada | STRING | ||
LINESTRING | Tidak ada | STRING | ||
POLYGON | Tidak ada | STRING | ||
MULTIPOINT | Tidak ada | STRING | ||
MULTILINESTRING | Tidak ada | STRING | ||
MULTIPOLYGON | Tidak ada | STRING | ||
GEOMETRYCOLLECTION | Koleksi nilai dari tipe geometri apa pun. | STRING | ||
Tipe JSON | JSON | Tidak ada | STRING |
Instans tujuan: MaxCompute, Elasticsearch, atau ClickHouse
Tipe | Tipe data sumber | Rentang nilai | MaxCompute | Elasticsearch | ClickHouse |
Integer | BIT[(M)] | 1 hingga 64 | BOOLEAN | STRING | BOOLEAN | LONG Catatan Jika nilainya hanya 1 byte, gunakan tipe 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, gunakan tipe 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 | |
Waktu | DATE | 1000-01-01 hingga 9999-12-31 Catatan Format: YYYY-MM-DD. | DATETIME | DATE Catatan Format: YYYY-MM-DD. Untuk informasi lebih lanjut, lihat format tanggal. | DATE32 Catatan Rentang nilai tipe DATE di ClickHouse lebih kecil daripada di MySQL. Jika Anda juga menggunakan tipe DATE di ClickHouse, data mungkin gagal ditulis. |
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 | DATE Catatan Format DATE adalah yyyy-MM-dd'T'HH:mm:ss (UTC). Jika presisinya mikrodetik, formatnya adalah yyyy-MM-dd'T'HH:mm:ss.S. Untuk informasi lebih lanjut, lihat format tanggal. | DATETIME64 Catatan Rentang nilai tipe DATETIME di ClickHouse lebih kecil daripada di MySQL. Jika Anda juga menggunakan tipe DATETIME di ClickHouse, data mungkin gagal ditulis. | |
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). | DATETIME | DATE Catatan Format DATE adalah yyyy-MM-dd'T'HH:mm:ss (UTC). Jika presisinya 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 Format: hh:mm:ss[.fraction] (UTC). | STRING | DATE Catatan Format: YYYY-MM-DD. 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',...) | Maksimum 65.535 nilai enumerasi. | STRING | KEYWORD | ENUM | |
SET('value1','value2',...) | Maksimum 64 elemen. | STRING | KEYWORD | STRING | |
Tipe Ruang | GEOMETRY | Nilai dari tipe geometri apa pun. | STRING | GEO_SHAPE | STRING |
POINT | Tidak ada | STRING | GEO_POINT | STRING | |
LINESTRING | Tidak ada | STRING | GEO_SHAPE | STRING | |
POLYGON | Tidak ada | STRING | GEO_SHAPE | STRING | |
MULTIPOINT | Tidak ada | STRING | GEO_SHAPE Catatan Jika nilainya hanya 1 byte, gunakan tipe BOOLEAN di Elasticsearch. | STRING | |
MULTILINESTRING | Tidak ada | STRING | GEO_SHAPE | STRING | |
MULTIPOLYGON | Tidak ada | STRING | GEO_SHAPE | STRING | |
GEOMETRYCOLLECTION | Koleksi nilai dari tipe geometri apa pun. | STRING | GEO_SHAPE | STRING | |
Tipe JSON | JSON | Tidak ada | STRING | OBJECT Catatan Jika nilainya hanya 1 byte, gunakan tipe BOOLEAN di Elasticsearch. | STRING |
Instans tujuan: Tablestore
Tipe data sumber | Tipe data yang sesuai di 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 Nilai default adalah 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 tujuan: Lindorm
Tipe data sumber | Tipe data yang sesuai di Lindorm |
BOOLEAN | BOOLEAN |
BIT | BOOLEAN |
TINYINT | TINYINT |
SMALLINT | SMALLINT |
INTEGER | INTEGER |
BIGINT | BIGINT |
BIGINT UNSIGNED Penting Hanya data dalam rentang nilai BIGINT (dari -9223372036854775808 hingga 9223372036854775807) yang didukung. | BIGINT |
FLOAT | FLOAT |
DOUBLE | DOUBLE |
DECIMAL | DECIMAL Penting Presisi harus sama dengan bidang yang sesuai di instans sumber. |
CHAR/VARCHAR/TEXT/TINYTEXT/MEDIUMTEXT/LONGTEXT | CHAR/VARCHAR |
BINARY | BINARY |
BLOB | VARBINARY |
VARBINAY | VARBINARY |
TIMESTAMP | TIMESTAMP |
YEAR | INTEGER |
DATE | Pilih opsi sesuai versi instans Lindorm tujuan Anda.
|
DATETIME | VARCHAR Penting
|
TIME | Pilih opsi berdasarkan versi instans Lindorm tujuan.
|
JSON | JSON |
Instans tujuan: Oracle
Tipe | Tipe data sumber | Rentang nilai | Tipe data di Oracle |
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) | |
Desimal | DECIMAL[(M[,D])] | M: 0 hingga 65 D: 0 hingga 30 | NUMBER(M,D) Catatan Jika presisi dan skala tidak ditentukan, tipe data dikonversi ke NUMBER. |
FLOAT(p) | 1.175494351E-38 hingga 3.402823466E+38 | FLOAT | |
DOUBLE[(M,D)] | 2.2250738585072014E-308 hingga 1.7976931348623157E+308 | DOUBLE | |
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 tidak ditentukan, tipe data dikonversi ke TIMESTAMP(0). | |
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 tidak ditentukan, tipe data dikonversi ke TIMESTAMP[(0)] WITH LOCAL TIME ZONE. | |
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 | |
String | CHAR[(M)] | 0 hingga 255 karakter | CHAR[(M)] Catatan Jika panjang tidak ditentukan, tipe data dikonversi ke CHAR(1). |
VARCHAR(M) | 0 hingga 65.535 karakter | VARCHAR(M) | |
BINARY[(M)] | 0 hingga 255 byte | RAW(M) Catatan Jika panjang tidak ditentukan, tipe data dikonversi ke RAW(1). | |
VARBINARY(M) | 0 hingga 65.535 byte | RAW(M) | |
TINYBLOB | 255 (2^8 - 1) byte | BLOB | |
TINYTEXT | 255 (2^8 - 1) karakter | TEXT | |
BLOB | 65.535 (2^16 - 1) byte | BLOB | |
TEXT | 65.535 (2^16 - 1) karakter | TEXT | |
MEDIUMBLOB | 16.777.215 (2^24 - 1) byte | BLOB | |
MEDIUMTEXT | 16.777.215 (2^24 - 1) karakter | TEXT | |
LONGBLOB | 4.294.967.295 atau 4 GB (2^32 - 1) byte | BLOB | |
LONGTEXT | 4.294.967.295 atau 4 GB (2^32 - 1) karakter | TEXT | |
ENUM('value1','value2',...) | Maksimum 65.535 nilai enumerasi. | Tidak didukung | |
SET('value1','value2',...) | Maksimum 64 elemen. | Tidak didukung | |
Tipe Ruang | GEOMETRY | Nilai dari tipe geometri apa pun. | Tidak didukung |
POINT | Tidak ada | Tidak didukung | |
LINESTRING | Tidak ada | Tidak didukung | |
POLYGON | Tidak ada | Tidak didukung | |
MULTIPOINT | Tidak ada | Tidak didukung | |
MULTILINESTRING | Tidak ada | Tidak didukung | |
MULTIPOLYGON | Tidak ada | Tidak didukung | |
GEOMETRYCOLLECTION | Koleksi nilai dari tipe geometri apa pun. | Tidak didukung | |
Tipe JSON | JSON | Tidak ada | CLOB |
Sinkronisasi data dari sumber Oracle
Jika instans sumber adalah database Oracle yang dikelola sendiri dan instans tujuan adalah database heterogen seperti AnalyticDB for PostgreSQL, pemetaan tipe datanya adalah sebagai berikut:
Jika rentang nilai data yang akan disinkronkan dari instans sumber melebihi rentang yang didukung oleh DTS, presisi data akan berkurang saat ditulis ke instans tujuan.
Type | Tipe data di Oracle | Rentang nilai | Tipe data di MySQL, PolarDB for MySQL, atau PolarDB-X | Tipe data di AnalyticDB for PostgreSQL |
Numerik | NUMBER(p,s) | 1 hingga 22 byte. p menentukan presisi. Nilainya berkisar dari 1 hingga 38. s menentukan skala. Nilainya berkisar dari -84 hingga 127. | DECIMAL[(p[,s])] Catatan Jika presisi dan skala tidak ditentukan, tipe data dipetakan ke DECIMAL(65,30). | DECIMAL | TINYINT | SMALLINT | INTEGER | BIGINT |
FLOAT(p) | 1 hingga 22 byte. p menentukan variabel penunjuk. Nilainya berkisar dari 1 hingga 126 bit. | DOUBLE | DOUBLE PRECISION | |
BINARY_FLOAT | Bilangan titik mengambang 32-bit, yaitu 4 byte. | FLOAT | DOUBLE PRECISION | |
BINARY_DOUBLE | Bilangan titik mengambang 64-bit, yaitu 8 byte. | DOUBLE | DOUBLE PRECISION | |
Tanggal | DATE | Tidak ada | DATETIME | TIMESTAMP(0) |
TIMESTAMP [(presisi_detik_pecahan)] | Tidak ada | DATETIME[(presisi_detik_pecahan)] | TIMESTAMP | |
TIMESTAMP [(presisi_detik_pecahan)] WITH TIME ZONE | Tidak ada | DATETIME[(presisi_detik_pecahan)] | TIMESTAMP WITH TIME ZONE | |
TIMESTAMP [(presisi_detik_pecahan)] WITH LOCAL TIME ZONE | Tidak ada | DATETIME[(presisi_detik_pecahan)] | TIMESTAMP WITH TIME ZONE | |
INTERVAL YEAR [(presisi_tahun)] TO MONTH | Tidak ada | Tidak didukung | VARCHAR(32) | |
INTERVAL DAY [(presisi_hari)] TO SECOND [(presisi_detik_pecahan)] | Tidak ada | Tidak didukung | VARCHAR(32) | |
String | CHAR [(ukuran [BYTE | CHAR])] | 2.000 byte. | CHAR[(n)] Catatan Jika panjang tidak ditentukan, tipe data dipetakan ke CHAR(1). | CHAR |
NCHAR[(size)] | 2.000 byte. | NATIONAL CHAR[(n)] Catatan Jika panjang tidak ditentukan, tipe data dipetakan ke NATIONAL CHAR(1). | VARCHAR | |
VARCHAR(ukuran [BYTE | CHAR]) | Jika MAX_STRING_SIZE diatur ke EXTENDED, panjang maksimum adalah 32.767 byte. Jika MAX_STRING_SIZE diatur ke STANDARD, panjang maksimum adalah 4.000 byte. | VARCHAR(n) | VARCHAR(n) | |
VARCHAR2(ukuran [BYTE | CHAR]) | Jika MAX_STRING_SIZE diatur ke EXTENDED, panjang maksimum adalah 32.767 byte. Jika MAX_STRING_SIZE diatur ke STANDARD, panjang maksimum adalah 4.000 byte. | VARCHAR(n) | VARCHAR | |
NVARCHAR2(size) | Jika MAX_STRING_SIZE diatur ke EXTENDED, panjang maksimum adalah 32.767 byte. Jika MAX_STRING_SIZE diatur ke STANDARD, panjang maksimum adalah 4.000 byte. | NATIONALVARCHAR[(n)] | VARCHAR | |
LONG | Panjang maksimum adalah 2 GB (2^31-1). | LONGTEXT | TEXT | |
RAW(ukuran) | Panjang maksimum adalah 32.767 byte atau 2.000 byte. | BINARY(2*size) | BYTEA | |
LONG RAW | Ukuran maksimum adalah 2 GB. | LONGBLOB | BYTEA | |
CLOB | Panjang maksimum adalah (4 GB -1) × DB_BLOCK_SIZE. | LONGTEXT | TEXT | |
NCLOB | Panjang maksimum adalah (4 GB - 1) × DB_BLOCK_SIZE. | LONGTEXT | TEXT | |
BLOB | Panjang maksimum adalah (4 GB - 1) × DB_BLOCK_SIZE. | LONGBLOB | BYTEA | |
BFILE | 4G. | Tidak didukung | Tidak didukung | |
Tipe JSON | JSON | Panjang maksimum adalah 32 MB. | Tidak didukung | JSON |
Tipe ROWID | ROWID | 64 karakter. | Tidak didukung | OID |
UROWID | 64 karakter. | Tidak didukung | Tidak didukung | |
Tipe ruang | Perlu kustomisasi. | Tidak didukung | ||
DTS mengonversi tipe bidang yang tidak didukung oleh AnalyticDB for PostgreSQL ke BYTEA. Jika konversi gagal, DTS mengatur nilai bidang ke NULL.
Sinkronisasi data dari sumber PostgreSQL
Jika instans sumber adalah database PostgreSQL—seperti database PostgreSQL yang dikelola sendiri atau instans RDS for PostgreSQL—dan instans tujuan adalah database heterogen seperti AnalyticDB for PostgreSQL, pemetaan tipe datanya adalah sebagai berikut:
Jika rentang nilai data yang akan disinkronkan dari instans sumber melebihi rentang yang didukung oleh DTS, presisi data akan berkurang saat ditulis ke instans tujuan.
Type | Tipe data di PostgreSQL | Rentang nilai | Tipe data di AnalyticDB for PostgreSQL |
Integer | SMALLINT | -32768 hingga +32767 | SMALLINT |
INTEGER | -2147483648 hingga +2147483647 | INTEGER | |
BIGINT | -9223372036854775808 hingga +9223372036854775807 | BIGINT | |
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 | |
Mata uang | MONEY | -92233720368547758.08 hingga +92233720368547758.07 | MONEY |
String | CHARACTER VARYING(n) | Tidak ada | CHARACTER VARYING(n) |
CHARACTER(n) | Tidak ada | CHARACTER(n) | |
TEXT | Tidak ada | TEXT | |
CHAR | Default: 1 byte. | CHAR | |
NAME | Panjang maksimum: 64 byte. | NAME | |
Pencarian teks | TSQUERY | Menunjukkan kueri teks. | TEXT |
TSVECTOR | Menunjukkan dokumen dalam format yang dioptimalkan untuk pencarian teks. | TEXT | |
Data biner | BYTEA | 1 atau 4 byte ditambah string biner aktual. | BYTEA |
Tanggal | TIMESTAMP [ (p) ] [ WITHOUT TIME ZONE ] | Menunjukkan tanggal dan waktu tanpa zona waktu. Ukuran penyimpanan adalah 8 byte. | TIMESTAMP [ (p) ] [ WITHOUT TIME ZONE ] |
TIMESTAMP [ (p) ] WITH TIME ZONE | Menunjukkan tanggal dan waktu dengan zona waktu. Ukuran penyimpanan adalah 8 byte. | TIMESTAMP [ (p) ] WITH TIME ZONE | |
DATE | Menunjukkan tanggal. Ukuran penyimpanan adalah 4 byte. | DATE | |
TIME [ (p) ] [ WITHOUT TIME ZONE ] | Menunjukkan waktu tanpa zona waktu. Ukuran penyimpanan adalah 8 byte. | TIME [ (p) ] [ WITHOUT TIME ZONE ] | |
TIME [ (p) ] WITH TIME ZONE | Menunjukkan waktu dengan zona waktu. Ukuran penyimpanan adalah 12 byte. | TIME [ (p) ] WITH TIME ZONE | |
interval [ fields ] [ (p) ] | Menunjukkan interval waktu. Ukuran penyimpanan adalah 16 byte. | interval [ fields ] [ (p) ] | |
Boolean | BOOLEAN | 1 byte | BOOLEAN Penting Jika instans tujuan adalah ClickHouse, tipe data dikonversi ke STRING. |
Tipe enumerasi | Enumerasi kustom | Tidak ada | VARCHAR(128) |
Tipe Ruang | POINT | Titik pada bidang. Panjang maksimum adalah 16 byte. | POINT |
LINE | Garis tak hingga. Panjang maksimum adalah 32 byte. | LINE | |
LSEG | Segmen garis terbatas. Panjang maksimum adalah 32 byte. | LSEG | |
BOX | Kotak persegi panjang. Panjang maksimum adalah 32 byte. | BOX | |
PATH | Jalur. Panjang maksimum adalah 16+16n byte. | PATH | |
POLYGON | Poligon (mirip jalur tertutup). Panjang maksimum adalah 40+16n byte. | POLYGON | |
CIRCLE | Lingkaran. Panjang maksimum adalah 24 byte. | CIRCLE | |
Alamat jaringan | CIDR | Jaringan IPv4 dan IPv6. Panjang maksimum adalah 7 atau 19 byte. | CIDR |
INET | Host dan jaringan IPv4 serta IPv6. Panjang maksimum adalah 7 atau 19 byte. | INET | |
MACADDR | Alamat MAC. Panjang maksimum adalah 6 byte. | MACADDR | |
MACADDR8 | Alamat MAC dalam format EUI-64. Panjang maksimum adalah 8 byte. | MACADDR8 | |
Tipe string bit | Bit (n) | Tidak ada | Bit (n) |
BIT VARYING (n) | Tidak ada | BIT VARYING (n) | |
UUID | UUID | Tidak ada | VARCHAR(64) |
Tipe XML | XML | Tidak ada | XML |
Tipe JSON | JSON | Tidak ada | JSON |
JSONB | Tidak ada | JSONB |
Sinkronisasi data dari sumber SQL Server
Jika instans sumber adalah database SQL Server—seperti database SQL Server yang dikelola sendiri atau instans RDS for SQL Server—dan instans tujuan adalah database heterogen seperti kluster AnalyticDB for MySQL , instans AnalyticDB for PostgreSQL, database PostgreSQL, database MySQL, atau kluster PolarDB for MySQL, pemetaan tipe datanya adalah sebagai berikut:
Jika rentang nilai data yang akan disinkronkan dari instans sumber melebihi rentang yang didukung oleh DTS, presisi data akan berkurang saat ditulis ke instans tujuan.
Tipe | Tipe data di SQL Server | Rentang nilai | AnalyticDB for MySQL Tipe Data | Tipe data di PostgreSQL atau AnalyticDB for PostgreSQL | Tipe data di MySQL atau PolarDB for MySQL |
Integer | BIT | Tipe data INTEGER yang nilainya bisa 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[ (p[ ,s] )] | -10^38+1 hingga 10^38-1; 1<=p<=38 | DECIMAL | DECIMAL | DECIMAL[ (p[ ,s] )] |
DECIMAL[ (p[ ,s] )] | -10^38+1 hingga 10^38-1; 1<= p<=38 | DECIMAL | DECIMAL | DECIMAL[ (p[ ,s] )] | |
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 | |
Mata uang | 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 | 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 0001 hingga 31 Desember 9999. Rentang waktu: 00:00:00 hingga 23:59:59.9999999. | DATETIME | TIMESTAMP(7) WITHOUT TIME ZONE | DATETIME(p) Catatan Presisi default adalah 6. | |
DATETIMEOFFSET [ (presisi detik pecahan) ] | Rentang tanggal: 1 Januari 0001 hingga 31 Desember 9999. 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(p) Catatan Presisi default adalah 6. | |
SMALLDATETIME | Detik selalu nol (:00) dan tidak ada bagian pecahan untuk detik. | 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(p) | |
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). | VARBINARY(8) | BYTEA | VARBINARY(8) | |
String | BINARY [ ( n ) ] | n berkisar dari 1 hingga 8.000. | VARBINARY | BYTEA |
|
VARBINARY [ ( n | max) ] | n berkisar dari 1 hingga 8.000. max menunjukkan ukuran penyimpanan maksimum adalah 2^31-1 byte. | VARBINARY | BYTEA |
| |
CHAR [ ( n ) ] | n berkisar dari 1 hingga 8.000. Ukuran penyimpanan adalah n byte. | VARCHAR | CHARACTER |
| |
VARCHAR [ ( n | max ) ] | n berkisar dari 1 hingga 8.000. max menunjukkan ukuran penyimpanan maksimum adalah 2^31-1 byte (2 GB). | VARCHAR | CHARACTER |
| |
NCHAR [ ( n ) ] | Dalam byte ganda, n berkisar dari 1 hingga 4.000. Ukuran penyimpanan adalah dua kali n byte. | VARCHAR | CHARACTER VARYING | VARCHAR(200) | |
NVARCHAR [ ( n | max ) ] | Dalam byte ganda, n berkisar dari 1 hingga 4.000. max menunjukkan ukuran penyimpanan maksimum adalah 2^30-1 karakter (2 GB). | VARCHAR | CHARACTER VARYING |
| |
NTEXT | Data Unicode panjang variabel. Panjang string maksimum adalah 2^30-1 (1.073.741.823) byte. | 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 dan geometri | GEOGRAPHY | Tidak ada | VARCHAR | Tidak didukung | BLOB |
GEOMETRY | Tidak ada | VARCHAR | Tidak didukung | BLOB | |
Tipe XML | XML ( [ CONTENT | DOCUMENT ] xml_schema_collection ) | Tidak ada | VARCHAR | XML | LONGTEXT |
Other types | UNIQUEIDENTIFIER | Tidak ada | VARCHAR | CHARACTER(36) | CHAR(36) |
SQL_VARIANT | Tidak ada | Tidak didukung | Tidak didukung | VARCHAR(200) | |
HIERARCHYID | Tidak ada | Tidak didukung | Tidak didukung | VARCHAR(200) | |
SYSNAME | Tidak ada | VARCHAR | CHARACTER VARYING(128) | VARCHAR(200) |
Sinkronisasi data dari sumber Db2 for LUW
Jika instans sumber adalah database Db2 for LUW dan instans tujuan adalah database heterogen seperti database MySQL, pemetaan tipe datanya adalah sebagai berikut:
Jika rentang nilai data yang akan disinkronkan dari instans sumber melebihi rentang yang didukung oleh DTS, presisi data akan berkurang saat ditulis ke instans tujuan.
Tipe | Tipe data di Db2 for LUW | Rentang nilai | Tipe data di 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) | Nilainya berkisar dari 1 hingga 53. Nilai dari 1 hingga 24 menunjukkan presisi tunggal. Nilai dari 25 hingga 53 menunjukkan presisi ganda. | FLOAT | |
DECFLOAT(presisi-integer) | Tidak ada | DECIMAL(65,10) | |
Tanggal | 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 lain | XML | 2.147.483.647 | VARCHAR | LONGTEXT |
Sinkronisasi data dari sumber Db2 for i
Jika instans sumber adalah database Db2 for i dan instans tujuan adalah database heterogen seperti database MySQL, pemetaan tipe datanya adalah sebagai berikut:
Jika rentang nilai data yang akan disinkronkan dari instans sumber melebihi rentang yang didukung oleh DTS, presisi data akan berkurang saat ditulis ke instans tujuan.
Tipe | Tipe data di Db2 for i | Rentang nilai | Tipe data di 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<=63 | DECIMAL |
NUMERIC | Tidak ada | DECIMAL | |
FLOAT(integer) | Tidak ada | FLOAT | |
DECFLOAT(presisi-integer) | Tidak ada | DECIMAL(65,10) | |
Tanggal | DATE | 0001-01-0 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 | CHAR(integer) | 32.765 | CHAR | VARCHAR |
VARCHAR(integer) | 32.739 | VARCHAR | |
CHAR(integer) FOR BIT DATA | Tidak ada | 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 | |
Lainnya | DATALINK | Tidak ada | VARCHAR | LONGTEXT |
ROWID | 40 | VARCHAR | LONGTEXT | |
XML | 2.147.483.647 | VARCHAR | LONGTEXT |
Sinkronisasi data dari sumber TiDB
Jika instans sumber adalah database TiDB yang dikelola sendiri dan instans tujuan adalah database heterogen seperti AnalyticDB for MySQL 3.0, pemetaan tipe datanya adalah 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 |