GSP1052

Ringkasan
Dalam lingkungan kompetitif saat ini, organisasi perlu membuat keputusan dengan cepat dan mudah berdasarkan data real-time. Datastream untuk BigQuery menghadirkan replikasi yang lancar dari sumber database operasional seperti AlloyDB, MySQL, PostgreSQL, dan Oracle, langsung ke BigQuery, yang merupakan data warehouse serverless milik Google Cloud. Dengan arsitektur penskalaan otomatis serverless, Datastream dapat Anda gunakan untuk menyiapkan pipeline ELT (Ekstraksi, Pemuatan, Transformasi) dengan mudah untuk replikasi data latensi rendah yang memungkinkan insight real-time.
Di lab praktik ini, Anda akan men-deploy database Cloud SQL untuk PostgreSQL dan mengimpor set data sampel menggunakan command line gcloud. Di UI, Anda akan membuat dan memulai aliran data Datastream dan mereplikasi data ke BigQuery.
Meskipun Anda dapat dengan mudah menyalin dan menempelkan perintah dari lab ke tempat yang sesuai, cobalah untuk mengetikkan perintah tersebut sendiri untuk memperkuat pemahaman konsep inti.
Yang akan Anda lakukan
- Menyiapkan instance Cloud SQL untuk PostgreSQL menggunakan Konsol Google Cloud
- Mengimpor data ke instance Cloud SQL
- Membuat profil koneksi Datastream untuk database PostgreSQL
- Membuat profil koneksi Datastream untuk tujuan BigQuery
- Membuat aliran data Datastream dan memulai replikasi
- Memvalidasi bahwa data yang ada dan perubahannya direplikasi dengan benar ke BigQuery
Prasyarat
- Berpengalaman dengan lingkungan Linux standar
- Berpengalaman dengan konsep pengambilan data perubahan (CDC)
Penyiapan dan persyaratan
Sebelum mengklik tombol Start Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:
- Tombol Open Google Cloud console
- Waktu tersisa
- Kredensial sementara yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
-
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}}
Anda juga dapat menemukan Username di panel Lab Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab Details.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda.
Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
-
Klik halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan mendaftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search.
Mengaktifkan Cloud Shell
Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.
-
Klik Activate Cloud Shell
di bagian atas Konsol Google Cloud.
-
Klik jendela berikut:
- Lanjutkan melalui jendela informasi Cloud Shell.
- Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:
Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}
gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
- (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
- Klik Authorize.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Untuk menetapkan akun aktif, jalankan:
$ gcloud config set account `ACCOUNT`
- (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project
Output:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Tugas 1. Membuat database untuk replikasi
Di bagian ini, Anda akan menyiapkan database Cloud SQL untuk PostgreSQL untuk replikasi Datastream.
Membuat database Cloud SQL
- Jalankan perintah berikut untuk mengaktifkan Cloud SQL API:
gcloud services enable sqladmin.googleapis.com
- Jalankan perintah berikut untuk membuat instance database Cloud SQL untuk PostgreSQL:
POSTGRES_INSTANCE=postgres-db
DATASTREAM_IPS={{{project_0.startup_script.ip_Address | IP_ADDRESS}}}
gcloud sql instances create ${POSTGRES_INSTANCE} \
--database-version=POSTGRES_14 \
--cpu=2 --memory=10GB \
--authorized-networks=${DATASTREAM_IPS} \
--region={{{project_0.default_region|REGION}}} \
--root-password pwd \
--database-flags=cloudsql.logical_decoding=on
Catatan: Perintah ini membuat database di . Untuk region lain, pastikan untuk mengganti DATASTREAM_IPS dengan IP Publik Datastream yang tepat untuk region Anda.
Catatan: Setelah instance database dibuat, catat IP publik instance tersebut. Anda akan memerlukannya nanti saat membuat profil koneksi Datastream.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat database untuk replikasi
Mengisi database dengan data sampel
Hubungkan ke database PostgreSQL dengan menjalankan perintah berikut di Cloud Shell.
gcloud sql connect postgres-db --user=postgres
Saat diminta sandinya, masukkan pwd.
Setelah terhubung ke database, jalankan perintah SQL berikut untuk membuat contoh skema dan tabel:
CREATE SCHEMA IF NOT EXISTS test;
CREATE TABLE IF NOT EXISTS test.example_table (
id SERIAL PRIMARY KEY,
text_col VARCHAR(50),
int_col INT,
date_col TIMESTAMP
);
ALTER TABLE test.example_table REPLICA IDENTITY DEFAULT;
INSERT INTO test.example_table (text_col, int_col, date_col) VALUES
('hello', 0, '2020-01-01 00:00:00'),
('goodbye', 1, NULL),
('name', -987, NOW()),
('other', 2786, '2021-01-01 00:00:00');
Mengonfigurasi database untuk replikasi
- Jalankan perintah SQL berikut untuk membuat slot publikasi dan replikasi:
CREATE PUBLICATION test_publication FOR ALL TABLES;
ALTER USER POSTGRES WITH REPLICATION;
SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('test_replication', 'pgoutput');
Tugas 2. Membuat resource Datastream dan memulai replikasi
Setelah database siap, buat aliran data dan profil koneksi Datastream untuk memulai replikasi.
-
Dari Navigation menu, klik View All Products, lalu di bagian Analytics, pilih Datastream
-
Klik Enable untuk mengaktifkan Datastream API.
Membuat profil koneksi
Buat dua profil koneksi, satu untuk sumber PostgreSQL, dan satu lagi untuk tujuan BigQuery.
Profil koneksi PostgreSQL
-
Di Konsol Cloud, buka tab Connection Profiles, lalu klik Create Profile.
-
Pilih jenis profil koneksi PostgreSQL.
-
Untuk nama profil koneksi, ketik postgres-cp.
-
Masukkan detail koneksi database:
- Region:
- IP dan port instance Cloud SQL yang dibuat sebelumnya (Tugas 1)
- Untuk menemukan alamat IP instance Cloud SQL Anda:
- Dari Navigation menu, klik Cloud SQL.
- Di halaman Cloud SQL, temukan instance PostgreSQL Anda yang bernama postgres-db.
- Salin alamat IP publik instance.
- Username:
postgres
- Untuk sandi, pilih Enter password manually, lalu ketik
pwd
- Database:
postgres
-
Klik Continue.
-
Untuk Encryption type, pilih None.
-
Pilih metode konektivitas IP allowlisting, lalu klik Continue.
-
Klik RUN TEST untuk memastikan Datastream dapat mencapai database.
-
Klik Create.
Profil koneksi BigQuery
- Di Konsol Cloud, buka tab Connection Profiles, lalu klik Create Profile.
- Pilih jenis profil koneksi BigQuery.
-
Untuk nama profil koneksi, ketik bigquery-cp.
-
Region
-
Klik Create.
Membuat aliran data
Buat aliran data yang menghubungkan profil koneksi yang dibuat di atas dan menentukan konfigurasi untuk data yang akan dialirkan dari sumber ke tujuan.
- Di Konsol Cloud, buka tab Streams, lalu klik Create stream.
Menentukan detail aliran data
- Untuk nama aliran koneksi, ketik
test-stream.
- Region
- Pilih PostgreSQL sebagai jenis sumber
- Pilih BigQuery sebagai jenis tujuan
- Klik Continue.
Menentukan dan menguji sumber
- Pilih profil koneksi postgres-cp yang dibuat di langkah sebelumnya.
- [Opsional] Uji konektivitas dengan mengklik Run Test
- Klik Continue.
Mengonfigurasi sumber
- Tentukan nama slot replikasi sebagai
test_replication.
- Tentukan nama publikasi sebagai
test_publication.
- Pilih skema test untuk replikasi.
- Klik Continue.
Menentukan tujuan
- Pilih profil koneksi bigquery-cp yang dibuat di langkah sebelumnya, lalu klik Continue.
Mengonfigurasi tujuan
- Pilih Region, lalu pilih sebagai lokasi set data BigQuery.
- Tetapkan batas staleness ke 0 seconds.
- Klik Continue.
Meninjau dan membuat aliran data
- Terakhir, validasi detail aliran data dengan mengklik Run Validation. Setelah validasi berhasil diselesaikan, klik Create & Start, lalu konfirmasi Create & Start.
Tunggu sekitar 1-2 menit hingga status aliran data ditampilkan sebagai "running".
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat resource Datastream
Tugas 3. Melihat data di BigQuery
Setelah aliran data berjalan, lihat data yang direplikasi ke dalam set data BigQuery.
- Di Konsol Google Cloud, dari Navigation menu, buka BigQuery.
Untuk jendela pop-up, klik Done.
- Di penjelajah BigQuery Studio, luaskan node project untuk melihat daftar set data.
- Luaskan node set data test.
- Klik tabel example_table.
- Klik tab Preview untuk melihat data di BigQuery.
Catatan: Data mungkin memerlukan waktu beberapa menit hingga muncul di bagian Preview.
- Jika Anda melihat pesan "There is no data to display" di tab pratinjau, Anda dapat memverifikasi data menggunakan perintah berikut.
SELECT * FROM test.example_table ORDER BY id;
Tugas 4. Memeriksa apakah perubahan pada sumber direplikasi ke BigQuery atau tidak
- Jalankan perintah berikut di Cloud Shell untuk terhubung ke database Cloud SQL (sandinya adalah
pwd):
gcloud sql connect postgres-db --user=postgres
- Jalankan perintah SQL berikut untuk membuat beberapa perubahan pada data:
INSERT INTO test.example_table (text_col, int_col, date_col) VALUES
('abc', 0, '2022-10-01 00:00:00'),
('def', 1, NULL),
('ghi', -987, NOW());
UPDATE test.example_table SET int_col=int_col*2;
DELETE FROM test.example_table WHERE text_col = 'abc';
- Buka ruang kerja BigQuery SQL dan jalankan kueri berikut untuk melihat perubahan di BigQuery:
SELECT * FROM test.example_table ORDER BY id;
Selamat!
Datastream adalah alat penting dalam perangkat integrasi dan analisis data Anda. Anda telah mempelajari dasar-dasar replikasi dari PostgreSQL ke BigQuery dengan Datastream.
Manual Terakhir Diperbarui pada 17 September 2025
Lab Terakhir Diuji pada 17 September 2025
Hak cipta 2025 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.