Untuk mengakses data BigQuery dari AlloyDB untuk PostgreSQL, Anda dapat menggunakan ekstensi
bigquery_fdw (pembungkus data asing) dan alloydb_sync. Bersama-sama, ekstensi ini menyediakan metode untuk mengintegrasikan data analitis dan operasional Anda: akses data real-time (federasi lakehouse), operasi data satu kali, dan sinkronisasi berkala. Dokumen ini menjelaskan opsi untuk mengakses data BigQuery dari AlloyDB.
Federasi lakehouse
Federasi lakehouse memberikan akses real-time ke data BigQuery Anda langsung dari AlloyDB untuk PostgreSQL tanpa perlu memindahkan atau menduplikasi data. Untuk menghubungkan kedua sistem, metode ini menggunakan ekstensi bigquery_fdw, yang memungkinkan Anda membuat kueri set data aktif di tempat. Karena Anda mengkueri data sumber secara langsung, Anda akan mendapatkan insight dari data terbaru yang tersedia, sehingga tidak perlu khawatir dengan latensi dan overhead pemeliharaan pipeline data atau interval sinkronisasi.
Untuk mengoptimalkan performa, AlloyDB mendorong filter dan agregasi standar ke BigQuery, hanya melakukan streaming hasil yang relevan dan telah difilter sebelumnya kembali ke instance Anda. Untuk mengetahui informasi selengkapnya, lihat Ringkasan akses AlloyDB ke data real-time di BigQuery.
Kasus penggunaan
Federasi lakehouse mendukung kasus penggunaan berikut:
- Analisis operasional real-time: Anda memerlukan akses ke data analisis terbaru yang tersedia di BigQuery untuk membuat keputusan bisnis secara instan, tanpa menunggu batch processing.
- Pemrosesan analitis transaksional hybrid (HTAP): Anda perlu menjalankan analisis yang menggabungkan data operasional "aktif" dan "hot" yang berada di AlloyDB dengan data "tidak aktif" dan "dingin" dalam volume besar yang disimpan di BigQuery.
- Analisis data ad hoc dan eksploratif: Anda ingin menjalankan kueri langsung pada data BigQuery tanpa membuat, memelihara, atau menunggu pipeline extract, transform, dan load (ETL) yang kompleks.
- Arsitektur tanpa salinan: Anda ingin meminimalkan biaya penyimpanan dan beban tata kelola data dengan menyimpan data analitik di satu tempat sekaligus mempertahankan akses melalui semantik PostgreSQL.
Sinkronisasi tabel satu kali
Operasi satu kali memindahkan atau mengakses data dari BigQuery satu kali, bukan berdasarkan jadwal berkelanjutan. Anda dapat melakukan operasi satu kali menggunakan tabel sinkronisasi atau dengan mengimpor tabel asing.
Menyinkronkan tabel
Anda dapat melakukan sinkronisasi satu kali menggunakan fungsi alloydb_sync.import_bq_table()
di ekstensi alloydb_sync. Fungsi ini mengalirkan data dari
BigQuery ke penyimpanan AlloyDB lokal.
Hasilnya adalah tabel PostgreSQL yang sepenuhnya independen dan dapat ditulis di cluster AlloyDB Anda. Karena tabel yang disinkronkan dapat ditulis, Anda dapat
dengan bebas menjalankan operasi INSERT, UPDATE, dan DELETE pada data lokal.
Untuk mengetahui informasi selengkapnya, lihat artikel Menyinkronkan data BigQuery ke AlloyDB.
Mengimpor tabel
Anda dapat melakukan impor satu kali menggunakan ekstensi bigquery_fdw. Metode ini menggunakan IMPORT FOREIGN SCHEMA atau CREATE FOREIGN TABLE untuk memetakan set data BigQuery ke AlloyDB.
Tabel asing yang dibuat dengan bigquery_fdw adalah referensi hanya baca ke data BigQuery jarak jauh. Untuk membuat salinan data lokal, Anda dapat menjalankan kueri CREATE TABLE local_table AS (SELECT * FROM foreign_table).
Untuk mengetahui informasi selengkapnya, lihat
Mengimpor data BigQuery ke AlloyDB.
Kasus penggunaan
Operasi data satu kali mendukung kasus penggunaan berikut:
- Pengayaan data: menarik output analisis yang telah dihitung sebelumnya (seperti bucket segmentasi pelanggan atau prediksi machine learning) dari BigQuery ke AlloyDB untuk memperkaya database operasional Anda.
- Penayangan aplikasi latensi rendah: memberikan akses langsung ke subset data historis yang overhead atau latensi kueri BigQuery dari jarak jauh tidak dapat diterima.
- Modifikasi data terisolasi: dapatkan salinan lokal data analitik untuk diproses, diubah, atau diindeks secara independen dari set data sumber (misalnya, membuat embedding vektor dengan AI AlloyDB).
Sinkronisasi tabel periodik
Operasi berkala memperbarui data secara terjadwal dan berulang—misalnya, setiap jam atau setiap hari. Anda dapat menyiapkan operasi berkala menggunakan tabel sinkronisasi atau dengan menjadwalkan kueri pada tabel yang diimpor.
Menyinkronkan tabel
Anda dapat membuat jadwal refresh otomatis menggunakan fungsi
alloydb_sync.create_bq_sync_table() di ekstensi alloydb_sync.
Fungsi ini mengonfigurasi pekerja latar belakang untuk menarik data yang diperbarui secara berkala dari BigQuery dan memperbarui tabel AlloyDB lokal Anda agar mencerminkan sumbernya.
Tabel sinkronisasi berkala yang dibuat dengan alloydb_sync adalah tabel terkelola dan hanya baca.
Hal ini memastikan integritas data sekaligus memungkinkan aplikasi mengkueri data secara lokal dengan performa tinggi dan menskalakan secara horizontal di seluruh kumpulan baca.
Untuk mengetahui informasi selengkapnya, lihat
Menyinkronkan data BigQuery ke AlloyDB
dan
Ringkasan sinkronisasi data.
Mengimpor tabel
Anda dapat menyiapkan impor berkala dengan menggabungkan ekstensi bigquery_fdw dengan ekstensi pg_cron PostgreSQL. Dalam pendekatan ini, bigquery_fdw
memberikan definisi tabel asing hanya baca, dan pg_cron secara berkala
mengeksekusi kueri SQL (seperti TRUNCATE dan INSERT INTO ... SELECT atau
membuat ulang tabel) untuk memperbarui tabel lokal.
Tidak seperti tabel sinkron, pendekatan ini mengharuskan Anda mengelola dan
memelihara jadwal pg_cron dan skrip refresh SQL secara manual.
Untuk mengetahui informasi selengkapnya, lihat
Menyiapkan jadwal untuk mengimpor data secara berkala.
Kasus penggunaan
Operasi berkala mendukung kasus penggunaan berikut:
- Penyajian dengan konkurensi tinggi: menyajikan insight analitis kepada ribuan pengguna serentak. Dengan mempertahankan data lokal di AlloyDB dan melakukan penskalaan dengan kumpulan baca, Anda dapat melewati batas koneksi serentak yang ada di BigQuery.
- Akselerasi performa: memproses data menggunakan columnar engine AlloyDB dan cache buffer lokal untuk performa kueri maksimum, dengan aplikasi Anda dapat mentoleransi data yang diperbarui sesuai jadwal.
- Pencerminan data otomatis: pastikan aplikasi operasional Anda selalu memiliki data baru dari data warehouse Anda sesuai jadwal yang ditetapkan.
Langkah berikutnya
- Pelajari lebih lanjut cara membuat kueri data langsung di BigQuery dari AlloyDB.
- Konfigurasi akses ke data real-time.
- Ringkasan sinkronisasi data.
- Mengimpor data BigQuery ke AlloyDB.
- Menyinkronkan data BigQuery ke AlloyDB.