Merencanakan migrasi dengan silsilah migrasi
Anda dapat menggunakan layanan silsilah migrasi untuk memvisualisasikan aliran data dan koneksi di database sumber saat merencanakan migrasi data warehouse BigQuery.
Saat Anda membuat silsilah migrasi, layanan silsilah menyediakan grafik yang memvisualisasikan cara data berpindah melalui sistem sumber, dan cara setiap tabel atau tampilan dalam sistem sumber terhubung, seperti yang ditunjukkan diagram berikut:
Layanan silsilah migrasi mendukung dialek SQL berikut:
- Amazon Redshift SQL
- Snowflake SQL
- Teradata SQL
- GoogleSQL (BigQuery)
Batasan
Layanan silsilah memproses 5 GB pertama log terlama dari database sumber Anda.
Lokasi yang didukung
Layanan silsilah migrasi tersedia di lokasi tertentu. Untuk mengetahui informasi selengkapnya, lihat Lokasi layanan silsilah dan penerjemah SQL BigQuery.
Izin yang diperlukan
Untuk mendapatkan izin yang
diperlukan untuk menggunakan layanan silsilah migrasi,
minta administrator untuk memberi Anda
peran IAM MigrationWorkflow Editor (roles/bigquerymigration.editor) pada project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk menggunakan layanan silsilah migrasi. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menggunakan layanan silsilah migrasi:
-
bigquerymigration.workflows.create -
bigquerymigration.workflows.get -
bigquerymigration.lineageDbs.query
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Untuk mengetahui informasi selengkapnya tentang peran dan izin IAM di BigQuery, lihat Peran dan izin IAM BigQuery.
Melacak silsilah migrasi
Untuk melacak silsilah migrasi, jalankan alat dwh-migration-dumper terlebih dahulu untuk
membuat file log SQL input sumber yang Anda upload ke Cloud Storage.
Setelah mengupload file input ke Cloud Storage, Anda dapat melacak silsilah migrasi dengan konsol Cloud de Confiance atau BigQuery Migration API.
Menjalankan alat dwh-migration-dumper
Pilih salah satu opsi berikut:
Amazon Redshift
Untuk melacak dan melihat silsilah migrasi di database Amazon Redshift, lakukan hal berikut:
- Jalankan alat
dwh-migration-dumperuntuk membuat dump file sistem sumber Anda. - Upload log kueri ke Cloud Storage.
Snowflake
Untuk melacak dan melihat silsilah migrasi di database Snowflake, lakukan hal berikut:
- Jalankan alat
dwh-migration-dumperuntuk membuat dump file sistem sumber Anda. - Upload log kueri ke Cloud Storage.
Teradata
Untuk melacak dan melihat silsilah migrasi di database Teradata, lakukan hal berikut:
- Jalankan alat
dwh-migration-dumperuntuk membuat dump file sistem sumber Anda. - Upload log kueri ke Cloud Storage.
BigQuery
Untuk melacak dan melihat silsilah migrasi di database BigQuery, lakukan hal berikut:
- Berikan peran berikut ke akun atau akun layanan:
- BigQuery Metadata Viewer (
roles/bigquery.metadataViewer) - Data Catalog Viewer (
roles/datacatalog.viewer)
- BigQuery Metadata Viewer (
- Instal alat
dwh-migration-dumper. Untuk membuat metadata dan log kueri, jalankan alat
dwh-migration-dumper. Metadata dan log kueri ini terdapat dalam satu atau beberapa file ZIP.dwh-migration-dumper --connector bigquery dwh-migration-dumper --connector bigquery-logs
Upload file ZIP ke bucket Cloud Storage. Untuk mengetahui informasi selengkapnya tentang membuat bucket dan mengupload file ke Cloud Storage, lihat Membuat bucket dan Mengupload objek dari sistem file.
Melacak silsilah
Setelah mengupload file ZIP yang berisi metadata dan log kueri ke Cloud Storage, Anda dapat melacak silsilahnya. Pilih salah satu opsi berikut:
Konsol
Buka halaman Layanan migrasi Anda.
Di bagian Trace Lineage, klik Trace translation.
Di bagian Lineage configuration, masukkan informasi berikut:
- Untuk Nama tampilan, tentukan nama untuk tugas silsilah. Nama tersebut dapat berisi huruf, angka, atau garis bawah.
- Untuk Processing Location, pilih lokasi tempat Anda ingin menjalankan tugas silsilah.
Untuk Edit input directory location, tentukan jalur ke folder Cloud Storage yang berisi file ZIP log yang Anda upload sebelumnya. Anda dapat mengetik jalur dalam format
bucket_name/folder_name/atau mengklik Browse. Anda juga dapat memberi nama subdirektori file output di kolom Output subdirectory name.Anda dapat menambahkan file input tambahan dengan mengklik Add an input directory location.
Klik Trace.
Tugas silsilah kini sedang berjalan. Tugas ini dapat memerlukan waktu beberapa jam untuk diselesaikan, bergantung pada ukuran input Anda. Setelah tugas selesai, alat ini akan memberikan link ke silsilah migrasi yang dilacak.
API
Untuk melacak tugas silsilah, jalankan perintah curl berikut:
curl -d "{ \"tasks\": { \"TASK_NAME\": { \"type\": \"Experimental_Lineage\", \"translation_details\": { \"target_base_uri\": \"BUCKET_PATH\", \"source_target_mapping\": { \"source_spec\": { \"base_uri\": \"BUCKET_PATH\" } }, \"target_types\": \"LINEAGE\" } } } } " \ -H "Content-Type:application/json" \ -H "Authorization: Bearer TOKEN" -X POST https://bigquerymigration.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/workflows
Ganti kode berikut:
TASK_NAME: nama untuk mengidentifikasi tugas silsilah ini.BUCKET_PATH: jalur ke bucket Cloud Storage yang berisi file ZIP input Anda.PROJECT_ID: project ID ke projectCloud de Confiance Anda.LOCATION: lokasi pemrosesan. Nilai ini harus berupaeuatauus.
Panggilan ini menampilkan pesan yang mirip dengan berikut ini:
{ "name": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID", "tasks": { "task_name": { /*...*/ } }, "state": "RUNNING" }
Tugas silsilah kini sedang berjalan. Tugas ini dapat memerlukan waktu beberapa jam untuk diselesaikan, bergantung pada ukuran input Anda. Untuk memeriksa status tugas silsilah, jalankan perintah curl berikut dengan ID alur kerja:
curl \ -H "Content-Type:application/json" \ -H "Authorization:Bearer " -X GET https://bigquerymigration.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID
Setelah tugas selesai, alat ini akan memberikan link ke tampilan silsilah yang dilacak.
Membuka silsilah migrasi
Setelah melacak silsilah migrasi, Anda dapat membuka silsilah migrasi dengan menggunakan salah satu opsi berikut:
Konsol
Buka halaman Layanan migrasi Anda.
Di bagian Trace Lineage, klik View recent.
Di halaman Migration Lineage, klik nama tugas untuk memilih tugas silsilah yang lengkap.
Di halaman Translation details, klik Data lineage.
API
Untuk membuka silsilah migrasi yang telah selesai, jalankan perintah curl berikut dengan
BigQuery Migration API:
curl \ -H "Content-Type:application/json" \ -H "Authorization:Bearer " -X GET https://bigquerymigration.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID
Ganti kode berikut:
PROJECT_ID: project ID ke projectCloud de Confiance Anda.LOCATION: lokasi pemrosesan. Nilai ini harus berupaeuatauus.WORKFLOW_ID: ID alur kerja dari silsilah yang dilacak.
Buka link yang disertakan dalam
kolom taskResult.translationTaskResult.consoleUri pada pesan output.
Menggunakan silsilah migrasi
Bagian berikut menjelaskan cara menggunakan silsilah migrasi untuk menangani data dan database sumber Anda.
Memahami istilah silsilah migrasi
Istilah berikut digunakan dalam silsilah migrasi:
| Persyaratan | Deskripsi |
|---|---|
| Skrip | Skrip SQL dan program lain yang terlihat dalam log database yang diserap selama pembuatan silsilah. Skrip terdiri dari pernyataan, yang paling umum adalah pernyataan SQL tunggal. |
| Node | Verteks grafik silsilah. Ini terdiri dari tabel dan kolom. |
| Tabel | Juga disebut sebagai relasi, termasuk tabel biasa, tampilan, file terstruktur, dan resource mirip tabel lainnya. |
| Kolom | Juga disebut sebagai atribut, termasuk kolom tabel, proyeksi tampilan, pseudokolom, kolom seperti kolom dalam file dan resource lainnya, serta subkolom seperti kolom struct. |
| Tepi | Koneksi antara node silsilah yang menunjukkan interaksi karena pipeline yang menjalankan skrip yang membaca atau menulis node tersebut. Edge dianotasi dengan stempel waktu, predikat, dan metadata lainnya dari saat edge tersebut diperoleh. Node yang berdekatan dengan node lain dengan edge disebut koneksi langsung; jalur edge antara dua node disebut koneksi tidak langsung. |
| Edge silsilah | Edge terarah yang menunjukkan bahwa node sumber disertakan dalam klausa seperti klausa FROM, WHERE, atau GROUP BY yang memengaruhi data node target. |
| Pengguna dan pipeline | Label metadata yang disediakan oleh database sumber tentang siapa dan apa yang menjalankan skrip. Namespace tidak memiliki arti yang melekat pada mesin silsilah, tetapi digunakan untuk mengelompokkan skrip berdasarkan asalnya. |
Bagian berikut menjelaskan berbagai halaman dalam silsilah migrasi.
Meninjau halaman landing
Halaman landing silsilah migrasi menampilkan ID tugas silsilah, kolom penelusuran untuk menemukan objek silsilah berdasarkan nama, dan daftar saran yang menyoroti beberapa objek silsilah yang mungkin menarik. Halaman ini juga menyertakan jumlah total tabel, pipeline, dan pengguna di seluruh silsilah migrasi.
Untuk membuka tabel, tampilan, atau kolom tertentu, telusuri objek di kolom penelusuran, atau klik salah satu objek yang disarankan di halaman landing.
Meninjau halaman node
Untuk meninjau node dalam silsilah migrasi Anda, klik salah satu tab berikut.
Tab Aliran Data
Tab Data Flow menampilkan representasi visual dari bagian grafik silsilah. Halaman ini adalah halaman default saat Anda melihat tabel atau kolom untuk pertama kalinya di layanan silsilah. Grafik ini memvisualisasikan cara data berpindah melalui sistem sumber Anda. Node dalam grafik ini mewakili tabel atau tampilan, sedangkan tepi di antara node mewakili data yang mengalir dari node di sebelah kiri, menuju node di sebelah kanan.
Setiap tabel dalam grafik Data Flow menampilkan nama yang tidak memenuhi syarat. Untuk melihat nama tabel yang sepenuhnya memenuhi syarat dengan awalan database dan skema, tahan kursor di atas node untuk menampilkan tooltip-nya. Setiap tabel menunjukkan skemanya seperti yang ditunjukkan oleh batang vertikal pada node. Semua skema dalam silsilah diurutkan berdasarkan abjad dan diberi warna, sehingga tabel dalam skema yang sama memiliki batang berwarna sama, dan tabel dalam skema dengan nama yang mirip memiliki batang berwarna serupa.
Setiap node menampilkan ikon, yang menunjukkan properti node:
- monitor: tampilan, bukan tabel.
- cached: tabel yang selalu diperbarui sepenuhnya (dipotong, lalu ditulis ulang). Klik ikon untuk melihat skrip di samping tabel ini.
- cached: tabel yang tidak selalu diperbarui sepenuhnya (dipotong, lalu ditulis ulang). Klik ikon untuk melihat skrip di samping tabel ini.
- timer: tabel yang berumur pendek. Tahan kursor di atas ikon untuk melihat durasi keberadaan tabel.
- snowflake: tabel yang terakhir ditulis lebih dari tujuh hari yang lalu, yang menunjukkan tabel dengan data statis atau jarang ditulis.
Untuk meninjau objek dalam grafik Data Flow, lakukan tindakan berikut:
- Untuk melihat daftar kolom tabel, klik tabel. Tampilan ini mencakup nama setiap kolom beserta jenis datanya, seperti yang ditentukan dari dump metadata yang disediakan atau disimpulkan dari SQL yang terlihat di log kueri.
- Untuk melihat grafik silsilah tingkat kolom untuk sebuah kolom, klik kolom. Dalam grafik silsilah tingkat kolom, edge mewakili aliran data yang memengaruhi kolom target.
Untuk melihat detail tentang edge, klik edge di grafik. Tampilan ini menyertakan link ke skrip SQL yang memicu edge.
Edge dihasilkan dari node sumber ke node target saat pernyataan SQL mereferensikan node sumber saat pernyataan tersebut menghitung data yang dimasukkan ke dalam node target. Biasanya, hal ini melibatkan transfer data dari sumber ke target, tetapi tab Data Flow juga menampilkan edge saat node sumber digunakan dalam klausa
WHEREatauGROUP BYyang memengaruhi target. Untuk memfilter transfer data saja, aktifkan tombol Show non-data edges di toolbar.
Tab Connections
Tab Connections dari node silsilah menampilkan daftar node di sekitar dalam grafik silsilah. Secara default, node yang terhubung diurutkan berdasarkan jarak jalur terpendek dari node saat ini—node yang memerlukan lebih sedikit edge untuk dijangkau dari node saat ini akan dicantumkan terlebih dahulu. Anda dapat mengubah pengurutan dengan opsi Urutkan.
Daftar koneksi mencakup node upstream (produsen) dan downstream (konsumen) dari node saat ini secara default. Anda dapat mengubah filter ini dengan kontrol Jenis. Di kolom Distance, node yang berada di upstream node saat ini ditampilkan dengan panah mengarah ke atas dengan jarak jalur mundur terpendek ke node tersebut dari node saat ini; demikian pula, node yang berada di downstream node saat ini ditampilkan dengan panah mengarah ke bawah dengan jarak jalur penerusan terpendek ke node tersebut dari node saat ini. Node dapat berada di upstream dan downstream node saat ini jika merupakan bagian dari siklus.
Untuk mendownload file yang berisi semua node yang ditampilkan, klik download CSV
Tab Pengguna
Tab Users dari sebuah node menampilkan pengguna yang menjalankan skrip yang membaca atau menulis node atau node yang berada di upstream atau downstream-nya. Secara default, pengguna yang melakukan tindakan paling terpisah akan dicantumkan terlebih dahulu. Anda dapat mengubah pengurutan dengan opsi Urutkan.
Untuk mendownload file yang berisi semua pengguna yang ditampilkan, klik download CSV.
Tab Pipelines
Tab Pipelines dari sebuah node menampilkan pipeline yang menjalankan skrip yang membaca atau menulis node atau node yang berada di upstream atau downstream-nya. Secara default, pipeline yang melakukan tindakan paling terpisah akan dicantumkan terlebih dahulu. Anda dapat mengubah pengurutan dengan opsi Urutkan.
Untuk mendownload file yang berisi semua pipeline yang ditampilkan, klik download CSV.
Tab Code
Tab Code untuk node menampilkan semua skrip SQL yang terlihat dalam file input yang membaca data dari atau menulis data ke node tersebut. Penyebutan node ditandai dalam teks SQL. Klik skrip untuk meluaskan teks lengkap. Anda dapat mengubah setelan filter untuk memfilter daftar skrip yang ditampilkan.
Untuk mendownload file yang berisi semua skrip yang ditampilkan, klik download CSV.
Meninjau halaman edge
Untuk meninjau edge node dalam grafik silsilah Anda, klik salah satu tab berikut.
Tab detail
Tab Details untuk edge menampilkan predikat dan kategori, yang menjelaskan operasi yang dilakukan oleh skrip yang memicu edge.
Predikat dinotasikan sebagai kode tiga bagian yang dipisahkan oleh tanda hubung. Bagian pertama
adalah r, yang menunjukkan bahwa sumber edge adalah relasi, atau a,
yang menunjukkan bahwa sumber edge adalah atribut. Bagian kedua adalah salah satu singkatan berikut yang menunjukkan cara node sumber memengaruhi data di node target:
has: relasi sumber berisi atribut target.dat: sumber menyalin atau mentransfer data ke target.res: sumber memfilter atau membatasi kardinalitas target dalam klausa sepertiWHERE,HAVING, atauJOIN ON.grp: sumber digunakan dalam klausaGROUP BYyang memengaruhi target.
Bagian ketiga juga berupa r atau a, yang menunjukkan apakah target edge adalah relasi atau atribut.
Kategori edge dapat mencakup hal berikut:
- Predikat
dat:AGGREGATE: sumber digunakan dalam komputasi gabungan yang menulis target.EXACT_COPY: data dari sumber disalin secara keseluruhan ke target.FUNCTION: sumber digunakan untuk menghitung target.IDENTITY_COPY: target tidak dihitung. Targetnya adalah salinan literal dari sumber tanpa transmisi atau konversi apa pun.PARTITION_PROMOTION: target berisi data dari sumber sebagai hasil dari promosi partisi sumber ke target.WEAK_COPY: data dari sumber disalin setidaknya sebagian ke target.
- Predikat
res:FILTER: sumber digunakan dalam perbandingan yang menulis target.KEY: data dari sumber digunakan sebagai kunci dalam perbandingan gabungan yang menulis target.
grppredikat:GROUP: data dari sumber digunakan sebagai kunci dalam klausaGROUP BYyang memengaruhi target.
Tab Code
Tab Code untuk edge menampilkan skrip SQL yang memicu edge tersebut. Node sumber dan target edge ditandai di tempat node tersebut disebutkan dalam teks SQL.
Langkah berikutnya
- Jalankan penilaian migrasi untuk menilai kelayakan dan potensi manfaat dari migrasi data warehouse Anda ke BigQuery.
- Gunakan layanan terjemahan SQL, seperti penerjemah SQL interaktif, API terjemahan, dan penerjemah SQL batch untuk mengotomatiskan konversi kueri SQL Anda ke GoogleSQL, termasuk penyesuaian SQL yang ditingkatkan Gemini.