GSP1087

Ringkasan
AlloyDB untuk PostgreSQL adalah layanan database yang kompatibel dengan PostgreSQL dan terkelola sepenuhnya untuk workload database perusahaan Anda yang paling berat. AlloyDB menggabungkan fitur-fitur terbaik Google dengan salah satu mesin database open source terpopuler, PostgreSQL, untuk memberikan performa, skala, dan ketersediaan yang unggul.
Columnar Engine dapat secara signifikan meningkatkan kecepatan pemrosesan pemindaian, penggabungan, dan agregasi SQL oleh AlloyDB. Columnar Engine menyediakan fitur berikut: 1) penyimpanan kolom yang berisi data tabel untuk kolom yang dipilih, yang disusun ulang ke dalam format berorientasi kolom dan 2) mesin eksekusi dan perencana kueri berbasis kolom untuk mendukung penggunaan penyimpanan kolom dalam kueri.
Di lab ini, Anda akan mempelajari fitur Columnar Engine AlloyDB.
Yang akan Anda lakukan
Di lab ini, Anda akan mempelajari cara melakukan tugas berikut:
- Membuat Set Data Dasar Pengukuran untuk Menguji Columnar Engine
- Menjalankan Pengujian Dasar Pengukuran
- Memverifikasi Flag Database untuk Columnar Engine
- Menetapkan atau Memverifikasi Ekstensi Database untuk Columnar Engine
- Menguji Columnar Engine
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 Set Data Dasar Pengukuran untuk Menguji Columnar Engine
Di lingkungan lab ini, cluster dan instance AlloyDB disediakan saat Anda memulai lab.
- Di Konsol Google Cloud, klik Navigation menu
> View all products. Kemudian, di bagian Databases, pilih AlloyDB for PostgreSQL.
Di halaman AlloyDB, ada cluster bernama lab-cluster dan instance bernama lab-instance. Perlu waktu beberapa menit untuk membuat dan menginisialisasi instance sepenuhnya.
Tunggu hingga Anda melihat tanda centang hijau (status Siap) di samping instance bernama lab-instance di kolom Resource name sebelum Anda melanjutkan ke langkah berikutnya.
- Di baris untuk instance bernama lab-instance, di bagian Private IP address, salin Private IP address (seperti
10.100.0.2) ke file teks agar Anda dapat menempelkan nilai tersebut pada langkah berikutnya. Jangan sertakan titik dua dan nomor port (:5432).
Untuk mengevaluasi kemampuan Columnar Engine, Anda memerlukan set data berukuran besar untuk mengukur performa. Pada langkah berikutnya, Anda akan menggunakan alat PostgreSQL, yaitu pgbench, untuk membuat set data sintetis guna mengevaluasi Columnar Engine.
-
Dari Navigation menu (
), di bagian Compute Engine, klik VM instances.
-
Untuk instance bernama alloydb-client, di kolom Connect, klik SSH untuk membuka jendela terminal.
-
Tentukan variabel lingkungan berikut dengan mengganti ALLOYDB_ADDRESS dengan alamat Private IP instance AlloyDB.
export ALLOYDB=ALLOYDB_ADDRESS
- Jalankan perintah berikut untuk menyimpan alamat Private IP instance AlloyDB di VM klien AlloyDB agar tetap ada selama lab.
echo $ALLOYDB > alloydbip.txt
- Langkah pertama dalam menggunakan pgbench adalah membuat dan mengisi tabel sampel. Jalankan perintah berikut untuk membuat set empat tabel. Anda akan diminta memasukkan sandi pengguna postgres, yaitu Change3Me.
Tabel terbesar pgbench_accounts akan dimuat dengan 50 juta baris. Operasi ini membutuhkan waktu beberapa menit hingga selesai.
pgbench -h $ALLOYDB -U postgres -i -s 500 -F 90 -n postgres
dropping old tables...
NOTICE: table "pgbench_accounts" does not exist, skipping
NOTICE: table "pgbench_branches" does not exist, skipping
NOTICE: table "pgbench_history" does not exist, skipping
NOTICE: table "pgbench_tellers" does not exist, skipping
creating tables...
generating data (client-side)...
50000000 of 50000000 tuples (100%) done (elapsed 91.26 s, remaining 0.00 s)
creating primary keys...
done in 167.61 s (drop tables 0.00 s, create tables 0.01 s, client-side generate 93.16 s, primary keys 74.43 s).
- Buat koneksi ke klien psql dan jalankan kueri berikut untuk memverifikasi jumlah baris dalam tabel pgbench_accounts. Anda akan diminta memasukkan sandi pengguna postgres, yaitu Change3Me.
psql -h $ALLOYDB -U postgres
select count (*) from pgbench_accounts;
count
----------
50000000
(1 row)
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat set data dasar pengukuran
Tugas 2. Menjalankan Pengujian Dasar Pengukuran
Untuk tujuan evaluasi, Anda dapat menjalankan kueri yang sangat sederhana yang melakukan pemindaian berurutan, lalu menggunakan rencana kueri penjelasan untuk kueri tersebut sebelum dan setelah menambahkan tabel pengujian ke Columnar Engine.
- Kembali ke shell alloydb-client. Klien psql harus tetap aktif. Jika tidak, hubungkan kembali menggunakan petunjuk di Tugas 1. Jalankan kueri berikut untuk mengaktifkan pengaturan waktu untuk semua operasi kueri.
\timing on
- Selanjutnya, jalankan kueri berikut untuk mengevaluasi runtime. Kueri ini melakukan pemindaian berurutan pada seluruh tabel pgbench_accounts.
Catatan: Contoh kueri ini memiliki batas 20 baris yang ditampilkan karena ini untuk tujuan demonstrasi.
SELECT aid, bid, abalance FROM pgbench_accounts WHERE bid < 189 OR abalance > 100 LIMIT 20;
aid | bid | abalance
-----+-----+----------
1 | 1 | 0
2 | 1 | 0
3 | 1 | 0
4 | 1 | 0
5 | 1 | 0
6 | 1 | 0
7 | 1 | 0
8 | 1 | 0
9 | 1 | 0
10 | 1 | 0
11 | 1 | 0
12 | 1 | 0
13 | 1 | 0
14 | 1 | 0
15 | 1 | 0
16 | 1 | 0
17 | 1 | 0
18 | 1 | 0
19 | 1 | 0
20 | 1 | 0
(20 rows)
- Jalankan kueri berikut untuk membuat rencana penjelasan untuk kueri yang tidak dibatasi. Nilai Anda akan terlihat mirip dengan yang ada di contoh output, tetapi akan bervariasi karena pembuatan data bersifat acak.
Catatan: Anda mungkin harus menekan tombol spasi untuk melihat rencana penjelasan kueri berikutnya.
EXPLAIN (ANALYZE,COSTS,SETTINGS,BUFFERS,TIMING,SUMMARY,WAL,VERBOSE)
SELECT count(*) FROM pgbench_accounts WHERE bid < 189 OR abalance > 100;
QUERY PLAN
---------------------------------------------------------------------------------------------------------------
---------------------------------------------------
Finalize Aggregate (cost=1242226.53..1242226.54 rows=1 width=8) (actual time=11010.409..11014.083 rows=1 loop
s=1)
Output: count(*)
Buffers: shared hit=20921 read=888170
I/O Timings: read=19536.769
-> Gather (cost=1242226.32..1242226.53 rows=2 width=8) (actual time=11010.398..11014.075 rows=3 loops=1)
Output: (PARTIAL count(*))
Workers Planned: 2
Workers Launched: 2
Buffers: shared hit=20921 read=888170
I/O Timings: read=19536.769
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!! Section removed for pasting !!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Filter: ((pgbench_accounts.bid < 189) OR (pgbench_accounts.abalance > 100))
Rows Removed by Filter: 10400000
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!! Section removed for pasting !!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffers: shared hit=6
Planning Time: 0.117 ms
Execution Time: 11014.169 ms
(38 rows)
-
Pada hasilnya, perhatikan nilai Planning Time dan Execution Time. Dalam contoh output, Planning Time-nya adalah 0,117 milidetik dan Execution Time-nya adalah 11.014,169 milidetik atau 11,014 detik. Nilai Anda akan terlihat mirip dengan yang ada di contoh output, tetapi akan bervariasi karena pembuatan data bersifat acak.
-
Salin nilai Planning Time dan Execution Time dari kueri yang Anda jalankan ke file teks agar Anda dapat membandingkannya nanti dengan hasil setelah Columnar Engine diaktifkan. Anda juga dapat menyalin seluruh hasil rencana kueri ke file teks.
-
Tekan tombol Q untuk menutup rencana kueri.
Tugas 3. Memverifikasi Flag Database untuk Columnar Engine
Dalam tugas ini, Anda akan memeriksa flag database Columnar Engine di instance Anda.
-
Di Konsol Google Cloud, klik Navigation menu (
) > View all products. Kemudian, di bagian Databases, pilih AlloyDB for PostgreSQL.
-
Pada baris untuk instance bernama lab-instance, klik Actions (ikon dengan tiga titik vertikal), lalu klik Edit.
-
Luaskan bagian yang bernama Advanced Configuration Options.
-
Di bagian Flags, klik Add a database flag.
-
Klik Choose a flag untuk menjelajahi daftar flag yang tersedia guna mengetahui opsi yang didukung.
Perhatikan bahwa flag bernama google_columnar_engine.enabled sudah diaktifkan (status on). Anda tidak akan menambahkan flag ekstra sebagai bagian dari lab ini.
- Klik Cancel untuk keluar dari halaman instance Edit.
Tugas 4. Menetapkan atau Memverifikasi Ekstensi Database untuk Columnar Engine
Melanjutkan bagian sebelumnya, dalam tugas ini, Anda akan menyiapkan ekstensi database guna mengaktifkan fitur Columnar Engine sepenuhnya untuk cluster AlloyDB.
Tidak seperti mengonfigurasi flag, Anda harus terhubung ke instance melalui klien psql untuk mengaktifkan ekstensi database.
-
Kembali ke shell alloydb-client. Klien psql harus tetap aktif. Jika tidak, hubungkan kembali menggunakan petunjuk di Tugas 1.
-
Pastikan Anda terhubung ke database postgres dengan menjalankan kueri berikut.
\c postgres
- Jalankan kueri sistem berikut untuk melihat detail tentang ekstensi yang diaktifkan di database.
Catatan: Daftar ekstensi Anda mungkin berbeda.
\dx
List of installed extensions
Name | Version | Schema | Description
------------------------+---------+------------+---------------------------------------
google_columnar_engine | 1.0 | public | Google extension for columnar engine
google_db_advisor | 1.0 | public | Google extension for Database Advisor
hypopg | 1.3.2 | public | Hypothetical indexes for PostgreSQL
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
(4 rows)
- Jika google_columnar_engine muncul dalam daftar, lanjutkan ke tugas berikutnya (Tugas 5). Jika google_columnar_engine tidak muncul dalam daftar, jalankan perintah berikut.
CREATE EXTENSION IF NOT EXISTS google_columnar_engine;
- Jalankan kembali kueri ekstensi untuk mengonfirmasi bahwa ekstensi google_columnar_engine diaktifkan.
\dx
Tugas 5. Menguji Columnar Engine
Karena tabel utama Anda ( pgbench_accounts) relatif kecil, Anda dapat menambahkannya langsung ke Columnar Engine untuk evaluasi. Dalam deployment di dunia nyata, Anda akan menggunakan framework rekomendasi Columnar Engine untuk mengidentifikasi secara otomatis kolom yang paling banyak digunakan di semua tabel yang akan memberikan manfaat paling besar jika dikelola oleh mesin.
- Kembali ke shell alloydb-client. Jalankan kueri berikut untuk menambahkan pgbench_accounts ke columnar engine. Kueri ini membutuhkan waktu beberapa menit hingga selesai.
SELECT google_columnar_engine_add('pgbench_accounts');
- Selanjutnya, jalankan kueri rencana penjelasan yang sama seperti yang Anda lakukan sebelumnya untuk melihat efek Columnar Engine. Nilai Anda akan terlihat mirip dengan yang ada di contoh output, tetapi akan bervariasi karena pembuatan data bersifat acak.
EXPLAIN (ANALYZE,COSTS,SETTINGS,BUFFERS,TIMING,SUMMARY,WAL,VERBOSE)
SELECT count(*) FROM pgbench_accounts WHERE bid < 189 OR abalance > 100;
QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Finalize Aggregate (cost=142400.72..142400.73 rows=1 width=8) (actual time=75.948..78.680 rows=1 loops=1)
Output: count(*)
-> Gather (cost=142400.51..142400.72 rows=2 width=8) (actual time=71.555..78.667 rows=3 loops=1)
Output: (PARTIAL count(*))
Workers Planned: 2
Workers Launched: 2
-> Partial Aggregate (cost=141400.51..141400.52 rows=1 width=8) (actual time=45.768..45.771 rows=1 loops=3)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Section removed for pasting
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rows Removed by Columnar Filter: 10400000
Rows Aggregated by Columnar Scan: 4505600
Columnar cache search mode: native
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Section removed for pasting
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffers: shared hit=22 read=3 dirtied=1
I/O Timings: read=0.560
Planning Time: 2.022 ms
Execution Time: 78.804 ms
(29 rows)
-
Pada hasilnya, perhatikan nilai Planning Time dan Execution Time. Dalam contoh Pasca-Columnar Engine, Planning Time-nya adalah 2.022 milidetik dan Execution Time-nya adalah 78.804 milidetik. Nilai Anda akan terlihat mirip dengan yang ada di contoh output, tetapi akan bervariasi karena pembuatan data bersifat acak.
-
Dari contoh yang diberikan, perbedaan antara Execution Time (Waktu Eksekusi) Pra-Columnar Engine dan Pasca-Columnar Engine adalah 10.935,365 milidetik atau 10,9 detik. Hal itu merupakan penurunan 141 kali. Dalam contoh Pasca-Columnar Engine, perhatikan juga bahwa lebih dari 4,5 juta baris digabungkan menggunakan pemindaian berbasis kolom, bukan mesin database inti.
Klik Periksa progres saya untuk memverifikasi tujuan.
Menguji Columnar Engine
Catatan: Jika setelah menyelesaikan semua tugas dan skor Anda tidak sepenuhnya diperbarui, perluas kotak Checkpoint penilaian (sidebar kuning di sisi kanan halaman), lalu klik Periksa progres saya untuk setiap tugas agar skor diperbarui.
Selamat!
Anda telah mempelajari berbagai fitur canggih dari Columnar Engine AlloyDB.
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 pada 16 Januari 2025
Lab Terakhir Diuji pada 15 Desember 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.