Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tabel dan koleksi pengaturan aturan dan operasi
Gunakan pengaturan tabel untuk menentukan pengaturan apa pun yang ingin Anda terapkan ke tabel atau tampilan yang dipilih untuk operasi tertentu. Aturan pengaturan tabel bersifat opsional, tergantung pada titik akhir dan persyaratan migrasi Anda.
Alih-alih menggunakan tabel dan tampilan, database MongoDB dan Amazon DocumentDB menyimpan catatan data sebagai dokumen yang dikumpulkan bersama dalam koleksi. Database tunggal untuk setiap titik akhir MongoDB atau Amazon DocumentDB adalah kumpulan koleksi tertentu yang diidentifikasi dengan nama database.
Saat bermigrasi dari sumber MongoDB atau Amazon DocumentDB, Anda bekerja dengan pengaturan beban paralel sedikit berbeda. Dalam hal ini, pertimbangkan jenis autosegmentasi atau segmentasi rentang pengaturan beban paralel untuk koleksi yang dipilih daripada tabel dan tampilan.
Topik
Untuk aturan pemetaan tabel yang menggunakan jenis aturan tabel-pengaturan, Anda dapat menerapkan parameter berikut.
Parameter | Kemungkinan nilai | Deskripsi |
---|---|---|
rule-type |
table-settings
|
Nilai yang menerapkan aturan ke tabel, tampilan, atau koleksi yang ditentukan oleh aturan pemilihan. |
rule-id |
Nilai numerik. | Nilai numerik yang unik untuk mengidentifikasi aturan. |
rule-name |
Nilai alfanumerik. | Nama unik untuk mengidentifikasi aturan. |
object-locator |
Objek dengan parameter berikut:
|
Nama skema dan tabel atau tampilan tertentu atau nama database dan koleksi tertentu (tidak ada wildcard). |
parallel-load |
Objek dengan parameter berikut:
|
Nilai yang menentukan beban paralel (multithreaded) operasi di atas meja atau tampilan diidentifikasi oleh
Untuk informasi lebih lanjut tentang beban paralel, lihatMenggunakan beban paralel untuk tabel, tampilan, dan koleksi yang dipilih. |
type |
Salah satu dari berikut ini untuk parallel-load :
|
Mekanisme untuk mengidentifikasi tabel, tampilan, atau koleksi partisi, subpartisi, atau segmen untuk memuat secara paralel. |
number-of-partitions |
(Opsional) type Kapan partitions-auto untuk koleksi tertentu dari titik akhir MongoDB atau Amazon DocumentDB, parameter ini menentukan jumlah total partisi (segmen) yang digunakan untuk migrasi. Defaultnya adalah 16. |
Menentukan jumlah yang tepat dari partisi untuk memuat secara paralel. |
collection-count-from-metadata |
(Opsional) type Kapan partitions-auto untuk koleksi tertentu dari titik akhir MongoDB atau Amazon DocumentDB dan parameter ini diatur true ke AWS DMS , menggunakan perkiraan jumlah koleksi untuk menentukan jumlah partisi. Jika parameter ini disetel kefalse , AWS DMS gunakan jumlah koleksi yang sebenarnya. Nilai default-nya true . |
Menentukan apakah akan menggunakan perkiraan jumlah koleksi atau jumlah koleksi aktual untuk menghitung jumlah partisi untuk memuat secara paralel. |
max-records-skip-per-page |
(Opsional) type Kapan partitions-auto untuk koleksi tertentu dari titik akhir MongoDB atau Amazon DocumentDB, ini adalah jumlah catatan yang harus dilewati sekaligus saat menentukan batas untuk setiap partisi. AWS DMS
menggunakan pendekatan skip paginated untuk menentukan batas minimum untuk partisi. Default adalah 10.000. |
Menentukan jumlah catatan untuk melewati sekaligus ketika menentukan batas-batas untuk setiap partisi. Menyetel nilai yang relatif besar dari default dapat mengakibatkan batas waktu kursor dan kegagalan tugas. Menetapkan nilai yang relatif rendah dari default menghasilkan lebih banyak operasi per halaman dan beban penuh yang lebih lambat. |
batch-size |
(Opsional) type Kapan partitions-auto untuk koleksi tertentu dari titik akhir MongoDB atau Amazon DocumentDB, nilai integer ini membatasi jumlah dokumen yang dikembalikan dalam satu batch pulang-pergi. Jika ukuran batch nol (0), kursor menggunakan ukuran batch maksimum yang ditentukan server. Default-nya adalah 0. |
Menentukan jumlah maksimum dokumen yang dikembalikan dalam satu batch. Setiap batch membutuhkan perjalanan pulang pergi ke server. |
partitions |
Saattype adalahpartitions-list , ini adalah array string yang menentukan nama partisi untuk dimuat secara paralel. |
Nama-nama partisi untuk dimuat secara paralel. |
subpartitions |
(Endpoint Oracle saja) Kapantype adalahpartitions-list , ini adalah array string yang menentukan nama subpartisi untuk dimuat secara paralel. |
Nama-nama subpartisi untuk dimuat secara paralel. |
columns |
type Kapanranges , array string diatur ke nama kolom yang mengidentifikasi tabel berbasis rentang, tampilan, atau segmen koleksi untuk dimuat secara paralel. |
Nama-nama kolom yang mengidentifikasi tabel berbasis rentang, tampilan, atau segmen koleksi untuk dimuat secara paralel. |
boundaries |
Saattype adalahranges , array array kolom-nilai. Setiap array kolom-nilai berisi nilai-nilai kolom dalam kuantitas dan urutan yang ditentukan olehcolumns . Sebuah larik kolom-nilai menentukan batas atas tabel, tampilan, atau segmen koleksi. Setiap larik nilai kolom tambahan menambahkan batas atas untuk satu tabel tambahan, tampilan, atau segmen koleksi. Semua tabel, tampilan, atau segmen koleksi berbasis rentang tersebut dimuat secara paralel. |
Nilai kolom yang mengidentifikasi tabel berbasis rentang, tampilan, atau partisi koleksi untuk dimuat secara paralel. |
lob-settings |
Objek dengan parameter berikut:
|
Nilai yang menentukan LOB penanganan untuk tabel atau tampilan diidentifikasi olehobject-locator Pilihan. Penanganan LOB ditentukan menimpa setiap pengaturan LOB tugas untuk tabel ini atau hanya melihat. Untuk informasi selengkapnya tentang penggunaan parameter pengaturan LOB, lihatMenentukan pengaturan LOB untuk tabel yang dipilih atau tampilan. |
mode |
Menentukan penanganan migrasi untuk LOB dalam tabel tertentu atau tampilan menggunakan nilai berikut:
|
Mekanisme yang digunakan untuk migrasi LOB. |
bulk-max-size |
Efek dari nilai ini tergantung padamode . |
Ukuran maksimum LOB dalam kelipatan kilobyte. Tentukan opsi ini hanya jika Anda perlu mereplikasi LOB kecil atau jika target endpoint tidak mendukung ukuran LOB tak terbatas. |
Wildcard dalam pengaturan tabel dibatasi
Menggunakan persen wildcard ("%"
) dalam "table-settings"
aturan tidak didukung untuk database sumber seperti yang ditunjukkan berikut.
{ "rule-type": "table-settings", "rule-id": "8", "rule-name": "8", "object-locator": { "schema-name": "ipipeline-prod", "table-name": "%" }, "parallel-load": { "type": "partitions-auto", "number-of-partitions": 16, "collection-count-from-metadata": "true", "max-records-skip-per-page": 1000000, "batch-size": 50000 } }
Jika Anda menggunakan "%"
dalam "table-settings"
aturan seperti yang ditunjukkan, kemudian AWS DMS mengembalikan pengecualian berikut.
Error in mapping rules. Rule with ruleId = x failed validation. Exact schema and table name required when using table settings rule.
Selain itu, AWS merekomendasikan agar Anda tidak memuat banyak koleksi besar menggunakan satu tugas denganparallel-load
. Perhatikan bahwa AWS DMS
membatasi pertentangan sumber daya serta jumlah segmen yang dimuat secara paralel dengan nilai parameter pengaturan MaxFullLoadSubTasks
tugas, dengan nilai maksimum 49.
Sebagai gantinya, tentukan semua koleksi untuk database sumber Anda untuk koleksi terbesar dengan menentukan masing-masing "schema-name"
dan satu "table-name"
per satu. Juga, tingkatkan migrasi Anda dengan benar. Misalnya, jalankan beberapa tugas di sejumlah contoh replikasi yang cukup untuk menangani sejumlah besar koleksi besar dalam database Anda.
Menggunakan beban paralel untuk tabel, tampilan, dan koleksi yang dipilih
Untuk mempercepat migrasi dan membuatnya lebih efisien, Anda dapat menggunakan beban paralel untuk tabel relasional, tampilan, dan koleksi yang dipilih. Dengan kata lain, Anda dapat memigrasikan satu tabel, tampilan, atau koleksi tersegmentasi menggunakan beberapa utas secara paralel. Untuk melakukan ini, AWS DMS pisahkan tugas beban penuh menjadi utas, dengan setiap segmen tabel dialokasikan ke utasnya sendiri.
Dengan menggunakan proses pemuatan paralel ini, pertama-tama Anda dapat meminta beberapa utas membongkar beberapa tabel, tampilan, dan koleksi secara paralel dari titik akhir sumber. Anda kemudian dapat memiliki beberapa thread yang bermigrasi dan memuat tabel, tampilan, dan koleksi yang sama secara paralel dengan titik akhir target. Untuk beberapa mesin database, Anda dapat segmen tabel dan pandangan oleh partisi yang ada atau subpartisi. Untuk mesin database lainnya, Anda dapat AWS DMS secara otomatis mengelompokkan koleksi sesuai dengan parameter tertentu (autosegmentasi). Jika tidak, Anda dapat mengelompokkan tabel, tampilan, atau koleksi apa pun berdasarkan rentang nilai kolom yang Anda tentukan.
Beban paralel didukung untuk endpoint sumber berikut:
-
Oracle
-
Microsoft SQL Server
-
MySQL
-
PostgreSQL
-
IBM Db2 LUW
-
SAP Adaptive Server Enterprise (ASE)
-
MongoDB (hanya mendukung opsi autosegmentasi dan segmentasi rentang dari beban penuh paralel)
-
Amazon DocumentDB (hanya mendukung opsi segmentasi otomatis dan segmentasi rentang beban penuh paralel)
Untuk titik akhir MongoDB dan Amazon DocumentDB AWS DMS , mendukung tipe data berikut untuk kolom yang merupakan kunci partisi untuk opsi segmentasi rentang beban penuh paralel.
-
Dua Kali
-
String
-
ObjectId
-
32 bit integer
-
64 bit integer
Beban paralel untuk digunakan dengan pengaturan tabel aturan yang didukung untuk target akhir berikut:
-
Oracle
-
Microsoft SQL Server
-
MySQL
-
PostgreSQL
-
Amazon S3
-
SAP Adaptive Server Enterprise (ASE)
-
Amazon Redshift
-
MongoDB (hanya mendukung opsi autosegmentasi dan segmentasi rentang dari beban penuh paralel)
-
Amazon DocumentDB (hanya mendukung opsi segmentasi otomatis dan segmentasi rentang beban penuh paralel)
-
Db2 LUW
Untuk menentukan jumlah maksimum tabel dan tampilan untuk memuat secara paralel, gunakanMaxFullLoadSubTasks
pengaturan tugas.
Untuk menentukan jumlah maksimum utas per tabel atau tampilan untuk target yang didukung dari tugas beban paralel, tentukan lebih banyak segmen menggunakan batas nilai kolom.
penting
MaxFullLoadSubTasks
mengontrol jumlah tabel atau segmen tabel untuk memuat secara paralel. ParallelLoadThreads
mengontrol jumlah thread yang digunakan oleh tugas migrasi untuk mengeksekusi beban secara paralel. Pengaturan ini bersifat multiplikatif. Dengan demikian, jumlah total utas yang digunakan selama tugas pemuatan penuh kira-kira merupakan hasil dari nilai ParallelLoadThreads
dikalikan dengan nilai MaxFullLoadSubTasks
(ParallelLoadThreads
*. MaxFullLoadSubtasks)
Jika Anda membuat tugas dengan jumlah sub tugas Full Load yang tinggi dan sejumlah besar thread beban paralel, tugas Anda dapat menghabiskan terlalu banyak memori dan gagal.
Untuk menentukan jumlah maksimum thread per tabel untuk Amazon DynamoDB, Amazon Kinesis Data Streams, Apache Kafka, atau Amazon Elasticsearch Service target, gunakan setelan tugas metadata target. ParallelLoadThreads
Untuk menentukan ukuran buffer untuk tugas beban paralel saat ParallelLoadThreads
digunakan, gunakan pengaturan tugas metadata ParallelLoadBufferSize
target.
Ketersediaan dan pengaturan ParallelLoadThreads
dan ParallelLoadBufferSize
tergantung pada titik akhir target.
Untuk informasi selengkapnya tentang pengaturan ParallelLoadThreads
dan ParallelLoadBufferSize
, lihat Menargetkan pengaturan tugas metadata. Untuk informasi selengkapnya tentang pengaturan MaxFullLoadSubTasks
, lihat Pengaturan tugas beban penuh. Untuk informasi yang spesifik untuk menargetkan titik akhir, lihat topik terkait.
Untuk menggunakan beban paralel, membuat aturan pemetaan tabel jenistable-settings
denganparallel-load
Pilihan. Dalam table-settings
aturan, Anda dapat menentukan kriteria segmentasi untuk satu tabel, tampilan, atau koleksi yang ingin Anda muat secara paralel. Untuk melakukannya, tetapkan parameter type
dari opsi parallel-load
untuk salah satu dari beberapa opsi.
Cara melakukannya tergantung pada bagaimana Anda ingin mengelompokkan tabel, tampilan, atau koleksi untuk beban paralel:
-
Dengan partisi (atau segmen) - Muat semua tabel yang ada atau lihat partisi (atau segmen) menggunakan tipe.
partitions-auto
Atau muat hanya partisi yang dipilih menggunakanpartitions-list
tipe dengan array partisi tertentu.Hanya untuk titik akhir MongoDB dan Amazon DocumentDB, muat semua atau koleksi tertentu berdasarkan segmen AWS DMS yang secara otomatis menghitung juga menggunakan jenis dan parameter opsional tambahan.
partitions-auto
table-settings
-
(Oracle endpoint saja) Dengan subpartisi — Muat semua tabel yang ada atau lihat subpartisi menggunakan
subpartitions-auto
Jenis. Atau memuat hanya subpartisi yang dipilih menggunakanpartitions-list
ketik dengan dispesifikasikansubpartitions
Array. -
Berdasarkan segmen yang Anda tentukan — Muat tabel, tampilan, atau segmen koleksi yang Anda tentukan dengan menggunakan batas nilai kolom. Untuk melakukannya, gunakan
ranges
tipe dengan dispesifikasikancolumns
danboundaries
Susunan.catatan
PostgreSQL endpoint hanya mendukung jenis beban paralel ini. MongoDB dan Amazon DocumentDB sebagai titik akhir sumber mendukung jenis segmentasi rentang ini dan tipe autosegmentasi dari beban penuh paralel ().
partitions-auto
Untuk mengidentifikasi tabel, tampilan, atau koleksi tambahan untuk dimuat secara paralel, tentukan table-settings
objek tambahan dengan parallel-load
opsi.
Dalam prosedur berikut, Anda dapat mengetahui cara mengkodekan JSON untuk setiap jenis beban paralel, dari yang paling sederhana hingga yang paling kompleks.
Untuk menentukan semua tabel, tampilan, atau koleksi partisi, atau semua tabel atau tampilan subpartisi
-
Tentukan
parallel-load
dengan baikpartitions-auto
Jenis atausubpartitions-auto
jenis (tetapi tidak keduanya).Setiap tabel, tampilan, atau partisi koleksi (atau segmen) atau subpartisi kemudian secara otomatis dialokasikan ke utasnya sendiri.
Untuk beberapa titik akhir, beban paralel mencakup partisi atau subpartisi hanya jika sudah ditentukan untuk tabel atau tampilan. Untuk titik akhir sumber MongoDB dan Amazon DocumentDB, Anda dapat AWS DMS menghitung partisi (atau segmen) secara otomatis berdasarkan parameter tambahan opsional. Ini termasuk
number-of-partitions
,collection-count-from-metadata
,max-records-skip-per-page
, danbatch-size
.
Untuk menentukan tabel yang dipilih atau tampilan partisi, subpartisi, atau keduanya
-
Tentukan
parallel-load
denganpartitions-list
Jenis. -
(Opsional) Sertakan partisi dengan menentukan sebuah array dari nama partisi sebagai nilai dari
partitions
.Setiap partisi yang ditentukan kemudian dialokasikan ke benangnya sendiri.
penting
Untuk endpoint Oracle, pastikan partisi dan subpartisi tidak tumpang tindih saat memilihnya untuk beban paralel. Jika Anda menggunakan partisi dan subpartisi yang tumpang tindih untuk memuat data secara paralel, itu menduplikasi entri, atau gagal karena pelanggaran duplikat kunci utama.
-
(Opsional), Untuk endpoint Oracle saja, sertakan subpartisi dengan menentukan array nama subpartisi sebagai nilai.
subpartitions
Setiap subpartisi yang ditentukan kemudian dialokasikan ke benangnya sendiri.
catatan
Beban paralel mencakup partisi atau subpartisi hanya jika sudah ditentukan untuk tabel atau tampilan.
Anda dapat menentukan tabel atau tampilan segmen sebagai rentang nilai kolom. Ketika Anda melakukannya, menyadari karakteristik kolom ini:
-
Menentukan kolom diindeks secara signifikan meningkatkan kinerja.
-
Anda dapat menentukan hingga 10 kolom.
-
Anda tidak dapat menggunakan kolom untuk menentukan batas segmen dengan tipe AWS DMS data berikut: DOUBLE, FLOAT, BLOB, CLOB, dan NCLOB
-
Catatan dengan nilai null tidak direplikasi.
Untuk menentukan tabel, tampilan, atau segmen koleksi sebagai rentang nilai kolom
-
Tentukan
parallel-load
denganranges
Jenis. -
Mendefinisikan batas antara tabel atau tampilan segmen dengan menentukan array nama kolom sebagai nilai
columns
. Lakukan ini untuk setiap kolom yang Anda ingin menentukan batas antara tabel atau tampilan segmen.Urutan kolom adalah signifikan. Kolom pertama adalah yang paling signifikan dan kolom terakhir paling tidak signifikan dalam mendefinisikan setiap batas, seperti yang dijelaskan berikut.
-
Mendefinisikan rentang data untuk semua tabel atau tampilan segmen dengan menentukan array batas sebagai nilai
boundaries
. Abatas arrayadalah array dari array kolom-nilai. Untuk melakukannya, ikuti langkah-langkah berikut ini:-
Tentukan setiap elemen dari array kolom-nilai sebagai nilai yang sesuai dengan setiap kolom. Aarray kolom-nilaimewakili batas atas setiap tabel atau tampilan segmen yang ingin Anda definisikan. Tentukan setiap kolom dalam urutan yang sama yang Anda tentukan kolom di
columns
Array.Masukkan nilai untuk kolom DATE dalam format yang didukung oleh sumber.
-
Tentukan setiap larik nilai kolom sebagai batas atas, secara berurutan, dari setiap segmen dari bawah ke next-to-top segmen tabel atau tampilan. Jika ada baris di atas batas atas yang Anda tentukan, baris ini menyelesaikan segmen atas tabel atau tampilan. Dengan demikian, jumlah segmen berbasis rentang berpotensi satu lebih dari jumlah batas segmen dalam array batas. Setiap segmen berbasis rentang tersebut dialokasikan ke benangnya sendiri.
Semua data non-null direplikasi, bahkan jika Anda tidak menentukan rentang data untuk semua kolom dalam tabel atau tampilan.
Misalnya, Anda mendefinisikan tiga array nilai kolom untuk kolom COL1, COL2, dan COL3 sebagai berikut.
COL1 COL2 COL3 10 30 105 20 20 120 100 12 99 Anda telah menetapkan batas tiga segmen untuk kemungkinan total empat segmen.
Untuk mengidentifikasi rentang baris untuk mereplikasi untuk setiap segmen, contoh replikasi berlaku pencarian untuk tiga kolom ini untuk masing-masing empat segmen. Pencarian adalah sebagai berikut:
- Segmen 1
-
Mereplikasi semua baris di mana berikut ini benar: Nilai dua kolom pertama kurang dari atau sama dengan mereka yang sesuaiSegmen 1nilai batas atas. Juga, nilai-nilai kolom ketiga kurang dari yangSegmen 1nilai batas atas.
- Segmen 2
-
Mereplikasi semua baris (kecualiSegmen 1baris) di mana berikut ini benar: Nilai dua kolom pertama kurang dari atau sama dengan mereka yang sesuaiSegmen 2nilai batas atas. Juga, nilai-nilai kolom ketiga kurang dari yangSegmen 2nilai batas atas.
- Segmen 3
-
Mereplikasi semua baris (kecualiSegmen 2baris) di mana berikut ini benar: Nilai dua kolom pertama kurang dari atau sama dengan mereka yang sesuaiSegmen 3nilai batas atas. Juga, nilai-nilai kolom ketiga kurang dari yangSegmen 3nilai batas atas.
- Segmen 4
-
Mereplikasi semua baris yang tersisa (kecualiSegmen 1, 2, dan 3baris).
Dalam kasus ini, contoh replikasi menciptakan
WHERE
klausul untuk memuat setiap segmen sebagai berikut:- Segmen 1
-
((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105)))
- Segmen 2
-
NOT ((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105))) AND ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 20) AND (COL2 = 20) AND (COL3 < 120)))
- Segmen 3
-
NOT ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 20) AND (COL2 = 20) AND (COL3 < 120))) AND ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))
- Segmen 4
-
NOT ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))
-
Menentukan pengaturan LOB untuk tabel yang dipilih atau tampilan
Anda dapat mengatur pengaturan LOB tugas untuk satu atau lebih tabel dengan menciptakan aturan pemetaan tabel jenistable-settings
denganlob-settings
pilihan untuk satu atau lebihtable-settings
objek.
Menentukan pengaturan LOB untuk dipilih tabel atau tampilan didukung untuk endpoint sumber berikut:
-
Oracle
-
Microsoft SQL Server
-
MySQL
-
PostgreSQL
-
IBM Db2, tergantung pada
mode
danbulk-max-size
, dijelaskan sebagai berikut -
SAP Adaptive Server Enterprise (ASE), tergantung pada
mode
danbulk-max-size
pengaturan, seperti yang dijelaskan berikut
Menentukan pengaturan LOB untuk dipilih tabel atau tampilan didukung untuk target akhir berikut:
-
Oracle
-
Microsoft SQL Server
-
MySQL
-
PostgreSQL
-
SAP ASE, tergantung pada
mode
danbulk-max-size
pengaturan, seperti yang dijelaskan berikut
catatan
Anda dapat menggunakan LOB tipe data hanya dengan tabel dan pandangan yang mencakup kunci primer.
Untuk menggunakan pengaturan LOB untuk tabel yang dipilih atau tampilan, Anda membuat aturan pemetaan tabel jenistable-settings
denganlob-settings
Pilihan. Melakukan hal ini menentukan LOB penanganan untuk tabel atau tampilan diidentifikasi olehobject-locator
Pilihan. Dalamtable-settings
aturan, Anda dapat menentukanlob-settings
objek dengan parameter berikut:
-
mode
— Menentukan mekanisme penanganan migrasi LOB untuk tabel yang dipilih atau lihat sebagai berikut:-
limited
— Mode LOB terbatas default adalah mode tercepat dan paling efisien. Gunakan mode ini hanya jika semua LOB Anda kecil (dalam ukuran 100 MB) atau titik akhir target tidak mendukung ukuran LOB tak terbatas. Juga jika Anda menggunakanlimited
, semua LOB harus dalam ukuran yang Anda tetapkan untukbulk-max-size
.Dalam mode ini untuk tugas beban penuh, contoh replikasi bermigrasi semua LOB inline bersama-sama dengan jenis data kolom lainnya sebagai bagian dari tabel utama atau tampilan penyimpanan. Namun, contoh memotong LOB bermigrasi lebih besar dari
bulk-max-size
nilai untuk ukuran yang ditentukan. Untuk perubahan data capture (CDC) beban tugas, contoh bermigrasi semua LOB menggunakan pencarian tabel sumber, seperti dalam modus LOB penuh standar (lihat berikut).catatan
Anda dapat memigrasi tampilan untuk tugas penuh saja.
-
unlimited
— Mekanisme migrasi untuk mode LOB penuh tergantung pada nilai yang Anda tetapkan untukbulk-max-size
sebagai berikut:-
Mode LOB penuh standar— Saat Anda mengatur
bulk-max-size
ke nol, contoh replikasi bermigrasi semua LOB menggunakan standar modus LOB penuh. Mode ini memerlukan pencarian dalam tabel sumber atau tampilan untuk bermigrasi setiap LOB, terlepas dari ukuran. Pendekatan ini biasanya menghasilkan migrasi jauh lebih lambat daripada untuk modus LOB terbatas. Gunakan mode ini hanya jika semua atau sebagian besar LOB Anda besar (1 GB atau lebih besar). -
Kombinasi mode LOB penuh— Saat Anda mengatur
bulk-max-size
ke nilai nol, mode LOB penuh ini menggunakan kombinasi mode LOB terbatas dan standar modus LOB penuh. Itu adalah untuk tugas beban penuh, jika ukuran LOB dalam Andabulk-max-size
nilai, misalnya bermigrasi LOB inline seperti dalam modus LOB terbatas. Jika ukuran LOB lebih besar dari nilai ini, contoh bermigrasi LOB menggunakan tabel sumber atau tampilan pencarian seperti dalam mode LOB penuh standar. Untuk perubahan data capture (CDC) beban tugas, contoh bermigrasi semua LOB menggunakan pencarian tabel sumber, seperti dalam modus LOB penuh standar (lihat berikut). Hal itu tidak terlepas dari ukuran LOB.catatan
Anda dapat memigrasi tampilan untuk tugas penuh saja.
Mode ini menghasilkan kecepatan migrasi yang kompromi antara lebih cepat, modus LOB terbatas dan lambat, modus LOB penuh standar. Gunakan mode ini hanya jika Anda memiliki campuran LOB kecil dan besar, dan sebagian besar LOB kecil.
Kombinasi mode LOB penuh ini tersedia hanya untuk endpoint berikut:
-
IBM Db2 sebagai sumber
-
SAP ASE sebagai sumber atau target
-
Terlepas dari mekanisme yang Anda tentukan untuk mode
unlimited
, contoh ini memigrasikan semua LOB sepenuhnya, tanpa pemotongan. -
-
none
— Contoh replikasi memigrasikan LOB dalam tabel yang dipilih atau tampilan menggunakan pengaturan LOB tugas Anda. Gunakan opsi ini untuk membantu membandingkan hasil migrasi dengan dan tanpa pengaturan LOB untuk tabel atau tampilan yang dipilih.
Jika tabel atau tampilan tertentu memiliki LOB yang ada di dalam replikasi, Anda dapat mengatur pengaturan tugas
BatchApplyEnabled
ketrue
hanya ketika menggunakan Mode LOBlimited
.Dalam beberapa kasus, Anda mungkin mengatur
BatchApplyEnabled
ketrue
danBatchApplyPreserveTransaction
kefalse
. Dalam kasus ini, contoh mengaturBatchApplyPreserveTransaction
ketrue
jika tabel atau tampilan memiliki LOB dan sumber dan target titik akhir adalah Oracle. -
-
bulk-max-size
— Set nilai ini ke nilai nol atau bukan nol dalam kilobyte, tergantung padamode
seperti yang dijelaskan untuk item sebelumnya. Masuklimited
mode, Anda harus menetapkan nilai bukan nol untuk parameter ini.Contoh mengkonversi LOB ke format biner. Oleh karena itu, untuk menentukan LOB terbesar Anda perlu mereplikasi, kalikan ukurannya dengan tiga. Misalnya, jika LOB terbesar Anda adalah 2 MB, mengatur
bulk-max-size
hingga 6.000 (6 MB).
Contoh pengaturan tabel
Berikut ini, Anda dapat menemukan beberapa contoh yang menunjukkan penggunaan pengaturan tabel.
contoh Memuat tabel tersegmentasi oleh partisi
Contoh berikut memuatSALES
tabel di sumber Anda lebih efisien dengan memuatnya secara paralel berdasarkan semua partisi.
{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "%", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "table-settings", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "HR", "table-name": "SALES" }, "parallel-load": { "type": "partitions-auto" } } ] }
contoh Memuat tabel tersegmentasi oleh subpartisi
Contoh berikut memuatSALES
tabel di sumber Oracle Anda lebih efisien dengan memuat secara paralel berdasarkan semua subpartisi nya.
{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "%", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "table-settings", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "HR", "table-name": "SALES" }, "parallel-load": { "type": "subpartitions-auto" } } ] }
contoh Memuat tabel tersegmentasi oleh daftar partisi
Contoh berikut memuatSALES
tabel di sumber Anda dengan memuatnya secara paralel dengan daftar partisi tertentu. Di sini, partisi yang ditentukan diberi nama setelah nilai dimulai dengan bagian dari alfabet, misalnyaABCD
,EFGH
, dan sebagainya.
{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "%", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "table-settings", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "HR", "table-name": "SALES" }, "parallel-load": { "type": "partitions-list", "partitions": [ "ABCD", "EFGH", "IJKL", "MNOP", "QRST", "UVWXYZ" ] } } ] }
contoh Memuat tabel Oracle tersegmentasi oleh daftar yang dipilih dari partisi dan subpartisi
Contoh berikut memuatSALES
tabel di sumber Oracle Anda dengan memuatnya secara paralel dengan daftar partisi dan subpartisi yang dipilih. Di sini, partisi yang ditentukan diberi nama setelah nilai dimulai dengan bagian dari alfabet, misalnyaABCD
,EFGH
, dan sebagainya. Subpartisi yang ditentukan diberi nama sesuai nilai yang dimulai dengan angka, misalnya01234
dan56789
.
{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "%", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "table-settings", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "HR", "table-name": "SALES" }, "parallel-load": { "type": "partitions-list", "partitions": [ "ABCD", "EFGH", "IJKL", "MNOP", "QRST", "UVWXYZ" ], "subpartitions": [ "01234", "56789" ] } } ] }
contoh Memuat tabel tersegmentasi dengan rentang nilai kolom
Contoh berikut memuatSALES
tabel di sumber Anda dengan memuatnya secara paralel oleh segmen yang ditentukan oleh rentangSALES_NO
danREGION
nilai kolom.
{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "%", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "table-settings", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "HR", "table-name": "SALES" }, "parallel-load": { "type": "ranges", "columns": [ "SALES_NO", "REGION" ], "boundaries": [ [ "1000", "NORTH" ], [ "3000", "WEST" ] ] } } ] }
Di sini, dua kolom yang ditentukan untuk rentang segmen dengan nama,SALES_NO
danREGION
. Dua batas ditentukan dengan dua set nilai kolom (["1000","NORTH"]
dan["3000","WEST"]
).
Kedua batas tersebut mengidentifikasi tiga segmen tabel berikut untuk memuat secara paralel:
- Segmen 1
-
Baris dengan
SALES_NO
kurang dari atau sama dengan 1.000 danREGION
kurang dari “UTARA”. Dengan kata lain, angka penjualan hingga 1.000 di wilayah TIMUR. - Segmen 2
-
Baris selain dari Segmen 1 dengan
SALES_NO
kurang dari atau sama dengan 3.000 danREGION
kurang dari “BARAT”. Dengan kata lain, jumlah penjualan lebih dari 1.000 hingga 3.000 di wilayah UTARA dan SELATAN. - Segmen 3
-
Semua baris yang tersisa selainSegmen 1danSegmen 2. Dengan kata lain, jumlah penjualan lebih dari 3.000 di wilayah “WEST”.
contoh Memuat dua tabel: Satu tersegmentasi berdasarkan rentang dan lain tersegmentasi oleh partisi
Contoh berikut memuatSALES
tabel secara paralel dengan batas-batas segmen yang Anda mengidentifikasi. Hal ini juga memuatORDERS
tabel secara paralel oleh semua partisi, seperti contoh sebelumnya.
{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "%", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "table-settings", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "HR", "table-name": "SALES" }, "parallel-load": { "type": "ranges", "columns": [ "SALES_NO", "REGION" ], "boundaries": [ [ "1000", "NORTH" ], [ "3000", "WEST" ] ] } }, { "rule-type": "table-settings", "rule-id": "3", "rule-name": "3", "object-locator": { "schema-name": "HR", "table-name": "ORDERS" }, "parallel-load": { "type": "partitions-auto" } } ] }
contoh Memuat meja dengan LOB menggunakan modus LOB terbatas
Contoh berikut memuatITEMS
tabel termasuk LOB di sumber Anda menggunakan modus LOB terbatas (default) dengan maksimum nontruncated ukuran 100 MB. Setiap LOB yang lebih besar dari ukuran ini dipotong menjadi 100 MB. Semua LOB dimuat inline dengan semua jenis data kolom lainnya.
{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "%", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "table-settings", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "INV", "table-name": "ITEMS" }, "lob-settings": { "bulk-max-size": "100000" } } ] }
contoh Memuat meja dengan LOB menggunakan modus LOB penuh standar
Contoh berikut memuat tabel ITEMS
di sumber Anda, termasuk semua LOB tanpa pemotongan, menggunakan modus LOB penuh standar. Semua LOB, terlepas dari ukuran, dimuat secara terpisah dari jenis data lain menggunakan lookup untuk setiap LOB dalam tabel sumber.
{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "%", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "table-settings", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "INV", "table-name": "ITEMS" }, "lob-settings": { "mode": "unlimited", "bulk-max-size": "0" } } ] }
contoh Memuat meja dengan LOB menggunakan kombinasi modus LOB penuh
Contoh berikut memuatITEMS
tabel di sumber Anda, termasuk semua LOB tanpa pemotongan, menggunakan kombinasi modus LOB penuh. Semua LOB dalam 100 MB dalam ukuran dimuat inline bersama dengan jenis data lainnya, seperti dalam modus LOB terbatas. Semua LOB lebih dari 100 MB dalam ukuran dimuat secara terpisah dari jenis data lainnya. Beban terpisah ini menggunakan pencarian untuk masing-masing LOB tersebut dalam tabel sumber, seperti dalam modus LOB penuh standar.
{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "%", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "table-settings", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "INV", "table-name": "ITEMS" }, "lob-settings": { "mode": "unlimited", "bulk-max-size": "100000" } } ] }
contoh Memuat meja dengan LOB menggunakan pengaturan LOB tugas
Contoh berikut memuatITEMS
tabel di sumber Anda, termasuk semua LOB, menggunakan pengaturan LOB tugasnya. Parameterbulk-max-size
pengaturan 100 MB diabaikan dan dibiarkan hanya untuk reset cepatlimited
atauunlimited
Mode.
{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "%", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "table-settings", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "INV", "table-name": "ITEMS" }, "lob-settings": { "mode": "none", "bulk-max-size": "100000" } } ] }