Untuk menjalankan kueri real-time data analitis bersama data operasional tanpa membuat pipeline yang kompleks, Anda dapat menggunakan federasi lakehouse di AlloyDB untuk PostgreSQL. Didukung oleh ekstensi bigquery_fdw, AlloyDB merutekan kueri Anda ke BigQuery untuk mengakses data live dan format terbuka seperti Apache Iceberg melalui tabel eksternal BigLake, sehingga tidak perlu migrasi ETL (ekstrak, transformasi, muat) yang kompleks.
Manfaat federasi lakehouse
Pendekatan federasi lakehouse menawarkan manfaat berikut:
- Zero ETL: kueri data analitis secara langsung tanpa membuat atau memelihara pipeline yang kompleks.
- Sintaksis yang familiar: gunakan sintaksis PostgreSQL standar untuk mengkueri data BigQuery.
- Insight real-time: akses data baru bersama tabel operasional Anda.
- Offload komputasi: gunakan mesin terdistribusi BigQuery untuk tugas berat melalui pengoptimalan pushdown.
- Akses yang diotorisasi: untuk memastikan bahwa hanya akun layanan yang diotorisasi yang dapat mengkueri data eksternal, gunakan Identity and Access Management (IAM) untuk kontrol akses terpusat.
Kasus penggunaan
Federasi lakehouse mendukung kasus penggunaan bisnis dan teknis berikut:
- Workload pemrosesan transaksional dan analitis hibrida (HTAP): Anda dapat mengkueri data operasional real-time di AlloyDB dan data historis atau analitis di BigQuery atau Cloud Storage secara bersamaan tanpa memengaruhi performa transaksional.
- Insight real-time tanpa pipeline yang rapuh: Anda dapat menghindari latensi dan mode kegagalan proses ETL tradisional. Akses data analitis baru secara instan untuk membuat keputusan bisnis berdasarkan informasi terbaru.
- Materialisasi data untuk alur kerja agen: Anda dapat mematerialisasi data analitis eksternal ke AlloyDB untuk menggunakan columnar engine AlloyDB dan kapabilitas AI AlloyDB. Hal ini memungkinkan penelusuran vektor berperforma tinggi, embedding machine learning, dan alur kerja agen berbasis AI canggih pada data gabungan Anda.
Arsitektur dan aliran data
Diagram berikut menunjukkan aliran data dan interaksi komponen saat Anda menggunakan federasi lakehouse:
Berikut ini menjelaskan proses aliran data untuk federasi lakehouse di AlloyDB:
- Pengiriman kueri: Anda mengirimkan kueri PostgreSQL standar ke instance AlloyDB.
- Perencanaan dan pengoptimalan kueri: perencana kueri AlloyDB mengidentifikasi tabel yang dipetakan ke set data BigQuery eksternal menggunakan BigQuery foreign data wrapper (FDW).
- Pengoptimalan pushdown: AlloyDB mengoptimalkan kueri dengan mendorong filter dan agregasi tertentu langsung ke BigQuery. Hal ini memastikan bahwa jaringan hanya mentransfer baris yang relevan dan difilter atau ringkasan yang telah diagregasi.
- Eksekusi dan pengambilan: BigQuery mengeksekusi bagian kuerinya—langsung memindai penyimpanan bawaan BigQuery atau membaca tabel Apache Iceberg yang disimpan di Cloud Storage—dan men-streaming set data yang dihasilkan kembali ke AlloyDB.
- Pemrosesan dan respons akhir: AlloyDB menggabungkan data eksternal dengan tabel operasional lokal, menyelesaikan pemrosesan kueri yang tersisa, dan menampilkan hasil akhir ke aplikasi Anda.
Pertimbangan jenis data untuk kueri gabungan
Saat Anda mengkueri tabel BigQuery eksternal dari AlloyDB menggunakan federasi lakehouse, perencana kueri AlloyDB menafsirkan jenis data BigQuery sebagai jenis data PostgreSQL yang sesuai. Memahami pemetaan ini sangat penting untuk menulis kueri yang benar dan untuk definisi tabel asing yang digunakan oleh ekstensi bigquery_fdw.
Jika jenis data BigQuery tidak memiliki pemetaan langsung atau memerlukan penanganan khusus, Anda mungkin perlu menggunakan fungsi CAST eksplisit dalam kueri atau membuat tampilan di BigQuery yang menyajikan data dengan jenis yang kompatibel.
Untuk mengetahui daftar jenis data yang didukung dan jenis PostgreSQL yang sesuai, lihat Pemetaan jenis data.
Kontrol keamanan dan akses
Akses ke data BigQuery dari AlloyDB dikelola melalui IAM. Anda harus memberikan peran IAM tertentu ke akun layanan cluster AlloyDB untuk menentukan set data dan tabel mana yang dapat dikueri. Hal ini membantu memastikan bahwa kueri gabungan mematuhi kebijakan tata kelola data terpusat organisasi Anda tanpa mengorbankan keamanan. Untuk mengetahui informasi selengkapnya, lihat Peran yang diperlukan.
Bentang bawah
Anda dapat menggunakan teknik dorong ke bawah filter dan agregat, yang mempercepat kueri dan mengurangi biaya dengan memfilter atau meringkas data di BigQuery sebelum dipindahkan atau diproses oleh AlloyDB. Pendekatan ini meminimalkan traffic jaringan dan penggunaan memori, sehingga Anda dapat menganalisis set data besar dengan cepat dan efisien tanpa melebihi batas resource.
Dorong ke bawah filter
Dorong ke bawah filter, juga dikenal sebagai dorong ke bawah predikat, adalah teknik pengoptimalan
yang memindahkan pemfilteran data sedekat mungkin ke lapisan penyimpanan dengan
memindahkan filter kueri (menggunakan klausa WHERE) dari
AlloyDB ke BigQuery.
Dengan dorong ke bawah filter, Anda dapat menggunakan kueri SQL dengan klausa WHERE untuk mengakses subset data dari tabel jarak jauh. Data ini juga dapat diwujudkan pada tabel lokal atau dilampirkan sebagai partisi lokal ke tabel PostgreSQL.
Operasi yang didukung untuk dorong ke bawah filter mencakup hal berikut:
- Operator perbandingan standar:
=,<,>,<=,>=,<> - Operator logika:
AND,OR, danNOT - Pencocokan pola:
LIKEdanNOT LIKE - Pemeriksaan null:
IS NULLdanIS NOT NULL - Evaluasi dalam daftar:
INdanNOT IN
Dorong ke bawah agregat
Dorong ke bawah agregat adalah pengoptimalan database lanjutan yang melakukan perhitungan—misalnya, SUM, COUNT, AVG, atau GROUP BY—sedekat mungkin ke lapisan penyimpanan. Dorong ke bawah ini mengevaluasi fungsi ringkasan langsung di BigQuery, yang dapat mengurangi jumlah baris yang ditampilkan ke AlloyDB secara signifikan.
Operasi yang didukung untuk dorong ke bawah agregat mencakup hal berikut:
SUMCOUNTAVGMINMAX
Biaya dan penagihan BigQuery
BigQuery foreign data wrapper bergantung pada hal berikut:
- Harga komputasi BigQuery
- Harga BigQuery Storage API
Untuk mengetahui informasi, lihat Harga BigQuery.
Batasan
- AlloyDB dan BigQuery mungkin menggunakan kolasi yang berbeda, yang dapat menyebabkan pengurutan data yang berbeda antara kedua sistem. Untuk bagian kueri yang dieksekusi dari jarak jauh di BigQuery, kolasi mengikuti setelan BigQuery.
- Kueri yang menampilkan data dalam jumlah yang sangat besar dari BigQuery, setelah dorong ke bawah, tidak dioptimalkan.
Langkah berikutnya
- Pilih cara mengakses data BigQuery.
- Konfigurasi akses ke data real-time.
- Impor data BigQuery ke AlloyDB.