Mereplikasi data dari MySQL ke BigQuery


Tutorial ini menunjukkan cara membuat dan men-deploy tugas yang terus-menerus 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 untuk mengaktifkan replikasi.
  3. Buat dan jalankan tugas replikasi Cloud Data Fusion.
  4. Lihat hasilnya di BigQuery.

Biaya

Dalam dokumen ini, Anda akan 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 dikenai biaya untuk cluster Dataproc dan dikenai biaya pemrosesan untuk BigQuery. Untuk mengoptimalkan biaya ini, sebaiknya gunakan harga tarif 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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  4. Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  7. Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.

    Enable the APIs

  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 Tambahkan Akselerator dan memilih kotak centang Replikasi.
    • Untuk mengaktifkannya di instance yang ada, lihat Mengaktifkan Replikasi.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan dalam 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 Anda ke Artifact Registry.

  3. Deploy image Docker Anda di instance VM baru.

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

    Buka Disk

  5. Buat firewall untuk instance VM.

  6. Instal database contoh Sakila.

Mengaktifkan replikasi di database MySQL

Untuk mengaktifkan replikasi, siapkan Pengambilan Data Perubahan (CDC) di MySQL.

Membuat dan menjalankan tugas replikasi Cloud Data Fusion

Mengupload 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 ini untuk mengonfigurasi driver JDBC:

    • Di kolom Name, masukkan mysql.
    • Di kolom Versi, gunakan 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 Name tugas replikasi, 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 Nama Plugin JDBC , 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 MySQL server.
  5. Klik Berikutnya.

  6. Konfigurasikan target:

    1. Pilih target BigQuery.
    2. Project ID dan Service Account Key terdeteksi secara otomatis. Jangan ubah nilai default-nya.
    3. Opsional: Di bagian Lanjutan, konfigurasikan nama, lokasi, interval pemuatan, awalan tabel staging, dan perilaku bucket staging saat tabel atau database dihapus.
  7. Klik Berikutnya.

  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, Perbarui, dan Hapus.

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

  10. Klik Berikutnya.

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

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

  12. Klik Berikutnya.

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

Memulai tugas

  • Di halaman Detail tugas replikasi, klik Mulai.

Tugas replikasi bertransisi dari status Penyediaan ke Dimulai ke Berjalan. Dalam status berjalan, tugas replikasi memuat snapshot awal data tabel yang Anda pilih ke BigQuery. Dalam status ini, status tabel dicantumkan sebagai Snapshotting. Setelah snapshot awal dimuat ke BigQuery, setiap perubahan yang dilakukan pada tabel akan direplikasi ke BigQuery, dan status tabel akan tercantum sebagai Replikasi.

Memantau tugas

Anda dapat memulai dan menghentikan tugas replikasi, meninjau konfigurasi dan lognya, serta memantau tugas replikasi.

Anda dapat memantau aktivitas tugas replikasi dari halaman Replication job details.

  1. Dari halaman Replication, klik Name tugas replikasi.

  2. Klik Monitoring.

Melihat hasil di BigQuery

Tugas replikasi membuat set data dan tabel yang direplikasi di BigQuery, dengan nama yang diwarisi 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 meluaskan daftar set data.

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

Untuk informasi selengkapnya, lihat dokumentasi BigQuery.

Pembersihan

Agar tidak perlu membayar 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.

Setelah menyelesaikan tutorial, bersihkan resource yang dibuat di Google Cloud sehingga resource tersebut tidak akan menggunakan 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. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Langkah selanjutnya