Untuk mengakses data BigQuery dari AlloyDB untuk PostgreSQL, Anda dapat menggunakan ekstensi bigquery_fdw (wrapper 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 menyediakan akses real-time ke data BigQuery Anda langsung dari AlloyDB untuk PostgreSQL tanpa memindahkan atau menduplikasi data. Untuk menjembatani kedua sistem, metode ini menggunakan ekstensi bigquery_fdw, yang memungkinkan Anda mengkueri set data langsung di tempat. Karena Anda mengkueri data sumber secara langsung, Anda mendapatkan insight dari data terbaru yang tersedia, tanpa harus melalui latensi dan overhead pemeliharaan pipeline data atau interval sinkronisasi.
Untuk mengoptimalkan performa, AlloyDB mendorong filter, batas, dan agregasi standar ke BigQuery, hanya men-streaming hasil yang relevan dan telah difilter 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 analitis terbaru yang tersedia di BigQuery untuk membuat keputusan bisnis instan, tanpa menunggu batch processing.
- Pemrosesan analitis transaksional hibrida (HTAP): Anda perlu menjalankan analisis yang menggabungkan data operasional "aktif" real-time yang berada di AlloyDB dengan volume data historis "tidak aktif" yang sangat 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 ekstrak, transformasi, dan pemuatan (ETL) yang kompleks.
- Arsitektur tanpa salinan: Anda ingin meminimalkan biaya penyimpanan dan overhead tata kelola data dengan menyimpan data analitis 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 pada jadwal yang sedang berlangsung. Anda dapat melakukan operasi satu kali menggunakan tabel sinkronisasi atau dengan mengimpor tabel asing.
Tabel sinkronisasi
Anda dapat melakukan sinkronisasi satu kali menggunakan alloydb_sync.import_bq_table()
fungsi di alloydb_sync ekstensi. Fungsi ini men-streaming 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 menjalankan operasi INSERT, UPDATE, dan DELETE secara bebas pada data lokal.
Untuk mengetahui informasi selengkapnya, lihat
Menyinkronkan data BigQuery ke AlloyDB.
Tabel impor
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: tarik output analitis yang telah dihitung sebelumnya (seperti bucket segmentasi pelanggan atau prediksi machine learning) dari BigQuery ke AlloyDB untuk memperkaya database operasional Anda.
- Penyajian aplikasi latensi rendah: berikan akses langsung ke subset data historis jika overhead atau latensi kueri BigQuery dari jarak jauh tidak dapat diterima.
- Modifikasi data terisolasi: dapatkan salinan lokal data analitis untuk diproses, diubah, atau diindeks secara independen dari set data sumber (misalnya, membuat embedding vektor dengan AlloyDB AI).
Sinkronisasi tabel berkala
Operasi berkala memperbarui data pada jadwal berulang—misalnya, setiap jam atau setiap hari. Anda dapat menyiapkan operasi berkala menggunakan tabel sinkronisasi atau dengan menjadwalkan kueri pada tabel yang diimpor.
Tabel sinkronisasi
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 sesuai dengan 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.
Tabel impor
Anda dapat menyiapkan impor berkala dengan menggabungkan ekstensi bigquery_fdw dengan ekstensi pg_cron PostgreSQL. Dalam pendekatan ini, bigquery_fdw menyediakan definisi tabel asing hanya baca, dan pg_cron menjalankan kueri SQL secara berkala (seperti TRUNCATE dan INSERT INTO ... SELECT atau membuat ulang tabel) untuk memperbarui tabel lokal.
Tidak seperti tabel sinkronisasi, 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 konkurensi tinggi: menyajikan insight analitis kepada ribuan pengguna serentak. Dengan mempertahankan data lokal di AlloyDB dan melakukan penskalaan horizontal 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, jika aplikasi Anda dapat mentoleransi data yang diperbarui sesuai jadwal.
- Pencerminan data otomatis: memastikan aplikasi operasional Anda dilengkapi dengan data terbaru dari data warehouse Anda sesuai jadwal yang telah ditetapkan.
Langkah berikutnya
- Pelajari lebih lanjut cara mengkueri data langsung di BigQuery dari AlloyDB.
- Mengonfigurasi akses ke data real-time.
- Ringkasan sinkronisasi data.
- Menyinkronkan data BigQuery ke AlloyDB.