Petunjuk dan persyaratan penyiapan lab
Lindungi akun dan progres Anda. Selalu gunakan jendela browser pribadi dan kredensial lab untuk menjalankan lab ini.

Cloud Spanner: Memuat Data dan Melakukan Pencadangan

Lab 25 menit universal_currency_alt 1 Kredit show_chart Pengantar
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Konten ini belum dioptimalkan untuk perangkat seluler.
Untuk pengalaman terbaik, kunjungi kami dengan komputer desktop menggunakan link yang dikirim melalui email.

GSP1049

Logo lab mandiri Google Cloud

Ringkasan

Cloud Spanner adalah layanan database relasional dari Google yang terkelola sepenuhnya dan dapat diskalakan secara horizontal. Pelanggan di jasa keuangan, game, retail, dan banyak bidang lain memercayai layanan ini untuk menjalankan workload yang paling berat, yang sangat membutuhkan konsistensi dan ketersediaan.

Di lab ini, Anda akan mempelajari berbagai cara untuk memuat data ke Cloud Spanner dan mencadangkan database.

Yang akan Anda lakukan

  • Menyisipkan data dengan DML
  • Menyisipkan data melalui library klien
  • Menyisipkan data batch melalui library klien
  • Memuat data menggunakan Dataflow
  • Mencadangkan database

Penyiapan dan kebutuhan

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

  1. 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
  2. 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.
  3. 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.

  4. Klik Next.

  5. Salin Password di bawah dan tempel ke dialog Welcome.

    {{{user_0.password | "Password"}}}

    Anda juga dapat menemukan Password di panel Lab Details.

  6. 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.
  7. 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. Ikon Navigation menu dan 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.

  1. Klik Activate Cloud Shell Ikon Activate Cloud Shell di bagian atas Konsol Google Cloud.

  2. 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.

  1. (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
  1. Klik Authorize.

Output:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Untuk menetapkan akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (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. Mengeksplorasi instance

Selama deployment, instance, database, dan tabel Cloud Spanner telah disediakan untuk Anda.

  1. Dari Konsol, buka menu navigasi (Menu navigasi) > View All Products. Di bagian Databases, klik Spanner.

Klik nama instance banking-instance untuk menjelajahi database. Database terkait diberi nama banking-db. Klik untuk menjelajahinya dan melihat bahwa sudah ada tabel bernama Customer. Klik tabel tersebut untuk memeriksa skemanya.

  1. Tabel masih kosong. Buka kembali halaman ringkasan banking-db. Di menu kiri, klik Spanner Studio, lalu jalankan perintah berikut:
SELECT * FROM Customer;
  1. Tidak ada hasil yang ditampilkan.

Tugas 2. Menyisipkan data dengan DML

Cara termudah untuk menyisipkan data ke Spanner adalah melalui DML. Dengan menggunakan Cloud Shell dan gcloud, Anda dapat menjalankan pernyataan DML apa pun, termasuk INSERT.

  1. Jalankan perintah berikut di Cloud Shell:
gcloud spanner databases execute-sql banking-db --instance=banking-instance \ --sql="INSERT INTO Customer (CustomerId, Name, Location) VALUES ('bdaaaa97-1b4b-4e58-b4ad-84030de92235', 'Richard Nelson', 'Ada Ohio')"
  1. Kembali ke Konsol, klik Overview di menu kiri. Buka tabel Customer, lalu pilih Data untuk melihat baris yang baru saja Anda sisipkan.

Seperti yang disebutkan sebelumnya, Anda dapat menggunakan gcloud untuk menjalankan perintah DML apa pun. Lihat dokumentasi untuk DML dan Spanner.

Pemuatan database baris demi baris tentu tidak efisien.

Tugas 3. Menyisipkan data melalui library klien

Cara optimal untuk mengakses Spanner adalah melalui antarmuka terprogram. Berbagai macam library klien tersedia, termasuk C++, C#, Go, Java, Node.js, PHP, Python, dan Ruby.

  1. Di Cloud Shell, masukkan perintah berikut untuk memanggil editor teks Nano dan membuat file konfigurasi kosong baru bernama insert.py.
nano insert.py
  1. Tempel blok kode yang tercantum di bawah.
from google.cloud import spanner from google.cloud.spanner_v1 import param_types INSTANCE_ID = "banking-instance" DATABASE_ID = "banking-db" spanner_client = spanner.Client() instance = spanner_client.instance(INSTANCE_ID) database = instance.database(DATABASE_ID) def insert_customer(transaction): row_ct = transaction.execute_update( "INSERT INTO Customer (CustomerId, Name, Location)" "VALUES ('b2b4002d-7813-4551-b83b-366ef95f9273', 'Shana Underwood', 'Ely Iowa')" ) print("{} record(s) inserted.".format(row_ct)) database.run_in_transaction(insert_customer)
  1. Tekan Ctrl+X untuk keluar dari Nano, tekan Y untuk mengonfirmasi perubahan, dan tekan Enter untuk menyimpan perubahan.

  2. Jalankan kode python.

python3 insert.py
  1. Muat ulang Konsol Cloud, atau klik item lain di menu kiri, lalu klik lagi Data untuk melihat baris baru di database.

Seperti penggunaan gcloud, Anda dapat menjalankan pernyataan DML apa pun dari library klien. Anda dapat menemukan beberapa contoh untuk semua bahasa dalam dokumentasi.

Cara ini lebih fleksibel daripada memuat data menggunakan gcloud, tetapi tetap memiliki batasan saat memuat sumber yang berisi banyak baris.

  1. Klik Periksa progres saya untuk memverifikasi tujuan.
Menyisipkan data melalui library klien

Tugas 4. Menyisipkan data batch melalui library klien

Cara yang lebih optimal untuk memuat data ke Spanner adalah dengan melakukannya secara bergelombang melalui batch. Semua library klien mendukung pemuatan batch. Contoh ini menggunakan Python.

  1. Di Cloud Shell, masukkan perintah berikut untuk memanggil editor teks Nano dan membuat file konfigurasi kosong baru bernama batch_insert.py.
nano batch_insert.py
  1. Tempel blok kode yang tercantum di bawah.
from google.cloud import spanner from google.cloud.spanner_v1 import param_types INSTANCE_ID = "banking-instance" DATABASE_ID = "banking-db" spanner_client = spanner.Client() instance = spanner_client.instance(INSTANCE_ID) database = instance.database(DATABASE_ID) with database.batch() as batch: batch.insert( table="Customer", columns=("CustomerId", "Name", "Location"), values=[ ('edfc683f-bd87-4bab-9423-01d1b2307c0d', 'John Elkins', 'Roy Utah'), ('1f3842ca-4529-40ff-acdd-88e8a87eb404', 'Martin Madrid', 'Ames Iowa'), ('3320d98e-6437-4515-9e83-137f105f7fbc', 'Theresa Henderson', 'Anna Texas'), ('6b2b2774-add9-4881-8702-d179af0518d8', 'Norma Carter', 'Bend Oregon'), ], ) print("Rows inserted")
  1. Tekan Ctrl+X untuk keluar dari Nano, tekan Y untuk mengonfirmasi perubahan, dan tekan Enter untuk menyimpan perubahan.

  2. Jalankan kode python.

python3 batch_insert.py
  1. Muat ulang Konsol Cloud untuk melihat data baru yang baru saja Anda sisipkan.

Metode batch lebih efisien karena dijalankan sebagai satu permintaan. Hanya perlu satu proses dua arah server-klien, sehingga latensi berkurang.

Namun, metode ini sangat lambat dan menghabiskan banyak resource untuk memuat data.

  1. Klik Periksa progres saya untuk memverifikasi tujuan.
Menyisipkan data batch melalui library klien

Tugas 5. Memuat data menggunakan Dataflow

Dataflow adalah layanan Google Cloud untuk streaming dan pemrosesan data batch berskala besar. Dataflow menggunakan beberapa worker untuk menjalankan pemrosesan data secara paralel. Cara pemrosesan data ditentukan menggunakan pipeline yang mentransformasi data dari asalnya (sumber) ke tujuannya (sink).

Ada konektor untuk Spanner yang memungkinkan Anda menghubungkan database sebagai sumber atau sink di Dataflow.

Untuk memuat data berukuran besar, Anda dapat menggunakan kemampuan serverless Dataflow yang terdistribusi untuk membaca data dari sumber (misalnya, file CSV di Google Cloud Storage) dan memuatnya ke database Spanner menggunakan konektor sink.

  1. Untuk mempersiapkan tugas Dataflow, jalankan perintah berikut di Cloud Shell untuk membuat bucket di project Anda dan folder yang berisi file kosong.
gsutil mb gs://{{{project_0.project_id|Project ID}}} touch emptyfile gsutil cp emptyfile gs://{{{project_0.project_id|Project ID}}}/tmp/emptyfile
  1. Untuk memastikan API dan izin yang tepat telah ditetapkan, jalankan blok kode berikut di Cloud Shell.
gcloud services disable dataflow.googleapis.com --force gcloud services enable dataflow.googleapis.com
  1. Dari Konsol, buka menu navigasi (Menu navigasi) > View All Products. Di bagian Analytics, klik Dataflow.

  2. Di bagian atas layar, klik Create Job From Template.

  3. Masukkan nilai berikut ke template:

    • Job Name: spanner-load

    • Regional endpoint:

  4. Scroll pemilih Dataflow template untuk melihat semua template yang dapat digunakan dengan Dataflow. Anda juga dapat membuat pipeline yang disesuaikan sendiri menggunakan Beam SDK.

Ada dua jenis template utama:

  • Stream akan membuat pipeline untuk data yang mengalir dan diproses secara terus-menerus (misalnya, pesanan online dari situs).
  • Batch akan memproses set data yang memiliki awal dan akhir (misalnya, file yang disimpan di Google Cloud Storage).

Di lab ini, Anda akan memuat data ke database perbankan Spanner dari file CSV dengan lebih dari 150.000 baris.

  1. Pilih template Text Files on Cloud Storage to Cloud Spanner.

  2. Masukkan nilai berikut ke template:

Item Nilai
Cloud Spanner Instance Id banking-instance
Cloud Spanner Database Id banking-db
Text Import Manifest file spls/gsp1049/manifest.json



Format file manifest.json dijelaskan dalam tutorial untuk template ini (Anda dapat mengaksesnya dengan mengklik open tutorial tepat di atas kolom input parameter).

File manifes harus disimpan di bucket Google Cloud Storage yang dapat diakses dan dibaca Dataflow. Di lab ini, berikut adalah konten manifest.json:

{ "tables": [ { "table_name": "Customer", "file_patterns": [ "gs://spls/gsp1049/Customer_List.csv" ], "columns": [ {"column_name" : "CustomerId", "type_name" : "STRING" }, {"column_name" : "Name", "type_name" : "STRING" }, {"column_name" : "Location", "type_name" : "STRING" } ] } ] }

File manifes menyebutkan tabel, nama, dan jenis kolom (sesuai urutan kemunculannya dalam file CSV), serta file CSV itu sendiri, yang juga disimpan di bucket Google Cloud Storage.

File CSV akan terlihat seperti ini:

9d238899-8348-4642-9c00-77dc4481145b,Nicole Anderson,Ada Ohio 360ecaa6-9ec3-4fa0-81a5-3b0dc629e1fa,Ellen Richardson,Ada Ohio 8ee6c2ea-923b-45db-8d51-7f8e7a117af0,Wendy Daniel,Ada Ohio 1d7112cc-c1ee-414f-9325-95c97f9a25d3,Virginia Beasley,Ada Ohio ...
  1. Untuk parameter Temporary Location, masukkan nilai berikut:
{{{project_0.project_id|Project ID}}}/tmp
  1. Luaskan Optional Parameters.

  2. Hapus centang Use default machine type.

  3. Di bagian General purpose, pilih setelan berikut:

    • Series: E2
    • Machine type: e2-medium (2 vCPU, 4 GB memory)
  4. Klik Run Job untuk memulai pipeline.

  5. Proses ini akan memakan waktu sekitar 12 hingga 16 menit. Anda akan melihat Dataflow menjalankan berbagai tahap. Pertama, memulai worker dan menganalisis pipeline dari template. Kemudian, Dataflow akan membaca file manifes dan mulai memproses file CSV.

Catatan: Jika pipeline Anda gagal karena worker node tidak tersedia sehingga menyebabkan error, buat tugas baru dengan nama yang sama dari template yang sama, dimulai dari Langkah 4. Kali ini, pilih endpoint Regional lain di Amerika Serikat. Misalnya, jika Langkah 5 mencantumkan "us-east4" sebagai endpoint Regional, coba "us-east1" untuk percobaan kedua.

Tunggu hingga proses Dataflow selesai sebelum melanjutkan. Statusnya akan menjadi Succeeded setelah selesai.

  1. Kembali ke Spanner dengan memilihnya di menu kiri pada Konsol Cloud. Buka tabel Customer dan pilih Data. Anda akan melihat semua baris baru yang telah dimuat menggunakan Dataflow.

  2. Buka kembali halaman ringkasan banking-db. Di menu kiri, klik Spanner Studio dan jalankan perintah berikut untuk melihat jumlah total baris di tabel Customer:

SELECT COUNT(*) FROM Customer;

Dengan template Dataflow, Anda dapat memuat data berukuran besar dengan mudah (dan cepat). Anda dapat memuat dump dari database lain, dan memuat tidak hanya file CSV, tetapi juga file Avro dengan prosedur yang sama. Anda bahkan dapat menjalankan proses sebaliknya, yaitu menggunakan database Spanner sebagai sumber di Dataflow untuk mengekspor data ke format CSV atau Avro.

  1. Klik Periksa progres saya untuk memverifikasi tujuan.
Memuat data menggunakan Dataflow

Tugas 6. Mencadangkan database

Penggunaan Dataflow seperti yang dijelaskan di atas adalah cara untuk mencadangkan data. Namun, Spanner memiliki alat sendiri untuk pencadangan. Anda dapat mencadangkan database Spanner dari Konsol Cloud, library klien, atau perintah gcloud. Buka link untuk melihat dokumentasi masing-masing.

Di lab ini, Anda akan menggunakan Konsol Cloud untuk mencadangkan database.

  1. Pilih Backup/Restore dari menu kiri.

  2. Klik Create Backup.

  3. Masukkan atau pilih nilai berikut di wizard:

Item Nilai
Database Name banking-db
Backup Name banking-backup-001
Expiration Date 1 year



  1. Klik Create.

  2. Pencadangan perlu waktu sekitar 15 menit dan muncul di daftar Backups saat prosesnya berjalan.

Selamat

Anda kini memiliki pemahaman solid tentang berbagai cara untuk memuat data ke Instance Cloud Spanner dan melakukan pencadangan.

Sertifikasi dan pelatihan Google Cloud

...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.

Manual Terakhir Diperbarui: 16 September 2025

Lab Terakhir Diuji: 16 September 2025

Hak cipta 2026 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.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Menggunakan jendela Samaran atau browser pribadi adalah cara terbaik untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa, yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.