Topik ini menjelaskan cara memberikan gudang virtual izin untuk mengakses data.
Catatan penggunaan
Jika Anda menggunakan Gudang Virtual A untuk membuat kelompok tabel, Gudang Virtual A secara default menjadi gudang virtual utama dari kelompok tabel tersebut.
Status memori disinkronkan secara otomatis di seluruh gudang virtual dalam waktu nyata dalam hitungan milidetik. Saat menggunakan gudang virtual utama untuk menulis data, sistem secara otomatis menyinkronkan data di memori gudang virtual utama ke gudang virtual sekunder. Sejumlah kecil overhead CPU dan memori dihasilkan untuk gudang virtual sekunder. Kami merekomendasikan agar perbedaan spesifikasi antara gudang virtual tidak lebih dari empat kali.
Untuk menulis data ke tabel asing, Anda hanya dapat menggunakan gudang virtual default dari instance gudang virtual.
Dalam Hologres V2.0, dukungan gudang virtual untuk tugas baca/tulis adalah sebagai berikut:
Gudang virtual sekunder hanya dapat menangani pembacaan data pada kelompok tabel yang dimuat.
Gudang virtual utama dapat menangani pembacaan/penulisan pada kelompok tabel yang dimuat.
Gudang virtual tidak dapat membaca/menulis data pada kelompok tabel yang belum dimuat.
Setelah peningkatan arsitektur di Hologres V4.0, instance gudang virtual menawarkan dukungan tugas baca/tulis yang ditingkatkan:
Untuk memanfaatkan arsitektur yang ditingkatkan ini, aktifkan parameter GUC
hg_warehouse_enable_use_local_resource. Untuk informasi lebih lanjut, lihat Parameter GUC.Gudang virtual sekarang dapat melakukan tugas baca/tulis pada kelompok tabel yang belum dimuat, asalkan tugas-tugas ini tidak dioptimalkan oleh Fixed Plan.
Untuk tugas baca/tulis yang mendukung Fixed Plans, lihat Percepat Eksekusi Pernyataan SQL dengan Menggunakan Rencana Tetap.
Penulisan batch dan real-time dapat dirutekan secara otomatis ke gudang virtual utama untuk dieksekusi.
Tugas / Jenis gudang virtual | Gudang virtual utama | Gudang virtual sekunder | Gudang virtual lainnya |
Penulisan real-time | Didukung | Tidak didukung | Tidak didukung |
Penulisan batch | Didukung | Didukung (V4.0+) | Didukung (V4.0+) |
Kueri titik, PrefixScan | Didukung | Didukung | Tidak didukung |
Tugas baca lainnya | Didukung | Didukung | Didukung (V4.0+) |
Lihat izin pada kelompok tabel yang dimuat
Sintaksis
Eksekusi pernyataan SQL berikut untuk melihat izin pada semua kelompok tabel yang dimuat dalam instance terhubung:
SELECT * FROM hologres.hg_warehouse_table_groups;Bidang
Tabel berikut menjelaskan bidang dalam tabel hg_warehouse_table_groups.
Bidang
Tipe data
Deskripsi
Contoh
warehouse_name
TEXT
Nama gudang virtual.
init_warehouse
warehouse_id
INTEGER
ID unik gudang virtual.
1
database_name
TEXT
Nama database.
wh_demo
tablegroup_name
TEXT
Nama grup tabel.
wh_demo_tg_default
leader
BOOLEAN
Menentukan apakah gudang virtual adalah gudang virtual utama dari kelompok tabel.
t
replica_count
INTEGER
Jumlah replika.
1
Atur gudang virtual sekunder
Untuk mengatur gudang virtual sekunder untuk kelompok tabel, muat kelompok tabel ke gudang virtual.
Operasi pada shard dalam grup tabel hanya dapat dilakukan setelah grup tabel dimuat ke gudang virtual.
Hanya pengguna dengan peran superuser yang memiliki izin untuk memuat grup tabel ke gudang virtual.
Sintaksis
CALL hg_table_group_load_to_warehouse ('<database_name>.<table_group_name>', '<warehouse_name>', <replica_count>);Parameter
Parameter
Tipe data
Deskripsi
database_name
TEXT
Nama database.
table_group_name
TEXT
Nama grup tabel.
warehouse_name
TEXT
Nama gudang virtual tempat Anda ingin memuat grup tabel.
replica_count
INTEGER
Jumlah replika. Nilai default: 1. Parameter ini opsional.
Contoh
-- Muat grup tabel table_group_1 dalam database db1 ke gudang virtual warehouse_1 dan atur jumlah replika menjadi 1. CALL hg_table_group_load_to_warehouse ('db1.table_group_1', 'warehouse_1'); -- Muat grup tabel table_group_1 dalam database db1 ke gudang virtual warehouse_1, dan atur jumlah replika menjadi 2. CALL hg_table_group_load_to_warehouse ('db1.table_group_1', 'warehouse_1',2);
Konfigurasikan gudang virtual utama
Catatan Penggunaan
Operasi DML, seperti penulisan data, pada shard dalam kelompok tabel hanya dapat dilakukan dengan menggunakan gudang virtual utama dari kelompok tabel.
Hanya satu gudang virtual utama yang dapat dikonfigurasikan untuk kelompok tabel. Saat Anda mengubah gudang virtual utama dari kelompok tabel, gudang virtual utama akan di-restart. Perhatikan dampaknya pada bisnis Anda.
Hanya pengguna dengan peran superuser yang dapat mengonfigurasi gudang virtual utama untuk kelompok tabel.
Sintaksis
CALL hg_table_group_set_leader_warehouse ('<database_name>.<table_group_name>', '<warehouse_name>');Parameter
Parameter
Tipe data
Deskripsi
database_name
TEXT
Nama database.
table_group_name
TEXT
Nama grup tabel.
warehouse_name
TEXT
Nama gudang virtual yang ingin Anda konfigurasikan sebagai gudang virtual utama.
Unload a table group from a virtual warehouse
Catatan Penggunaan
Only users with the superuser role can unload a table group from a virtual warehouse.
Anda tidak dapat melepas kelompok tabel dari warehouse virtual utamanya. Untuk melepasnya, ubah warehouse virtual utama terlebih dahulu.
Sintaksis
CALL hg_table_group_unload_from_warehouse ('<database_name>.<table_group_name>', '<warehouse_name>');Parameter
Parameter
Tipe data
Deskripsi
database_name
TEXT
Nama database.
table_group_name
TEXT
Nama grup tabel.
warehouse_name
TEXT
The name of the virtual warehouse from which you want to unload a table group.
Modify the number of replicas for a loaded table group
Catatan Penggunaan
Hanya pengguna dengan peran superuser yang memiliki izin untuk mengubah jumlah replika untuk grup tabel yang dimuat ke gudang virtual.
Sintaksis
CALL hg_table_group_set_warehouse_replica_count ('<database_name>.<table_group_name>', <replica_count>,'<warehouse_name>');Parameter
Parameter
Tipe data
Deskripsi
database_name
TEXT
Nama database.
table_group_name
TEXT
Nama grup tabel.
replica_count
INTEGER
Jumlah replika.
warehouse_name
TEXT
Nama gudang virtual tempat grup tabel dimuat. Anda ingin mengubah jumlah replika untuk grup tabel.
Manage automatic routing of DML statements to the primary virtual warehouse (beta)
Catatan Penggunaan
Only one primary virtual warehouse can be configured for a table group. DML operations on a table group can be performed only by using the primary virtual warehouse of the table group. In Hologres V2.2 and later, DML statements are automatically routed to the primary virtual warehouse of the table group. After you enable this feature, the primary virtual warehouse is automatically used for data writes. However, metrics related to data writes, such as the queries per second (QPS), are calculated for secondary virtual warehouses.
CatatanSetelah mengaktifkan eksekusi beberapa pernyataan DML dalam satu transaksi, perutean otomatis pernyataan DML ke gudang virtual utama tidak didukung. Untuk informasi lebih lanjut tentang eksekusi beberapa pernyataan DML dalam satu transaksi, lihat kemampuan transaksi SQL.
Mengaktifkan atau menonaktifkan perutean otomatis pernyataan DML ke gudang virtual utama.
You can use the GUC parameter at the session or database level to specify whether to enable automatic routing of DML statements to the primary virtual warehouse.
CatatanBy default, the GUC parameter
hg_experimental_enable_warehouse_dml_auto_routingis set to ON.Tingkat Sesi
-- Enable automatic routing of DML statements to the primary virtual warehouse. SET hg_experimental_enable_warehouse_dml_auto_routing = ON; -- Disable automatic routing of DML statements to the primary virtual warehouse. SET hg_experimental_enable_warehouse_dml_auto_routing = OFF;Tingkat Database
-- Enable automatic routing of DML statements to the primary virtual warehouse. ALTER DATABASE <database_name> SET hg_experimental_enable_warehouse_dml_auto_routing = ON; -- Disable automatic routing of DML statements to the primary virtual warehouse. ALTER DATABASE <database_name> SET hg_experimental_enable_warehouse_dml_auto_routing = OFF;Parameter
Parameter
Tipe data
Deskripsi
database_name
TEXT
Nama metabase.
Contoh
Masuk ke konsol HoloWeb. Untuk informasi lebih lanjut, lihat Hubungkan ke HoloWeb dan Lakukan Query.
Di bilah navigasi atas, klik Security Center.
Di tab Security Center, klik Compute Group Management di panel navigasi sisi kiri.
On the Management on Resources in Virtual Warehouses tab, click Create Compute Group to create a virtual warehouse named
read_wh1.CatatanAnda dapat membuat hingga 10 gudang virtual dalam sebuah instance. Setiap gudang virtual dapat memiliki minimal 32 unit komputasi (CU) dan maksimal 512 CU. Jika jumlah sumber daya komputasi yang tersisa kurang dari 32 CU, Anda tidak dapat membuat gudang virtual. Untuk informasi lebih lanjut, lihat Perluas Gudang Virtual dalam topik "Kelola Gudang Virtual".

On the Management on Permissions of Virtual Warehouses on Table Groups tab, click Grant Permissions to Virtual Warehouse and configure the virtual warehouse
read_wh1as the secondary virtual warehouse of the table group.CatatanUntuk informasi lebih lanjut tentang cara membuat grup tabel, lihat Kelola Grup Tabel.

In the top navigation bar, click SQL Editor. Select
read_wh1from the Current Compute Group drop-down list. Then, execute DML statements when automatic routing of DML statements to the primary virtual warehouse is enabled or disabled.Saat perutean otomatis pernyataan DML ke gudang virtual utama diaktifkan, pernyataan DML secara otomatis dieksekusi pada gudang virtual utama init_warehouse dari kelompok tabel.

Saat perutean otomatis pernyataan DML ke gudang virtual utama dinonaktifkan, pernyataan DML dieksekusi pada gudang virtual saat ini read_wh1 dari kelompok tabel, bukan pada gudang virtual utama init_warehouse. Namun, hanya gudang virtual utama yang mendukung pernyataan DML pada shard dalam kelompok tabel. Akibatnya, pesan kesalahan dilaporkan.
