Desain dan kinerja migrasi Teradata

Artikel ini adalah bagian pertama dari seri tujuh bagian yang memberikan panduan tentang cara bermigrasi dari Teradata ke Azure Synapse Analytics. Fokus artikel ini adalah praktik terbaik untuk desain dan performa.

Gambaran Umum

Banyak pengguna sistem gudang data Teradata yang ada yang ingin memanfaatkan inovasi yang disediakan oleh lingkungan cloud modern. Lingkungan cloud Infrastruktur sebagai layanan (IaaS) dan platform as a service (PaaS) memungkinkan Anda mendelegasikan tugas seperti pemeliharaan infrastruktur dan pengembangan platform ke penyedia cloud.

Tip

Lebih dari sekadar database—lingkungan Azure mencakup serangkaian kemampuan dan alat yang komprehensif.

Meskipun Teradata dan Azure Synapse Analytics merupakan database SQL yang menggunakan teknik pemrosesan paralel masif (MPP) untuk mencapai performa kueri yang tinggi pada volume data yang sangat besar, ada beberapa perbedaan mendasar dalam pendekatan:

  • Sistem Teradata lama sering dipasang secara lokal dan menggunakan perangkat keras berpemilik, sementara Azure Synapse berbasis cloud dan menggunakan penyimpanan Azure dan sumber daya komputasi.

  • Karena sumber daya penyimpanan dan komputasi terpisah di lingkungan Azure serta memiliki kemampuan penskalaan elastis, sumber daya tersebut dapat ditingkatkan atau diturunkan secara independen.

  • Anda dapat menjeda atau mengubah ukuran Azure Synapse sesuai kebutuhan untuk mengurangi pemanfaatan sumber daya dan biaya.

  • Meningkatkan konfigurasi Teradata adalah tugas utama yang melibatkan perangkat keras fisik ekstra serta konfigurasi ulang atau pemuatan ulang database yang berpotensi memakan waktu lama.

Microsoft Azure adalah lingkungan cloud yang tersedia secara global, sangat aman, serta dapat diskalakan, yang mencakup Azure Synapse dan ekosistem alat dan kemampuan pendukung. Diagram berikutnya meringkas ekosistem Azure Synapse.

Chart showing the Azure Synapse ecosystem of supporting tools and capabilities.

Azure Synapse memberikan performa database hubungan terbaik menggunakan teknik seperti MPP dan beberapa tingkat penembolokan otomatis untuk data yang sering digunakan. Anda dapat melihat hasil teknik ini dalam tolok ukur independen seperti yang dijalankan baru-baru ini oleh GigaOm, yang membandingkan Azure Synapse dengan penawaran gudang data cloud populer lainnya. Pelanggan yang bermigrasi ke lingkungan Azure Synapse melihat banyak keuntungan, meliputi:

  • Peningkatan performa dan harga/performa.

  • Peningkatan kelincahan dan waktu yang lebih singkat untuk menghargai.

  • Penyebaran server yang lebih cepat dan pengembangan aplikasi.

  • Skalabilitas elastis—hanya membayar penggunaan sebenarnya.

  • Peningkatan keamanan/kepatuhan.

  • Mengurangi biaya penyimpanan dan pemulihan bencana.

  • TCO keseluruhan yang lebih rendah, kontrol biaya yang lebih baik, dan pengeluaran operasional yang efisien (OPEX).

Untuk memaksimalkan manfaat ini, migrasi data dan aplikasi baru atau yang sudah ada ke platform Azure Synapse. Di banyak organisasi, migrasi mencakup pemindahan gudang data yang ada dari platform lokal lama, seperti Teradata, ke Azure Synapse. Pada tingkat tinggi, proses migrasi mencakup langkah-langkah ini:

    Persiapan 🡆

  • Tentukan cakupan—apa yang akan dimigrasikan.

  • Bangun inventaris data dan proses untuk migrasi.

  • Tentukan perubahan model data (jika ada).

  • Tentukan mekanisme ekstrak data sumber.

  • Identifikasi alat dan fitur Azure serta pihak ketiga yang sesuai untuk digunakan.

  • Latih staf lebih awal di platform baru.

  • Siapkan platform target Azure.

    Migrasi 🡆

  • Mulai dari yang kecil dan sederhana.

  • Otomatiskan jika memungkinkan.

  • Manfaatkan alat dan fitur bawaan Azure untuk mengurangi upaya migrasi.

  • Migrasikan metadata untuk tabel dan tampilan.

  • Migrasikan data historis yang akan dipertahankan.

  • Migrasi atau refactor prosedur tersimpan dan proses bisnis.

  • Migrasi atau refactor proses beban inkremental ETL/ELT.

    Pascamigrasi

  • Pantau dan dokumentasikan semua tahapan proses.

  • Gunakan pengalaman yang diperoleh untuk membuat templat untuk migrasi mendatang.

  • Rekayasa ulang model data jika diperlukan (menggunakan performa dan skalabilitas platform baru).

  • Uji aplikasi dan alat kueri.

  • Tolok ukur dan optimalkan performa kueri.

Artikel ini menyediakan informasi umum dan panduan optimasi performa saat memigrasikan gudang data dari lingkungan Netezza yang ada ke Azure Synapse. Tujuan optimasi performa adalah untuk mencapai performa gudang data yang sama atau lebih baik dalam Azure Synapse setelah migrasi skema.

Pertimbangan Desain

Cakupan migrasi

Saat Anda bersiap untuk bermigrasi dari lingkungan Teradata, pertimbangkan pilihan migrasi berikut.

Pilih beban kerja untuk migrasi awal

Biasanya, lingkungan Teradata lama berevolusi dari waktu ke waktu untuk mencakup beberapa bidang studi dan beban kerja campuran. Saat Anda memutuskan dari mana memulai proyek migrasi, pilih area yang akan dapat:

  • Membuktikan kelayakan migrasi ke Azure Synapse dengan memberikan manfaat lingkungan baru dengan cepat.

  • Memungkinkan staf teknis internal Anda untuk mendapatkan pengalaman yang sesuai dengan proses dan alat yang akan mereka gunakan saat mereka memigrasikan area lain.

  • Membuat templat untuk migrasi lebih lanjut khusus untuk lingkungan Teradata sumber serta alat dan proses saat ini yang sudah ada.

Kandidat yang baik untuk migrasi awal dari lingkungan Teradata mendukung item sebelumnya, dan:

  • Menerapkan beban kerja BI/Analitik daripada beban kerja pemrosesan transaksi online (OLTP).

  • Memiliki model data, seperti bintang atau skema snowflake, yang dapat dimigrasikan dengan modifikasi minimal.

Tip

Buat inventaris objek yang perlu dimigrasikan, dan dokumentasikan proses migrasi.

Volume data yang dimigrasikan dalam migrasi awal harus cukup besar untuk menunjukkan kemampuan dan keuntungan lingkungan Azure Synapse tetapi tidak terlalu besar untuk menunjukkan nilai dengan cepat. Ukuran dalam rentang 1-10 terabyte merupakan ukuran umum.

Untuk proyek migrasi awal, minimalkan risiko, upaya, dan waktu migrasi agar Anda dapat dengan cepat melihat keuntungan lingkungan cloud Azure, membatasi cakupan migrasi hanya ke mart data, seperti bagian OLAP DB dari gudang Teradata. Pendekatan migrasi lift-and-shift dan bertahap membatasi cakupan migrasi awal hanya untuk mart data dan tidak mengatasi aspek migrasi yang lebih luas, seperti migrasi ETL dan migrasi data historis. Namun, Anda dapat mengatasi aspek-aspek tersebut di fase proyek selanjutnya setelah lapisan data mart yang dimigrasikan diisi ulang dengan data dan proses build yang diperlukan.

Migrasi lift and shift vs. Pendekatan bertahap

Secara umum, ada dua jenis migrasi, apa pun tujuan dan cakupan migrasi yang direncanakan: lift and shift apa adanya dan pendekatan bertahap yang menggabungkan perubahan.

Angkat dan geser

Dalam migrasi lift and shift, model data yang ada, seperti skema bintang, dimigrasikan tanpa perubahan ke platform Azure Synapse baru. Pendekatan ini meminimalkan risiko dan waktu migrasi dengan mengurangi pekerjaan yang diperlukan untuk mewujudkan menfaat berpindah ke lingkungan cloud Azure. Migrasi lift and shift cocok untuk skenario ini:

  • Anda memiliki lingkungan Teradata yang ada dengan mart data tunggal untuk dimigrasikan, atau
  • Anda memiliki lingkungan Teradata yang ada dengan data yang sudah berada dalam skema bintang atau snowflake yang dirancang dengan baik, atau
  • Anda berada di bawah tekanan waktu dan biaya untuk berpindah ke lingkungan cloud modern.

Tip

Lift and shift adalah titik awal yang baik, meskipun tahap berikutnya menerapkan perubahan pada model data.

Pendekatan bertahap yang menggabungkan perubahan

Jika gudang data lama telah berevolusi dalam jangka waktu yang lama, Anda mungkin perlu merekayasa ulang untuk mempertahankan tingkat performa yang diperlukan. Anda mungkin juga harus merekayasa ulang untuk mendukung data baru seperti aliran Internet of Things (IoT). Sebagai bagian dari proses rekayasa ulang, migrasikan ke Azure Synapse untuk mendapatkan manfaat dari lingkungan cloud yang dapat diskalakan. Migrasi juga dapat mencakup perubahan dalam model data yang mendasarinya, seperti perpindahan dari model Inmon ke brankas data.

Microsoft merekomendasikan untuk memindahkan apa adanya model data yang ada ke Azure (secara opsional menggunakan instans VM Teradata di Azure) serta menggunakan performa dan fleksibilitas lingkungan Azure untuk menerapkan perubahan rekayasa ulang. Dengan demikian, Anda dapat menggunakan kemampuan Azure untuk membuat perubahan tanpa memengaruhi sistem sumber yang ada.

Menggunakan instans Teradata mesin virtual Azure sebagai bagian dari migrasi

Saat bermigrasi dari lingkungan Teradata lokal, Anda dapat memanfaatkan penyimpanan cloud dan skalabilitas elastis di Azure untuk membuat instans Teradata dalam mesin virtual. Pendekatan ini menyusun instans Teradata dengan lingkungan Azure Synapse target. Anda dapat menggunakan utilitas Teradata standar, seperti Teradata Parallel Data Transporter, untuk memindahkan subset tabel Teradata secara efisien yang dimigrasi ke instans mesin virtual. Kemudian, semua tugas migrasi lebih lanjut dapat terjadi dalam lingkungan Azure. Pendekatan ini memiliki beberapa manfaat:

  • Setelah replikasi awal data, sistem sumber tidak terpengaruh oleh tugas migrasi.

  • Antarmuka, alat, dan utilitas Teradata yang dikenal tersedia dalam lingkungan Azure.

  • Lingkungan Azure menghindari potensi masalah dengan ketersediaan bandwidth jaringan antara sistem sumber lokal dan sistem target cloud.

  • Alat seperti Azure Data Factory dapat memanggil utilitas seperti Teradata Parallel Transporter untuk memigrasikan data secara efisien dan cepat.

  • Anda dapat mengatur dan mengontrol proses migrasi sepenuhnya dalam lingkungan Azure.

Tip

Gunakan Azure VM untuk membuat instans Teradata sementara untuk mempercepat migrasi dan mengurangi dampak pada sistem sumber.

Menggunakan Azure Data Factory untuk menerapkan migrasi berbasis metadata

Anda dapat mengotomatiskan dan mengatur proses migrasi menggunakan kemampuan lingkungan Azure. Pendekatan ini meminimalkan hit performa pada lingkungan Netezza yang ada, yang mungkin sudah berjalan mendekati kapasitas.

Azure Data Factory adalah layanan integrasi data berbasis cloud yang mendukung pembuatan alur kerja berbasis data di cloud yang mengatur serta mengotomatiskan pergerakan data dan transformasi data. Anda dapat menggunakan Data Factory untuk membuat dan menjadwalkan alur kerja berbasis data (alur) yang menyerap data dari penyimpanan data yang berbeda. Data Factory dapat memproses dan mengubah data dengan menggunakan layanan komputasi seperti Azure HDInsight Hadoop, Spark, Azure Data Lake Analytics, dan Azure Machine Learning.

Saat Anda berencana menggunakan fasilitas Data Factory untuk mengelola proses migrasi, buat metadata yang mencantumkan semua tabel data yang akan dimigrasikan serta lokasinya.

Perbedaan desain antara Teradata dan Azure Synapse

Seperti disebutkan sebelumnya, ada beberapa perbedaan dasar dalam pendekatan antara database Teradata dan Azure Synapse Analytics dan perbedaan ini dibahas berikutnya.

Beberapa database vs. database dan skema tunggal

Lingkungan Teradata sering berisi beberapa database terpisah. Misalnya, mungkin ada database terpisah untuk: tabel penyerapan dan staging data, tabel gudang inti, dan mart data (terkadang disebut sebagai lapisan semantik). Proses alur ETL atau ELT mungkin menerapkan gabungan lintas database dan memindahkan data di antara database terpisah.

Sebaliknya, lingkungan Azure Synapse berisi database tunggal dan menggunakan skema untuk memisahkan tabel ke dalam grup yang terpisah secara logis. Kami menyarankan agar Anda menggunakan seri skema dalam database Azure Synapse Analytics target untuk meniru database terpisah yang dimigrasikan dari lingkungan Teradata. Jika lingkungan Teradata sudah menggunakan skema, Anda mungkin perlu menggunakan konvensi penamaan baru saat memindahkan tabel dan tampilan Teradata yang ada ke lingkungan baru. Misalnya, Anda dapat menggabungkan skema Teradata dan nama tabel yang ada ke dalam nama tabel Azure Synapse yang baru, dan menggunakan nama skema di lingkungan baru untuk mempertahankan nama database terpisah yang asli. Jika penamaan konsolidasi skema memiliki titik, Azure Synapse Spark mungkin mengalami masalah. Meskipun Anda dapat menggunakan tampilan SQL di atas tabel yang mendasarinya untuk mempertahankan struktur logis, ada potensi kerugian untuk pendekatan itu:

  • Tampilan di Azure Synapse bersifat baca-saja, jadi setiap pembaruan data harus dilakukan di tabel dasar yang mendasarinya.

  • Mungkin sudah ada satu atau beberapa lapisan tampilan yang ada serta menambahkan lapisan tampilan tambahan dapat memengaruhi performa dan dukungan karena tampilan berlapis sulit untuk dipecahkan masalahnya.

Tip

Gabungkan beberapa database menjadi satu database dalam Azure Synapse dan gunakan nama skema untuk memisahkan tabel secara logis.

Pertimbangan tabel

Saat Anda memigrasikan tabel antara lingkungan yang berbeda, biasanya hanya data mentah dan metadata yang menjelaskannya yang dimigrasikan secara fisik. Elemen database lain dari sistem sumber, seperti indeks, biasanya tidak dimigrasikan karena mungkin tidak perlu atau diimplementasikan secara berbeda di lingkungan baru. Optimasi performa di lingkungan sumber, seperti indeks, menunjukkan tempat Anda dapat menambahkan optimasi performa di lingkungan baru. Misalnya, jika tabel dalam lingkungan Teradata sumber memiliki indeks sekunder non-unik (NUSI), yang menunjukkan bahwa indeks non-kluster harus dibuat dalam Azure Synapse. Teknik pengoptimalan performa native lainnya seperti replikasi tabel mungkin lebih dapat diterapkan daripada pembuatan indeks like-for-like langsung.

Tip

Indeks yang ada menunjukkan kandidat untuk pengindeksan di gudang yang dimigrasikan.

Ketersediaan tinggi untuk database

Teradata mendukung replikasi data di seluruh node melalui opsi FALLBACK, yang mereplikasi baris tabel yang berada secara fisik pada node tertentu ke node lain dalam sistem. Pendekatan ini menjamin bahwa data tidak akan hilang jika ada kegagalan simpul dan memberikan dasar untuk skenario failover.

Tujuan dari arsitektur high availability di Azure Synapse Analytics adalah untuk menjamin bahwa database Anda aktif dan berjalan 99,9% setiap saat, tanpa mengkhawatirkan dampak operasi pemeliharaan dan gangguan. Informasi selengkapnya tentang SLA, lihat SLA untuk Azure Synapse Analytics. Azure menangani tugas layanan penting secara otomatis seperti patching, pencadangan, serta peningkatan Windows dan SQL. Azure juga secara otomatis menangani peristiwa yang tidak direncanakan seperti kegagalan di perangkat keras, perangkat lunak, atau jaringan yang mendasar.

Penyimpanan data di Azure Synapse secara otomatis dicadangkan dengan snapshot. Snapshot ini adalah fitur bawaan dari layanan yang membuat titik pemulihan. Anda tidak perlu mengaktifkan kemampuan ini. Pengguna saat ini tidak dapat menghapus titik pemulihan otomatis yang digunakan layanan untuk mempertahankan perjanjian tingkat layanan (SLA) untuk pemulihan.

Kumpulan SQL Khusus Azure Synapse mengambil snapshot dari gudang data sepanjang hari untuk membuat titik pemulihan yang tersedia selama tujuh hari. Periode retensi ini tidak dapat diubah. Azure Synapse mendukung tujuan titik pemulihan (RPO) delapan jam. Anda dapat memulihkan gudang data Anda di wilayah utama dari salah satu rekam jepret yang diambil dalam tujuh hari terakhir. Jika memerlukan pencadangan yang lebih terperinci, Anda dapat menggunakan opsi yang ditentukan pengguna lain.

Jenis tabel Teradata tidak didukung

Teradata mendukung jenis tabel khusus untuk rangkaian waktu dan data sementara. Sintaks dan beberapa fungsi untuk jenis tabel ini tidak didukung secara langsung di Azure Synapse. Namun, Anda dapat memigrasikan data ke dalam tabel standar di Azure Synapse dengan memetakan ke jenis data dan pengindeksan yang sesuai atau pemartisian kolom tanggal/waktu.

Tip

Tabel standar di Azure Synapse dapat mendukung rangkaian waktu dan data sementara Teradata yang dimigrasi.

Teradata menerapkan fungsionalitas kueri sementara menggunakan penulisan ulang kueri untuk menambahkan filter tambahan dalam kueri temporal untuk membatasi rentang tanggal yang berlaku. Jika Anda berencana untuk memigrasikan fungsionalitas ini dari lingkungan Teradata sumber, tambahkan pemfilteran tambahan ke dalam kueri sementara yang sesuai.

Lingkungan Azure mendukung wawasan rangkaian waktu untuk analitik kompleks pada data rangkaian waktu dalam skala besar. Fungsionalitas ini ditujukan untuk aplikasi analisis data IoT.

Perbedaan sintaks SQL DML

Perbedaan sintaks Bahasa Manipulasi Data (DML) SQL ada antara Teradata SQL dan Azure Synapse T-SQL:

  • QUALIFY: Teradata mendukung operator QUALIFY. Misalnya:

    SELECT col1
    FROM tab1
    WHERE col1='XYZ'
    QUALIFY ROW_NUMBER () OVER (PARTITION by
    col1 ORDER BY col1) = 1;
    

    Sintaks Azure Synapse yang setara adalah:

    SELECT * FROM (
    SELECT col1, ROW_NUMBER () OVER (PARTITION by col1 ORDER BY col1) rn
    FROM tab1 WHERE col1='XYZ'
    ) WHERE rn = 1;
    
  • Aritmetika tanggal: Azure Synapse memiliki operator seperti DATEADD dan DATEDIFF, yang dapat digunakan pada bidangDATE atau DATETIME. Teradata mendukung pengurangan langsung pada tanggal seperti SELECT DATE1 - DATE2 FROM...

  • GROUP BY: untuk ordinal GROUP BY, berikan nama kolom T-SQL secara eksplisit.

  • LIKE ANY: Teradata mendukung sintaks LIKE ANY seperti:

    SELECT * FROM CUSTOMER
    WHERE POSTCODE LIKE ANY
    ('CV1%', 'CV2%', 'CV3%');
    

    Setara dalam sintaks Azure Synapse adalah:

    SELECT * FROM CUSTOMER
    WHERE
    (POSTCODE LIKE 'CV1%') OR (POSTCODE LIKE 'CV2%') OR (POSTCODE LIKE 'CV3%');
    
  • Tergantung pada pengaturan sistem, perbandingan karakter di Teradata mungkin tidak peka huruf besar/kecil secara default. Dalam Azure Synapse, perbandingan karakter selalu peka huruf besar/kecil.

Fungsi, prosedur tersimpan, pemicu, dan urutan

Saat memigrasi gudang data dari lingkungan yang matang seperti Teradata, Anda mungkin perlu memigrasikan elemen selain tabel dan tampilan sederhana. Contohnya termasuk fungsi, prosedur tersimpan, pemicu, dan urutan. Periksa apakah alat dalam lingkungan Azure dapat menggantikan fungsionalitas fungsi, prosedur tersimpan, dan urutan karena biasanya lebih efisien untuk menggunakan alat Azure bawaan daripada mengodekan ulang elemen tersebut untuk Azure Synapse.

Sebagai bagian dari tahap persiapan Anda, buat inventaris objek yang perlu dimigrasikan, tentukan metode untuk menanganinya, dan alokasikan sumber daya yang sesuai dalam rencana migrasi.

Mitra integrasi data menawarkan alat dan layanan yang dapat mengotomatiskan migrasi fungsi, prosedur tersimpan, dan urutan.

Bagian berikut membahas lebih lanjut migrasi fungsi, prosedur tersimpan, dan urutan.

Fungsi

Seperti kebanyakan produk database, Teradata mendukung sistem dan fungsi yang ditentukan pengguna dalam implementasi SQL. Saat Anda memigrasikan platform database lama ke Azure Synapse, fungsi sistem umum biasanya dapat dimigrasikan tanpa perubahan. Beberapa fungsi sistem mungkin memiliki sintaks yang sedikit berbeda, tetapi setiap perubahan yang diperlukan dapat diotomatiskan.

Untuk fungsi sistem Teradata atau fungsi yang ditentukan pengguna arbitrer yang tidak memiliki fungsi yang setara dalam Azure Synapse, kodekan ulang fungsi tersebut menggunakan bahasa lingkungan target. Azure Synapse menggunakan bahasa T-SQL untuk menerapkan fungsi yang ditentukan pengguna.

Prosedur tersimpan

Sebagian besar produk database modern memungkinkan prosedur penyimpanan di dalam database. Teradata menyediakan bahasa SPL untuk tujuan ini. Prosedur tersimpan biasanya berisi pernyataan SQL dan logika prosedural, serta mengembalikan data atau status.

Azure Synapse mendukung prosedur tersimpan menggunakan T-SQL, jadi Anda perlu mengodekan ulang prosedur tersimpan yang dimigrasikan dalam bahasa tersebut.

Memicu

Azure Synapse tidak mendukung pembuatan pemicu, tetapi pembuatan pemicu dapat diterapkan menggunakan Azure Data Factory.

Urutan

Azure Synapse menangani urutan dengan cara yang mirip dengan Teradata, dan Anda dapat menerapkan urutan menggunakan kolom IDENTITY atau kode SQL yang menghasilkan nomor urutan berikutnya dalam seri. Urutan menyediakan nilai numerik unik yang dapat Anda gunakan sebagai nilai kunci pengganti untuk kunci primer.

Ekstrak metadata dan data dari lingkungan Teradata

Generasi Bahasa Definisi Data (DDL)

Standar ANSI SQL menentukan sintaks dasar untuk perintah Bahasa Definisi Data (DDL). Beberapa perintah DDL, seperti CREATE TABLE dan CREATE VIEW, umum untuk Teradata dan Azure Synapse tetapi juga menyediakan fitur khusus implementasi seperti pengindeksan, distribusi tabel, dan opsi pembuatan partisi.

Anda dapat mengedit skrip CREATE TABLE dan CREATE VIEW Teradata yang ada untuk mencapai definisi yang setara di Azure Synapse. Untuk melakukannya, Anda mungkin perlu menggunakan jenis data yang dimodifikasi dan menghapus atau memodifikasi klausul khusus Teradata seperti FALLBACK.

Namun, semua informasi yang menentukan definisi tabel dan tampilan saat ini dalam lingkungan Teradata yang ada dipertahankan dalam tabel katalog sistem. Tabel-tabel ini adalah sumber terbaik dari informasi ini, karena dijamin mutakhir dan lengkap. Dokumentasi yang dikelola pengguna mungkin tidak sinkron dengan definisi tabel saat ini.

Dalam lingkungan Teradata, tabel katalog sistem menentukan tabel saat ini dan definisi tampilan. Tidak seperti dokumentasi yang dikelola pengguna, informasi katalog sistem selalu lengkap dan sinkron dengan definisi tabel saat ini. Dengan menggunakan tampilan ke dalam katalog seperti DBC.ColumnsV, Anda dapat mengakses informasi katalog sistem untuk menghasilkan pernyataan DDL CREATE TABLE yang membuat tabel yang setara di Azure Synapse.

Tip

Gunakan metadata Teradata yang ada untuk mengotomatiskan pembuatan DDL CREATE TABLE dan CREATE VIEW untuk Azure Synapse.

Anda juga dapat menggunakan migrasi pihak ketiga dan alat ETL yang memproses informasi katalog sistem untuk mencapai hasil yang sama.

Ekstraksi data dari Teradata

Anda dapat mengekstrak data tabel mentah dari tabel Teradata ke file dibatasi yang datar, seperti file CSV, menggunakan utilitas Teradata standar seperti Basic Teradata Query (BTEQ), Teradata FastExport, atau Teradata Parallel Transporter (TPT). Gunakan TPT untuk mengekstrak data tabel seefisien mungkin. TPT menggunakan beberapa aliran FastExport paralel untuk mencapai throughput tertinggi.

Tip

Gunakan Teradata Parallel Transporter untuk mengekstrak data yang paling efisien.

Panggil TPT secara langsung dari Azure Data Factory. Ini adalah pendekatan yang disarankan untuk migrasi data instans lokal Teradata dan instans Teradata yang berjalan dalam mesin virtual di lingkungan Azure.

File data yang diekstrak harus berisi teks yang dibatasi dalam format CSV, Optimized Row Columnar (ORC), atau Parquet.

Untuk informasi selengkapnya tentang migrasi data dan ETL dari lingkungan Teradata, lihat Migrasi data, ETL, dan pemuatan untuk migrasi Teradata.

Rekomendasi kinerja untuk migrasi Teradata

Tujuan optimasi performa adalah performa gudang data yang sama atau yang lebih baik setelah migrasi ke Azure Synapse.

Tip

Prioritaskan pengenalan dengan opsi penyetelan di Azure Synapse pada awal migrasi.

Perbedaan dalam pendekatan pengaturan kinerja

Bagian ini menyoroti perbedaan implementasi penyetelan performa tingkat rendah antara Teradata dan Azure Synapse.

Opsi distribusi data

Untuk performa, Azure Synapse dirancang dengan arsitektur multi-node dan menggunakan pemrosesan paralel. Untuk mengoptimalkan performa tabel individual dalam Azure Synapse, Anda dapat menentukan opsi distribusi data dalam pernyataan CREATE TABLE menggunakan pernyataan DISTRIBUTION. Misalnya, Anda dapat menentukan tabel terdistribusi hash, yang mendistribusikan baris tabel di seluruh node komputasi menggunakan fungsi hash deterministik. Tujuannya adalah untuk mengurangi jumlah data yang dipindahkan antara node pemrosesan saat menjalankan kueri.

Agar tabel besar ke tabel besar bergabung, hash mendistribusikan satu atau idealnya kedua tabel di salah satu kolom gabungan—yang memiliki rentang nilai yang luas untuk membantu memastikan distribusi yang merata. Lakukan pemrosesan gabungan secara lokal karena baris data yang akan digabungkan akan dikaitkan pada node pemrosesan yang sama.

Azure Synapse juga mendukung gabungan lokal antara tabel kecil dan tabel besar melalui replikasi tabel kecil. Misalnya, pertimbangkan tabel dimensi kecil dan tabel fakta besar dalam model skema bintang. Azure Synapse dapat mereplikasi tabel dimensi yang lebih kecil di semua node untuk memastikan bahwa nilai kunci gabungan apa pun untuk tabel besar memiliki baris dimensi yang cocok dan tersedia secara lokal. Overhead replikasi tabel dimensi relatif rendah untuk tabel dimensi kecil. Untuk tabel dimensi besar, pendekatan distribusi hash lebih tepat. Untuk informasi selengkapnya tentang opsi distribusi data, lihat Panduan desain untuk menggunakan tabel yang direplikasi dan Panduan untuk merancang tabel terdistribusi.

Pengindeksan data

Azure Synapse mendukung beberapa opsi pengindeksan yang ditentukan pengguna yang berbeda dari opsi pengindeksan yang diterapkan di Teradata. Untuk informasi selengkapnya tentang opsi pengindeksan yang berbeda di Azure Synapse, lihat Indeks pada tabel kumpulan SQL khusus.

Indeks yang ada dalam lingkungan Teradata sumber memberikan indikasi yang berguna tentang penggunaan data dan kolom kandidat untuk pengindeksan di lingkungan Azure Synapse.

Partisi data

Di gudang data perusahaan, tabel fakta dapat berisi miliaran baris. Partisi mengoptimalkan pemeliharaan dan performa kueri tabel ini dengan membaginya menjadi beberapa bagian terpisah untuk mengurangi jumlah data yang diproses. Di Azure Synapse, pernyataan CREATE TABLE mendefinisikan spesifikasi pemartisian untuk tabel. Hanya partisi tabel yang sangat besar dan pastikan setiap partisi setidaknya berisi 60 juta baris.

Anda hanya dapat menggunakan satu bidang per tabel untuk pembuatan partisi. Bidang itu sering kali merupakan bidang tanggal karena banyak kueri yang difilter menurut tanggal atau rentang tanggal. Dimungkinkan untuk mengubah pembuatan partisi tabel setelah pemuatan awal menggunakan pernyataan CREATE TABLE AS (CTAS) untuk membuat ulang tabel dengan distribusi baru. Untuk diskusi terperinci tentang pemartisian di Azure Synapse, lihat Tabel pemartisian di kumpulan SQL khusus.

Statistik tabel data

Pastikan statistik pada tabel data terkini dengan membangun langkah statistik ke pekerjaan ETL/ELT.

PolyBase atau COPY INTO untuk pemuatan data

PolyBase mendukung pemuatan data dalam jumlah besar yang efisien ke gudang data menggunakan aliran pemuatan paralel. Untuk informasi selengkapnya, lihat Strategi pemuatan data PolyBase.

COPY INTO juga mendukung penyerapan data throughput tinggi, dan:

  • Pengambilan data dari semua file dalam folder dan subfolder.

  • Pengambilan data dari beberapa lokasi di akun penyimpanan yang sama. Anda dapat menentukan beberapa lokasi menggunakan jalur yang dipisahkan koma.

  • Azure Data Lake Storage (ADLS) dan Azure Blob Storage.

  • Format file CSV, PARQUET, dan ORC.

Manajemen beban kerja

Menjalankan beban kerja campuran dapat menimbulkan tantangan sumber daya pada sistem yang sibuk. Skema pengelolaan beban kerja yang sukses secara efektif mengelola sumber daya, memastikan penggunaan sumber daya yang sangat efisien, dan memaksimalkan laba atas investasi (ROI). Klasifikasi beban kerja, kepentingan beban kerja, dan isolasi beban kerja memberikan kontrol lebih atas cara beban kerja menggunakan sumber daya sistem.

Panduan manajemen beban kerja menjelaskan teknik untuk menganalisis beban kerja, mengelola, dan memantau kepentingan beban kerja, dan langkah-langkah untuk mengonversi kelas sumber daya menjadi grup beban kerja. Gunakan kueri portal Azure dan T-SQL pada DMV untuk memantau beban kerja guna memastikan bahwa sumber daya yang berlaku digunakan secara efisien.

Langkah berikutnya

Untuk mempelajari tentang ETL dan pemuatan migrasi Teradata, lihat artikel berikutnya dalam seri ini: Migrasi data, ETL, dan pemuatan migrasi Teradata.