Topik ini menjelaskan cara memberikan izin akses data kepada kelompok komputasi di Hologres.
Perhatian
-
Saat Anda membuat Table Group di compute group A, compute group A akan ditetapkan sebagai leader compute group default untuk Table Group tersebut.
-
Status memori disinkronkan antar compute group secara real-time pada tingkat milidetik. Saat Anda menulis data ke leader compute group, sistem secara otomatis menyinkronkan data dari memori leader compute group ke follower compute group. Proses ini menimbulkan overhead CPU dan memori yang kecil pada follower compute group. Konfigurasi antar compute group sebaiknya tidak berbeda secara signifikan; perbedaan lebih dari empat kali lipat tidak disarankan.
-
Hanya compute group default suatu instans yang dapat menulis data ke foreign tables.
-
Di Hologres V2.0, compute group mendukung tugas baca dan tulis data sebagai berikut:
-
Compute group yang telah memuat Table Group (suatu follower compute group) hanya dapat melakukan tugas baca pada tabel dalam Table Group tersebut dan tidak mendukung tugas tulis.
-
Compute group yang ditetapkan sebagai leader suatu Table Group (suatu leader compute group) dapat melakukan tugas baca dan tulis pada tabel dalam Table Group tersebut.
-
Compute group yang belum memuat Table Group tidak dapat membaca atau menulis data ke Table Group terkait.
-
-
Hologres V4.0 memiliki arsitektur instans compute group yang ditingkatkan. Fitur ini mendukung tugas baca dan tulis data sebagai berikut:
-
Anda harus mengaktifkan parameter Grand Unified Configuration (GUC)
hg_warehouse_enable_use_local_resource. Untuk informasi selengkapnya, lihat Parameter GUC. -
Anda dapat menjalankan tugas baca dan tulis yang tidak dioptimalkan oleh Fixed Plan tanpa memuat Table Group ke compute group.
-
Untuk informasi tentang tugas baca dan tulis yang dapat dioptimalkan oleh Fixed Plan, lihat Mempercepat eksekusi SQL dengan Fixed Plan.
-
Semua tugas tulis, seperti tulis real-time dan batch, tetap dapat diarahkan ke leader compute group untuk dieksekusi menggunakan fitur DML auto-routing.
-
|
Jenis Tugas / Jenis Compute Group |
Leader Compute Group |
Follower Compute Group |
Compute Group Lainnya |
|
Tulis real-time |
Dukungan |
Tidak didukung |
Tidak didukung |
|
Tulis batch |
Dukungan |
Didukung |
Didukung |
|
Kueri titik Key/Value, Prefixscan |
Dukungan |
Dukungan |
Tidak didukung |
|
Tugas baca lainnya |
Dukungan |
Dukungan |
Didukung |
Lihat izin akses Table Group untuk suatu compute group
-
Format perintah
Anda dapat menggunakan pernyataan SQL berikut untuk melihat izin Table Group untuk semua compute group dalam instans saat ini.
SELECT * FROM hologres.hg_warehouse_table_groups; -
Deskripsi
Tabel hg_warehouse_table_groups berisi kolom-kolom berikut:
Kolom
Tipe Data
Deskripsi
Contoh
warehouse_name
TEXT
Nama compute group.
init_warehouse
warehouse_id
INTEGER
ID compute group. ID ini bersifat unik.
1
database_name
TEXT
Nama database.
wh_demo
tablegroup_name
TEXT
Nama Table Group.
wh_demo_tg_default
leader
BOOLEAN
Menunjukkan apakah compute group tersebut merupakan leader compute group untuk Table Group.
t
replica_count
INTEGER
Jumlah replika.
1
Muat Table Group ke compute group (Tetapkan follower compute group untuk Table Group)
Memuat Table Group ke compute group menjadikan compute group tersebut sebagai follower compute group untuk Table Group tersebut.
-
Compute group hanya dapat mengoperasikan tabel dalam Table Group setelah Table Group tersebut dimuat ke compute group tersebut.
-
Untuk memuat Table Group ke compute group, Anda harus memiliki izin Superuser untuk instans tersebut.
-
Format perintah:
CALL hg_table_group_load_to_warehouse ('<database_name>.<table_group_name>', '<warehouse_name>', <replica_count>); -
Parameter:
Parameter
Tipe
Deskripsi
database_name
TEXT
Nama database.
table_group_name
TEXT
Nama Table Group.
warehouse_name
TEXT
Nama compute group tempat Anda ingin memuat Table Group.
replica_count
INTEGER
Jumlah replika. Nilai default adalah 1. Parameter ini opsional.
-
Contoh:
-- Muat table_group_1 di database db1 ke compute group warehouse_1 dengan satu replika. CALL hg_table_group_load_to_warehouse ('db1.table_group_1', 'warehouse_1'); -- Muat table_group_1 di database db1 ke compute group warehouse_1 dengan dua replika. CALL hg_table_group_load_to_warehouse ('db1.table_group_1', 'warehouse_1',2);
Tetapkan leader compute group untuk Table Group
-
Perhatian
-
Hanya leader compute group yang dapat melakukan operasi DML, seperti menulis data, pada tabel dalam Table Group.
-
Table Group hanya dapat memiliki satu leader compute group. Saat Anda mengubah leader compute group suatu Table Group, compute group leader baru harus di-restart. Harap pertimbangkan dampak potensial terhadap layanan Anda.
-
Untuk menetapkan leader compute group untuk Table Group, Anda harus memiliki izin Superuser untuk instans tersebut.
-
-
Format perintah
CALL hg_table_group_set_leader_warehouse ('<database_name>.<table_group_name>', '<warehouse_name>'); -
Parameter
Parameter
Tipe
Deskripsi
database_name
TEXT
Nama database.
table_group_name
TEXT
Nama Table Group.
warehouse_name
TEXT
Nama compute group yang akan ditetapkan sebagai leader.
Bongkar Table Group dari compute group
-
Perhatian
-
Untuk membongkar Table Group dari compute group, Anda harus memiliki izin Superuser untuk instans tersebut.
-
Anda tidak dapat membongkar Table Group dari leader compute group-nya. Anda harus terlebih dahulu mengubah leader compute group tersebut.
-
-
Format perintah
CALL hg_table_group_unload_from_warehouse ('<database_name>.<table_group_name>', '<warehouse_name>'); -
Parameter
Parameter
Type
Deskripsi
database_name
TEXT
Nama database.
table_group_name
TEXT
Nama Table Group.
warehouse_name
TEXT
Nama compute group tempat Anda ingin membongkar Table Group.
Ubah jumlah replika untuk Table Group yang dimuat di compute group
-
Untuk mengubah jumlah replika Table Group di compute group, Anda harus memiliki izin Superuser untuk instans tersebut.
-
Format perintah
CALL hg_table_group_set_warehouse_replica_count ('<database_name>.<table_group_name>', <replica_count>,'<warehouse_name>'); -
Parameter
Parameter
Tipe
Deskripsi
database_name
TEXT
Nama database.
table_group_name
TEXT
Nama Table Group.
replica_count
INTEGER
Jumlah replika.
warehouse_name
TEXT
Nama compute group tempat Anda ingin mengubah jumlah replika.
DML auto-routing untuk compute group (Beta)
-
Perhatian
Table Group hanya dapat memiliki satu leader compute group, dan hanya compute group leader tersebut yang dapat melakukan operasi DML pada Table Group. Mulai Hologres V2.2, Anda dapat secara otomatis mengarahkan operasi DML ke leader compute group Table Group. Saat fitur ini diaktifkan, tugas tulis secara otomatis menggunakan resource leader compute group untuk eksekusi. Namun, metrik seperti queries per second (QPS) untuk tugas tulis tetap dicatat pada follower compute group.
CatatanJika Anda mengaktifkan fitur transaksi campuran multi-DML, Anda tidak dapat menggunakan fitur DML auto-routing untuk compute group. Untuk informasi selengkapnya tentang fitur transaksi campuran multi-DML, lihat Kemampuan transaksi SQL.
-
Aktifkan atau nonaktifkan DML auto-routing untuk compute group
Anda dapat menggunakan parameter GUC berikut untuk mengaktifkan atau menonaktifkan DML auto-routing untuk compute group di tingkat session atau database.
CatatanParameter GUC untuk DML auto-routing untuk compute group,
hg_experimental_enable_warehouse_dml_auto_routing, diaktifkan secara default.-
Tingkat Sesi
-- Aktifkan DML auto-routing untuk compute group. SET hg_experimental_enable_warehouse_dml_auto_routing = ON; -- Nonaktifkan DML auto-routing untuk compute group. SET hg_experimental_enable_warehouse_dml_auto_routing = OFF; -
Tingkat Database
-- Aktifkan DML auto-routing untuk compute group. ALTER DATABASE <database_name> SET hg_experimental_enable_warehouse_dml_auto_routing = ON; -- Nonaktifkan DML auto-routing untuk compute group. ALTER DATABASE <database_name> SET hg_experimental_enable_warehouse_dml_auto_routing = OFF;Parameter
Parameter
Tipe
Deskripsi
database_name
TEXT
Nama database.
-
-
Contoh
-
Buka halaman developer HoloWeb. Untuk informasi selengkapnya, lihat Terhubung ke HoloWeb dan jalankan kueri.
-
Pada bilah menu di bagian atas halaman developer HoloWeb, klik Security Center.
-
Pada halaman Security Center, klik Virtual Warehouse Management di panel navigasi sebelah kiri.
-
Pada tab Virtual Warehouse Resource Management, klik Create Virtual Warehouse untuk menambahkan compute group bernama
read_wh1.CatatanAnda dapat membuat hingga 10 compute group untuk setiap instans. Resource untuk setiap compute group berkisar antara minimum 32 CUs hingga maksimum 512 CUs. Jika Anda memiliki kurang dari 32 CUs resource komputasi yang belum dialokasikan, Anda tidak dapat membuat compute group baru. Untuk menambah kapasitas resource Anda, lihat Scale up a compute group.

-
Pada tab Management on Permissions of Virtual Warehouses on Table Groups, klik Grant Permissions to Virtual Warehouse untuk menetapkan compute group
read_wh1sebagai follower compute group untuk Table Group target.CatatanUntuk informasi tentang cara membuat Table Group, lihat Manage Table Groups.

-
Pada SQL Editor, tetapkan compute group saat ini menjadi
read_wh1. Kemudian, jalankan pernyataan DML dengan DML auto-routing untuk compute group diaktifkan dan dinonaktifkan.-
Saat DML auto-routing untuk compute group diaktifkan, pernyataan DML secara otomatis diarahkan ke leader compute group Table Group (init_warehouse) untuk dieksekusi.

-
Saat DML auto-routing untuk compute group dinonaktifkan, pernyataan DML tidak diarahkan ke leader compute group Table Group (init_warehouse). Sebaliknya, pernyataan tersebut dieksekusi oleh compute group saat ini (read_wh1), sehingga terjadi error karena hanya leader compute group yang dapat melakukan operasi DML pada tabel dalam Table Group.

-
-