Menggunakan BigQuery Graph dan Spanner Graph
Dokumen ini membantu Anda menentukan solusi grafik yang akan digunakan dengan membandingkan BigQuery Graph dan Spanner Graph.
Perbandingan ini berfungsi sebagai rekomendasi, dan tidak dimaksudkan sebagai sesuatu yang mutlak. Ada tumpang-tindih fitur yang signifikan antara BigQuery Graph dan Spanner Graph, dan pengguna harus mengidentifikasi kebutuhan workload mereka sendiri untuk menentukan fitur yang akan digunakan.
Kapan harus menggunakan BigQuery Graph dan Spanner Graph
BigQuery Graph dan Spanner Graph melayani berbagai jenis workload graf. BigQuery Graph ditujukan untuk analisis mendalam dalam skala besar, sedangkan Spanner Graph ditujukan untuk operasi real-time.
BigQuery Graph
BigQuery Graph dioptimalkan untuk menjalankan kueri kompleks pada grafik besar. Anda dapat menganalisis pola global, mengidentifikasi tren historis, dan mengungkap hubungan tersembunyi dalam set data yang sangat besar.
Karakteristik teknisnya mencakup performa yang dioptimalkan dalam skala besar, pemrosesan paralel, kueri kompleks pada sebagian besar grafik, komputasi intensif, dan agregasi kompleks.
Kasus penggunaan umum mencakup:
- Deteksi penipuan offline: Temukan pengguna mencurigakan lainnya yang terhubung dengan penipu yang diketahui di seluruh jaringan Anda dalam grafik pelanggan, dalam beberapa tingkat koneksi yang menggunakan email, telepon, atau alamat yang sama. Untuk tutorial tentang deteksi penipuan, lihat Spanner & BigQuery: Perisai Pertahanan Penipuan Real-Time.
- Pengoptimalan supply chain: Buat grafik daftar bahan yang merepresentasikan hubungan antara produk akhir dan komponennya untuk perencanaan inventaris. Hitung tanggal pengiriman produk dan pahami ketersediaan material dengan menganalisis produk tingkat atas hingga komponen dasarnya di semua lini produk.
- Segmentasi Customer 360: Buat grafik Customer 360 untuk memahami perjalanan pelanggan terkait langganan produk, konversi, dan churn. Gunakan ini untuk mengidentifikasi alasan pelanggan berhenti berlangganan, mengidentifikasi pola penggunaan, dan menggunakan grafik untuk segmentasi pelanggan dan penargetan audiens di seluruh audiens.
Spanner Graph
Spanner Graph ditujukan untuk operasi real-time. Database ini dioptimalkan untuk aplikasi yang perlu melakukan kueri k-hop yang menyentuh sekumpulan kecil elemen grafik secara instan, mendeteksi penipuan dalam milidetik, melakukan pelacakan silsilah untuk verifikasi identitas dan dependensi, serta menyajikan rekomendasi langsung.
Karakteristik teknisnya mencakup latensi yang dapat diprediksi dengan jitter minimal, kueri per detik (QPS) yang diskalakan secara linear dengan jumlah node Spanner, dan skala yang hampir tak terbatas. Fitur ini juga dilengkapi penyimpanan grafik bawaan dengan penyisipan tabel node dan edge, ketersediaan yang selalu aktif, konsistensi global, serta pencarian titik dan kueri multi-hop yang dimulai dari satu node grafik atau sekumpulan node grafik.
Kasus penggunaan umum mencakup:
- Deteksi penipuan real-time: Periksa gesekan kartu kredit terhadap grafik perangkat dan akun yang diketahui melakukan penipuan dalam hitungan milidetik.
- Operasi jaringan otonom: Bangun model digital akurat jaringan Anda untuk pemantauan dan pengoptimalan performa real-time.
- Resolusi entity: Membangun cluster identitas tertaut sebagai sumber kebenaran dari berbagai PII (email, telepon, ID Venmo). Gunakan profil kanonis untuk pencarian identitas sebelum menayangkan iklan, melakukan deteksi penipuan real-time, dan melatih feature store.
Cara kerja BigQuery Graph dan Spanner Graph bersama-sama
BigQuery Graph dan Spanner Graph bekerja sama untuk memberikan solusi yang komprehensif. Misalnya, dalam kasus penggunaan customer 360:
- Insight real-time: Agen layanan pelanggan menggunakan Spanner Graph untuk menangani keluhan pengguna tentang pengiriman produk yang salah berdasarkan statistik pembelian dan pengiriman real-time.
- Mereplikasi atau membuat kueri: Anda dapat mereplikasi data dari Spanner ke BigQuery menggunakan Spanner Change Streams tanpa ekstrak, transformasi, dan pemuatan (ETL) yang kompleks, atau membuat kueri data Spanner langsung dari BigQuery menggunakan kueri gabungan BigQuery.
- Menganalisis pola: Data scientist menggunakan BigQuery Graph untuk mengidentifikasi "hotspot churn" pada data yang sama untuk melabeli pelanggan sebagai "berisiko".
- Feedback loop: Label "berisiko" dikirim ke Spanner Graph dengan dukungan reverse extract, transform, and load (ETL) untuk membuat kode kupon bagi pelanggan ini guna mencegah churn.
Memindahkan data antara BigQuery Graph dan Spanner Graph
Anda dapat memindahkan data antara Spanner Graph dan BigQuery Graph sesuai dengan persyaratan workload Anda:
ETL Forward: Untuk memindahkan data dari Spanner ke BigQuery untuk kueri analisis, gunakan template Dataflow.
Reverse ETL: Meskipun Anda dapat mengkueri data Spanner langsung dari BigQuery Graph, mungkin ada skenario di mana Anda perlu memasukkan data BigQuery ke Spanner Graph. Gunakan pernyataan SQL
EXPORT DATA. Untuk mengetahui detail selengkapnya, lihat Memahami pipeline ETL balik.
Perbandingan fitur
Tabel berikut memberikan perincian mendetail tentang fitur berdasarkan produk yang paling dioptimalkan:
| Fitur | BigQuery Graph (offline/batch) | Spanner Graph (online/real-time) |
|---|---|---|
| Model, Kueri, dan Visualisasi Graf | Pemodelan graf terpadu dan Graph Query Language, semuanya didukung oleh GoogleSQL, bagian dari standar ISO SQL. Antarmuka yang sama untuk visualisasi graf. | Pemodelan graf terpadu dan Graph Query Language, semuanya didukung oleh GoogleSQL, bagian dari standar ISO SQL. Antarmuka yang sama untuk visualisasi graf. |
| Workload Utama | Offline (batch): agregasi pada set data yang sangat besar. | Online (real-time): volume operasi baca/tulis yang tinggi dengan latensi rendah. |
| Latensi Kueri | Detik hingga jam. Dioptimalkan untuk pemindaian data berukuran terabyte/petabyte. | Milidetik ke detik. Penting untuk aplikasi yang ditampilkan kepada pengguna. |
| Pola kueri | Global atau seluruh graf: "Siapa yang memiliki 'Jangkauan Jaringan' lebih dari 5.000 orang?" | Lokal atau lingkungan: "Siapa yang berteman dengan teman saya, tetapi tidak berada di lingkaran terdekat saya?" |
| Menskalakan | Skala petabyte, hampir tanpa batas, dioptimalkan untuk data historis berskala besar. | Skalabel secara horizontal, skala hampir tak terbatas, dioptimalkan untuk hot data. |
| Keaktualan data | Hampir real-time atau batch. Dapat mengakses data dari berbagai sumber (misalnya, data Spanner Graph menggunakan Data Boost untuk Spanner, Bigtable, Cloud Storage, atau Amazon S3). | Konsistensi kuat dan real-time. |
| Input Data | Data lake, log historis, data transaksi yang diarsipkan. | Streaming aplikasi live, interaksi pengguna. |
| Perpindahan Data |
Spanner ke BigQuery (forward extract, transform, and load (ETL)) dengan template siap pakai (batch, streaming).
BigQuery ke Spanner (reverse
ETL) dengan
EXPORT_DATA.
Federasi kueri (zero-ETL) dengan skema eksternal.
|
Spanner ke BigQuery (forward extract, transform, and load (ETL)) dengan template siap pakai (batch, streaming).
BigQuery ke Spanner (reverse
ETL) dengan
EXPORT_DATA.
Federasi kueri (zero-ETL) dengan skema eksternal.
|
Langkah berikutnya
- Pelajari lebih lanjut BigQuery Graph.
- Pelajari Spanner Graph lebih lanjut.