Dia adalah ETL (Extract, Transfer dan Load).
Untuk percobaan pertama, saya gunakan Apache Hop untuk melakukan migrasi dari database Sql Server 2016 ke SQL server 2012. Ada beberapa jalan sih, tapi saya coba pakai ETL sekalian untuk memahami Apache HOP
Jadi ada beberapa tabel yang akan diproses. Gambarnya seperti dibawah ini
Gambar diatas adalah gambar dari Workflow.
Yang saya sudah pelajari sejauh ini, ada dua bagian besar di Apache HOP, yaitu Workflow dan Pipeline.
A pipeline is a linear, automated sequence of stages designed to process data or tasks from start to finish, often running tasks concurrently. A workflow is a broader, often non-linear, set of procedures or rules that manage the overall logic, orchestration, and human-in-the-loop steps to complete a project.
Dalam case ini, setiap tabel secara umum dibuatkan satu pipeline.
Tabel input, adalah proses SELECT nya. Sedang table Output adalah proses INSERT INTO nya.
Pada tabel input dan output ada setting untuk connectionnya. Maka connectoin di tabel input adalah koneksi ke SQL Server 2016 sedang output pakai koneksi ke SQL Server 2012 (berarti ada 2 koneksi yang perlu dipsersiapkan sebelumnya).
Namun ada satu tabel yang tidak menggunakan pipeline. Ada tabel yang kolom ID nya pakai identity seed. Yaitu auto incerement. Jika menggunakan pipiline seperti tabel lain, maka akan error terkait kolom identitiy ini.
Untuk itu saya buat workflow lagi terkait masalah ini.
Dari workflow ini, terlihat pertama melakukan cek apakah ada tabel_temp, jika tidak ada maka melakukan pembuatan tabel temp. Kemudian copy dari tabel asli ke tabel temp. Tabel temp ini secara struktur sama persis dengan tabel asli, namun kolom ID nya tidak di set auto identity. Setelah data tercopy ke tabel temp, maka jalan kan query: INSERT INTO tabel_asli SELECT from tabel_temp.
Dalam SQL Script ini juga ditambahkan SET IDENTITY_INSERT tabel_asli ON; agar saat insert ke tabel asli tidak error seperti sebelumnya.
Setelah proses selesai, maka tabel temp dihapus.
Setelah workflow tabel khusus tadi selesai, maka ada proses query SELECT count untuk melihat apakah DB Asal dan DB Tujuan sudah sama.
Saya puas dengan fitur-fitur yang ada di Apache HOP. Lengkap saya kira. Walau hanya mencoba beberapa fitur.
Selanjutnya akan saya coba untuk kasus data warehouse yang ingin saya buat.
