Mereplikasi data dari MySQL ke BigQuery


Tutorial ini menunjukkan cara membuat dan men-deploy tugas yang terus mereplikasi data yang diubah dari database MySQL ke tabel BigQuery.

Tujuan

Dalam tutorial ini, Anda telah:

  1. Deploy database MySQL Anda di Compute Engine.
  2. Siapkan database MySQL Anda untuk mengaktifkan replikasi.
  3. Membuat dan menjalankan tugas replikasi Cloud Data Fusion.
  4. Lihat hasilnya di BigQuery.

Biaya

Dalam dokumen ini, Anda menggunakan komponen Google Cloud yang dapat ditagih berikut:

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga. Pengguna baru Google Cloud mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Saat Replikasi berjalan, Anda akan ditagih untuk cluster Dataproc dan biaya pemrosesan untuk BigQuery akan dikenakan. Untuk mengoptimalkan biaya ini, sebaiknya gunakan harga tetap BigQuery.

Sebelum memulai

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Aktifkan API Cloud Data Fusion, BigQuery, and Cloud Storage.

    Mengaktifkan API

  5. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Aktifkan API Cloud Data Fusion, BigQuery, and Cloud Storage.

    Mengaktifkan API

  8. Buat instance Cloud Data Fusion publik dalam versi 6.3.0 atau yang lebih baru. Jika Anda membuat instance pribadi, siapkan peering jaringan VPC.
    • Saat Anda membuat instance, aktifkan Replikasi dengan mengklik Add Accelerators dan mencentang kotak Replication.
    • Untuk mengaktifkannya dalam instance yang ada, lihat Mengaktifkan Replikasi.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk tutorial ini, lihat Kontrol akses dengan IAM dan Memberikan izin pengguna akun layanan.

Menginstal MySQL di Compute Engine

  1. Download image Docker Server MySQL.

  2. Upload image Docker ke Artifact Registry.

  3. Deploy image Docker Anda pada instance VM baru.

  4. Di halaman Disks Compute Engine, ubah ukuran disk menjadi 500 GB dan mulai ulang VM.

    Buka Disk

  5. Buat firewall untuk instance VM tersebut.

  6. Instal database contoh Sakila.

Mengaktifkan replikasi di database MySQL Anda

Untuk mengaktifkan replikasi, siapkan Change Data Capture (CDC) di MySQL.

Membuat dan menjalankan tugas replikasi Cloud Data Fusion

Upload driver JDBC

  1. Download driver JDBC MySQL (versi 8 atau yang lebih baru) ke komputer lokal Anda.

  2. Di antarmuka web Cloud Data Fusion, upload driver JDBC.

    Gunakan nilai berikut untuk mengonfigurasi driver JDBC:

    • Di kolom Name, masukkan mysql.
    • Di kolom Version, gunakan nilai default.
    • Di kolom Class Name, masukkan com.mysql.jdbc.Driver.

Buat tugas

  1. Di antarmuka web Cloud Data Fusion, klik Replikasi.

  2. Klik Create a replication job.

  3. Di halaman Create new replication job, tentukan tugas replikasi Name, lalu klik Next.

  4. Konfigurasikan sumber:

    1. Pilih MySQL sebagai sumber.
    2. Untuk Host, masukkan nama host server MySQL yang akan dibaca.
    3. Untuk Port, masukkan port yang akan digunakan untuk terhubung ke server MySQL: 3306.
    4. Untuk JDBC Plugin Name , pilih mysql atau nama yang Anda tentukan saat mengonfigurasi driver JDBC.
    5. Untuk Database Name, masukkan sakila.
    6. Di bagian Kredensial, masukkan nama pengguna dan sandi Anda untuk mengakses server MySQL.
  5. Klik Next.

  6. Konfigurasikan target:

    1. Pilih target BigQuery.
    2. Project ID dan Kunci Akun Layanan akan terdeteksi secara otomatis. Biarkan nilai default tersebut.
    3. Opsional: Di bagian Lanjutan, konfigurasikan nama bucket staging, lokasi, interval pemuatan, awalan tabel staging, dan perilaku saat tabel atau database dihapus.
  7. Klik Next.

  8. Jika koneksi berhasil, daftar tabel database contoh Sakila akan ditampilkan. Untuk tutorial ini, pilih beberapa tabel dan peristiwa yang akan direplikasi, seperti peristiwa Sisipkan, Update, dan Hapus.

  9. Opsional: Konfigurasikan properti lanjutan. Untuk tutorial ini, Anda dapat menggunakan setelan default.

  10. Klik Next.

  11. Di halaman Tinjau penilaian, klik Lihat pemetaan oleh salah satu tabel untuk penilaian masalah skema, fitur yang tidak ada, atau masalah konektivitas yang mungkin terjadi selama replikasi. Jika terjadi, masalah tersebut harus diselesaikan sebelum Anda dapat melanjutkan. Untuk tutorial ini, jika salah satu tabel mengalami masalah, kembali ke langkah tempat Anda memilih tabel dan pilih tabel atau peristiwa (Sisipkan, Pembaruan, atau Hapus) tanpa masalah.

    Untuk mengetahui informasi selengkapnya tentang konversi jenis data dari database sumber ke tujuan BigQuery, lihat Jenis data replikasi.

  12. Klik Next.

  13. Tinjau detail tugas replikasi ringkasan, lalu klik Deploy replication job.

Memulai tugas

  • Di halaman Detail tugas replikasi, klik Mulai.

Tugas replikasi beralih dari status Provisioning ke Starting ke Running. Dalam status yang berjalan, tugas replikasi memuat snapshot awal dari data tabel yang Anda pilih ke BigQuery. Dalam status ini, status tabel dicantumkan sebagai Snapshot. Setelah snapshot awal dimuat ke BigQuery, setiap perubahan yang dilakukan pada tabel akan direplikasi ke BigQuery, dan status tabel akan tercantum sebagai Replicating.

Memantau tugas

Anda dapat memulai dan menghentikan tugas replikasi, meninjau konfigurasi dan log-nya, serta memantau tugas replikasi Anda.

Anda dapat memantau aktivitas tugas replikasi dari halaman Detail tugas replikasi.

  1. Dari halaman Replication, klik tugas replikasi Name.

  2. Klik Monitoring.

Lihat hasil di BigQuery

Tugas replikasi akan membuat set data dan tabel yang direplikasi di BigQuery, dengan nama yang diwariskan dari nama database dan tabel MySQL yang sesuai.

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di panel kiri, pilih nama project Anda untuk memperluas daftar set data.

  3. Untuk melihat hasilnya, pilih set data sakila dan pilih tabel.

Untuk mengetahui informasi selengkapnya, baca dokumentasi BigQuery.

Pembersihan

Agar tidak dikenakan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource-nya.

Setelah menyelesaikan tutorial, bersihkan resource yang Anda buat di Google Cloud agar tidak menghabiskan kuota dan Anda tidak akan ditagih di masa mendatang. Bagian berikut menjelaskan cara menghapus atau menonaktifkan resource ini.

Menghapus instance Cloud Data Fusion

Ikuti petunjuk untuk menghapus instance Cloud Data Fusion.

Menghapus project

  1. Di konsol Google Cloud, buka halaman Manage resource.

    Buka Manage resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

Langkah selanjutnya