全部产品
Search
文档中心

Data Transmission Service:Pemetaan tipe data untuk sinkronisasi skema awal

更新时间:Jan 18, 2026

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:

Catatan

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

Catatan

Saat menyinkronkan data ke AnalyticDB for MySQL, perhatikan hal berikut:

  • DTS mengonversi bidang INT dengan atribut AUTO_INCREMENT di database sumber menjadi tipe BIGINT di database tujuan.

  • Untuk menghindari dampak performa, jika tabel yang digunakan dalam operasi JOIN berisi bidang INT dan BIGINT, pastikan kedua bidang menggunakan tipe data yang sama (INT atau BIGINT) 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

  • Jika panjang data kurang dari atau sama dengan 255 karakter: KEYWORD

  • Jika panjang data lebih dari 255 karakter: TEXT

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.

  • 2.8.0.2 atau lebih baru: DATE

  • Sebelum versi 2.8.0.2: VARCHAR

DATETIME

VARCHAR

Penting
  • Petakan ke tipe VARCHAR di tujuan.

  • Jika Anda memetakannya ke tipe TIMESTAMP, ketidakkonsistenan data dapat terjadi karena masalah zona waktu. Gunakan fitur ekstrak, transformasi, muat (ETL) selama konfigurasi tugas untuk memastikan konsistensi data.

TIME

Pilih opsi berdasarkan versi instans Lindorm tujuan.

  • 2.8.0.2 atau lebih baru: TIME

    Catatan

    Formatnya adalah hh:mm:ss. Data waktu berlebih dipotong. Misalnya, jika data sumber adalah 08:11:15.354, data yang ditulis ke tujuan adalah 08:11:15.

  • Sebelum versi 2.8.0.2: VARCHAR

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:

Catatan

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

Catatan

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:

Catatan

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:

Catatan

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

  • Jika panjang > 255: BLOB

  • Jika tidak: BINARY(n)

VARBINARY [ ( n | max) ]

n berkisar dari 1 hingga 8.000. max menunjukkan ukuran penyimpanan maksimum adalah 2^31-1 byte.

VARBINARY

BYTEA

  • Jika panjang = max: LONGBLOB

  • Jika tidak: VARBINARY(n)

CHAR [ ( n ) ]

n berkisar dari 1 hingga 8.000. Ukuran penyimpanan adalah n byte.

VARCHAR

CHARACTER

  • Jika panjang > 255: VARCHAR

  • Jika tidak: CHAR

VARCHAR [ ( n | max ) ]

n berkisar dari 1 hingga 8.000. max menunjukkan ukuran penyimpanan maksimum adalah 2^31-1 byte (2 GB).

VARCHAR

CHARACTER

  • Jika panjang = max: LONGTEXT

  • Jika tidak: VARCHAR(n)

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

  • Jika panjang = max: LONGTEXT

  • Jika tidak: VARCHAR(n)

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:

Catatan

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:

Catatan

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