Topik ini menjelaskan perubahan perilaku default di setiap versi Hologres.
Nama parameter kompatibel ke belakang. Jika nama parameter diubah di versi yang lebih baru, nama asli parameter masih dapat digunakan. Namun, kami menyarankan Anda untuk menggunakan nama parameter baru.
V4.0 (September 2025)
November 2025
Indeks terbalik teks lengkap dan penulisan data real-time:
Sebelum V4.0.8: Pengindeksan terjadi secara konkuren dengan penulisan data.
V4.0.8 atau yang lebih baru: Indeks dalam memori direfresh setiap detik, memastikan penulisan yang efisien dan aksesibilitas data langsung melalui indeks.
Perilaku tabel dinamis untuk Hologres V4.0.7+:
Penyegaran dynamic tables mendukung resource virtual warehouse.
Resource default untuk penyegaran dynamic table telah berubah dibandingkan dengan V3.1, V3.2, dan V4.0.1–4.0.6. Untuk informasi selengkapnya, lihat Setel resource penyegaran untuk dynamic table.
September 2025
High-performance query channel: Instans Hologres V4.0+ kini secara default menggunakan Common Table untuk mengakses tabel eksternal MaxCompute. Metode baru ini memberikan peningkatan performa signifikan dan mendukung MaxCompute Delta Table serta Append 2.0 Table. Lihat Akses MaxCompute melalui tautan Common Table.
Segaritas data yang ditingkatkan: Mulai dari Hologres V4.0, saat Anda mengakses Hologres langsung dari MaxCompute, segaritas data default adalah 1 menit. Untuk mengubah segaritas data secara manual, gunakan perintah berikut:
-- Ubah segaritas di level DB ALTER DATABASE <database_name> set hg_create_table_snapshot_default_freshness_in_sec=xxx;Serverless compaction: Parameter
hg_serverless_computing_run_compaction_before_commit_bulk_loaddiaktifkan secara default untuk menjalankan compaction secara sinkron selama serverless bulk loads, sehingga mengurangi dampaknya terhadap resource instans. Lihat Gunakan Serverless Computing untuk compaction konkuren.Fleksibilitas format tabel DLF: Saat Anda menggunakan
CREATE EXTERNAL TABLEuntuk membuat tabel di Data Lake Formation (DLF), format tabel default (sebelumnya ORC) kini ditentukan secara dinamis oleh Paimon SDK. Lihat CREATE EXTERNAL TABLE.Proteksi memori PQE: Menerapkan proteksi memori tingkat node tunggal untuk mengeksekusi pernyataan SQL menggunakan PQE. Mekanisme ini akan melemparkan error OOM ketika kueri berpotensi memengaruhi stabilitas instans.
Eksekusi adaptif untuk Dynamic Tables: Di Hologres V4.0+, Dynamic Tables dalam mode full-refresh kini menggunakan eksekusi adaptif secara default. Ini mengurangi konsumsi puncak resource untuk workload besar dan meningkatkan stabilitas workload. Eksekusi adaptif memperkirakan konsumsi resource lebih akurat untuk menghemat biaya serta mengoptimalkan rencana kueri suboptimal di tengah eksekusi guna mencegah kegagalan akibat statistik yang tidak akurat.
V3.2 (Juli 2025)
Menambahkan kata kunci non-reserved seperti
Branch,Overwrite,Parameter, danTag; serta menambahkan kata kunci reserved sepertiLambdadanQualify. Untuk informasi tentang kata kunci, lihat PostgreSQL Key Words.Mulai dari Hologres V3.2, optimasi adaptif untuk CTE didukung. Strategi materialisasi CTE ditentukan oleh dua parameter GUC:
optimizer_cte_inliningdanhg_cte_strategy. Kedua parameter ini bersifat independen satu sama lain dan dapat diatur secara terpisah, terlepas dari urutan pengaturannya. Perilakunya sebagai berikut:Ketika
optimizer_cte_inlining = off, CTE akan digunakan ulang, terlepas dari pengaturanhg_cte_strategy.Ketika
optimizer_cte_inlining = on, CTE tidak lagi dipaksakan untuk di-inline. Kebijakan CTE ditentukan olehhg_cte_strategy:Jika
hg_cte_strategy = auto(default), Pengoptimal kueri (QO) secara otomatis memilih apakah akan melakukan inline atau menggunakan ulang CTE berdasarkan faktor-faktor seperti kompleksitasnya.Ketika
hg_cte_strategy = inlining, CTE dipaksakan untuk di-inline.Ketika
hg_cte_strategy = reuse, CTE dipaksakan untuk digunakan ulang.
V3.1 (Mei 2025)
Tabel dinamis:
Sintaksis
Mulai dari Hologres V3.1, tabel dinamis menggunakan sintaksis baru yang lebih ringkas. Setelah tabel dinamis yang dibuat di V3.0 ditingkatkan ke V3.1, hanya operasi ALTER yang dapat dilakukan pada tabel yang menggunakan penyegaran data penuh. Untuk membuat tabel baru, sintaksis baru di V3.1 harus digunakan. Untuk tabel yang menggunakan penyegaran data inkremental, Anda harus membuat ulang tabel menggunakan sintaksis baru. Untuk informasi lebih lanjut, lihat BUAT TABEL DINAMIS.
Penggunaan sumber daya
Sumber daya penyegaran
Tabel dinamis yang dibuat di Hologres V3.1 secara default menggunakan sumber daya komputasi tanpa server untuk menjalankan tugas. Jika instance saat ini tidak memiliki Komputasi Tanpa Server yang diaktifkan, maka akan otomatis kembali ke sumber daya instance. Tabel yang dibuat di Hologres V3.0 terus menggunakan sumber daya yang ditentukan saat pembuatan tabel. Informasi lebih lanjut dapat ditemukan di CREATE DYNAMIC TABLE.
Membuat tabel menggunakan sumber daya instance
Sintaksis baru (Hologres V3.1 dan V3.2): Gudang virtual utama untuk grup tabel basis dan tabel dinamis digunakan.
Sintaksis lama (Hologres V3.0) dan sintaksis baru (Hologres V4.1): Gudang virtual utama untuk grup tabel tabel dinamis digunakan.
Jumlah koneksi
Sintaksis baru meningkatkan stabilitas dan mengatur tugas lebih efisien dengan mempertahankan koneksi tambahan untuk setiap tabel dinamis. Jika instance Anda mengalami pemanfaatan koneksi tinggi dan berisi ratusan tabel dinamis, disarankan untuk menghapus koneksi idle untuk mengurangi potensi masalah.
Metode membaca data inkremental dari tabel dasar
Mulai dari Hologres V3.1 dan seterusnya, metode stream digunakan untuk mengidentifikasi perubahan data pada tabel dasar. Dibandingkan dengan pencatatan biner, metode stream memiliki performa lebih tinggi dan lebih hemat biaya. Setelah instance Anda ditingkatkan ke V3.1, metode stream digunakan secara default. Jika pencatatan biner diaktifkan untuk tabel Anda di V3.0, nonaktifkan pencatatan biner segera untuk menghindari biaya penyimpanan tambahan. Untuk informasi lebih lanjut, lihat Tabel dinamis.
Fitur antrian query telah menyelesaikan fase Beta dan tersedia untuk penggunaan produksi. Untuk informasi lebih lanjut, lihat Antrian query.
TRUNCATE kini merupakan pernyataan DML (bukan DDL lagi), sehingga mengurangi tekanan pada node FE. Untuk mengembalikan perilaku DDL, nonaktifkan parameter GUC
hg_enable_truncate_as_dml. Namun, ketika melakukan operasi TRUNCATE pada tabel yang memiliki binary logging diaktifkan, Anda perlu menonaktifkan binary logging pada tingkat sesi. Untuk informasi selengkapnya, lihat TRUNCATE.Ketika Anda mengimpor data ke tabel yang memiliki kunci primer menggunakan COPY, parameter GUC
hg_experimental_copy_enable_on_conflictdiaktifkan secara default. Ini memungkinkan Anda menetapkan kebijakan pembaruan data saat mengimpor data ke tabel dengan kunci primer. Untuk informasi selengkapnya, lihat COPY.Saat Anda menggunakan fitur
hg_insert_overwrite, jumlah kolom dan tipe data mereka yang ditentukan dalam pernyataan SQL (pernyataan SELECT standar) harus sesuai persis dengan tabel target (tabel internal Hologres). Jika tidak, pesan kesalahanerror: table "hg_alias" has x columns available but x columns specifiedatauerror: column xx is of type xxx but expression is of type xxxakan dilaporkan. Untuk informasi lebih lanjut, lihat INSERT OVERWRITE.Tabel sistem hg_table_storage_status diperbarui. Mulai dari Hologres V3.1, tabel sistem tidak lagi mencakup data tabel yang disimpan di memori (tabel memori). Sebagai gantinya, ia hanya mencerminkan penyimpanan fisik aktual tabel. Untuk informasi lebih lanjut tentang mekanisme tabel memori, lihat INSERT.
Menambahkan kata kunci non-reservasi:
async,logical,purge,recover,rebuild,resume, dansuspend. Lihat Kata Kunci PostgreSQL.
V3.0
April 2025
Mulai dari Hologres V3.0.33, batas atas sumber daya komputasi serverless yang tersedia untuk instance ditingkatkan dari 3 kali sumber daya komputasi eksklusif instance menjadi 5 kali. Batas atas tidak boleh melebihi 2.048 CU. Untuk informasi lebih lanjut, lihat Panduan pengguna tentang Komputasi Serverless.
Februari 2025
Mulai dari Hologres V3.0.23, pengguna tanpa izin yang diperlukan tidak dapat menanyakan metadata database, skema, dan tabel. Saat Anda menghubungkan alat BI atau alat lain ke instance Hologres, pesan yang menunjukkan tidak ada izin akan ditampilkan untuk akses tidak sah.
Mulai dari Hologres V3.0, pernyataan SQL yang berisi
LIMIT -1tidak didukung. Jika Anda mengeksekusi pernyataan SQL yang berisiLIMIT -1,ERROR: LIMIT must not be negativeakan dilaporkan.Mulai dari Hologres V3.0.19, untuk meningkatkan keamanan data, log biner tidak dapat dikonsumsi secara default untuk database yang memiliki masking data diaktifkan. Pesan kesalahan
Replication does not support hologres anon now, could choose to turn off hg_anon_enable for current userakan dilaporkan saat log biner dikonsumsi. Untuk mengizinkan pengguna mengonsumsi log biner, Anda harus menjalankan salah satu pernyataan berikut untuk menonaktifkan masking data untuk pengguna.PentingSistem memeriksa apakah konsumsi log biner diizinkan hanya berdasarkan pengaturan hg_anon_enable. Anda tidak dapat mengaktifkan konsumsi log biner dengan mengonfigurasi aturan masking data seperti
unmasked.-- Nonaktifkan masking data untuk pengguna. ALTER ROLE "<user>" SET hg_anon_enable = OFF; -- Nonaktifkan masking data di database tertentu untuk pengguna. ALTER ROLE "<user>" IN DATABASE <database> SET hg_anon_enable = OFF;
November 2024
Batas atas untuk jumlah kombinasi kondisi filter dalam rencana tetap adalah 500.000. Jika batas ini terlampaui, eksekusi akan menurun ke Hologres Query Engine (HQE). Deskripsi nilai dalam kondisi filter:
WHERE (pk1 = 1 AND pk2 = 1) OR (pk1 = 2 AND pk2 = 2) OR (pk1 = 3 AND pk2 = 3)-- Jumlah kombinasi dalam contoh ini adalah 3.
WHERE pk1 IN (1, 2, 3) AND pk2 IN (1,2,3)-- Jumlah kombinasi dalam contoh ini adalah 9. Rumus: 3 × 3 = 9.September 2024
Pratinjau publik fitur SQL Hint telah selesai, dan fitur ini dapat digunakan di lingkungan produksi. Secara default, fitur ini diaktifkan.
Di gudang metadata, dua catatan dihasilkan untuk operasi COPY, bukan satu catatan. Untuk informasi selengkapnya, lihat COPY.
Di Hologres V3.0.10 dan versi selanjutnya, jumlah maksimum unit komputasi (CU) untuk setiap gudang virtual dalam instans gudang virtual ditingkatkan dari 512 menjadi 1.024.
V2.2
Februari 2025
Mulai dari Hologres V2.2.38, untuk meningkatkan keamanan data, log biner tidak dapat dikonsumsi secara default untuk database yang memiliki masking data diaktifkan. Pesan kesalahan
Replication does not support hologres anon now, could choose to turn off hg_anon_enable for current userakan dilaporkan saat log biner dikonsumsi. Untuk mengizinkan pengguna mengonsumsi log biner, Anda harus menjalankan salah satu pernyataan berikut untuk menonaktifkan masking data untuk pengguna.PentingSistem memeriksa apakah konsumsi log biner diizinkan hanya berdasarkan pengaturan hg_anon_enable. Anda tidak dapat mengaktifkan konsumsi log biner dengan mengonfigurasi aturan masking data seperti
unmasked.-- Nonaktifkan masking data untuk pengguna. ALTER ROLE "<user>" SET hg_anon_enable = OFF; -- Nonaktifkan masking data di database tertentu untuk pengguna. ALTER ROLE "<user>" IN DATABASE <database> SET hg_anon_enable = OFF;
November 2024
Di Hologres V2.2.17 dan seterusnya, batasan 4 GB (default) diberlakukan pada ruang memori yang dapat digunakan oleh rencana eksekusi. Ini membantu mengurangi risiko sistem kehabisan memori (OOM). Jika kesalahan
"ORCA failed to produce a plan : Used memory size xxx MB exceeds maximum size 4096 MB"dilaporkan selama eksekusi pernyataan SQL, batas atas memori telah terlampaui. Kami menyarankan Anda menyederhanakan pernyataan SQL. Jika masalah tidak dapat diperbaiki dalam waktu singkat, Anda dapat menyesuaikan atau membatalkan batas dengan menggunakan pernyataan berikut:-- Sesuaikan atau batalkan batas. Jika Anda mengatur parameter ke 0, batas dibatalkan. ALTER DATABASE <database_name> SET hg_experimental_mp_allocated_size_limit_in_mb = 0;Di Hologres V2.2.25 dan seterusnya, saat Anda menskalakan gudang virtual, jumlah shard baca-saja yang dialokasikan untuk setiap pekerja tidak boleh melebihi 128. Ini mencegah sering terjadinya masalah seperti OOM. Jika jumlah shard yang dialokasikan untuk pekerja melebihi 128 setelah penskalaan, kesalahan
"The follower shard count per worker:xx should be less than or equal to the max follower shard"akan dilaporkan. Dalam hal ini, spesifikasi asli dipertahankan untuk gudang virtual. Anda dapat mengeksekusi pernyataan SQL berikut untuk menanyakan jumlah shard baca-saja yang dialokasikan untuk pekerja di gudang virtual tertentu di database saat ini. Jika instance memiliki beberapa database, tambahkan jumlah shard baca-saja di database tersebut.-- Tanyakan jumlah shard baca-saja yang dialokasikan untuk pekerja init_warehouse di database saat ini. SELECT w.worker_id, count(*) AS cnt FROM hologres.hg_warehouse_table_groups t, hologres.hg_worker_info w WHERE t.warehouse_id = w.warehouse_id AND w.table_group_name = t.tablegroup_name AND t.leader = FALSE AND w.warehouse_name = 'init_warehouse' GROUP BY w.worker_id;
V2.2 (Juli 2024)
Saat Java Database Connectivity (JDBC) digunakan untuk mengonsumsi log biner Hologres, jumlah maksimum walsender yang tersedia untuk pekerja berkurang dari 1.000 menjadi 600. Jumlah walsender dihitung berdasarkan jumlah slot. Untuk informasi lebih lanjut, lihat Gunakan JDBC untuk mengonsumsi log biner Hologres. Kami menyarankan Anda menggunakan mode jdbc_fixed untuk mengonsumsi log biner Hologres. Dibandingkan dengan konsumsi log dalam mode JDBC, konsumsi log dalam mode jdbc_fixed tidak menghabiskan koneksi dan tidak tunduk pada batasan jumlah walsender. Untuk informasi lebih lanjut tentang mode jdbc_fixed, lihat Konektor Hologres.
V2.2 (Juni 2024)
Di Hologres V2.2 dan seterusnya, kemampuan dasar untuk mengumpulkan log kueri lambat ditingkatkan secara otomatis untuk memungkinkan Hologres mencatat lebih banyak informasi tentang kueri lambat. Ini memungkinkan personel bisnis melakukan manajemen berbasis fine-grained berdasarkan status kueri yang dilakukan pada instance Hologres. Untuk informasi lebih lanjut tentang log kueri lambat, lihat Kueri dan analisis log kueri lambat. Pengumpulan log kueri lambat ditingkatkan dalam aspek berikut:
Kueri yang gagal karena penyebab seperti sintaks tidak valid, kegagalan parsing rencana, dan izin tidak cukup dicatat. Kueri ini tidak dicatat di versi sebelum Hologres V2.2. Kami menyarankan Anda menggunakan fitur Diagnosis SQL untuk mengelola kueri yang gagal.
Jika transaksi berisi beberapa pernyataan bahasa definisi data (DDL), seperti
BEGIN; DROP TABLE xxx; COMMIT;, seluruh transaksi dicatat sebagai satu catatan kueri dalam log kueri lambat. Namun, metrik Query QPS menghitung transaksi sebagai beberapa pernyataan DDL. Contoh:-- Memulai kueri yang berisi beberapa pernyataan DDL dalam transaksi. BEGIN; DROP TABLE xxx;-- Eksekusi berhasil. CREATE TABLE xxx -- Eksekusi gagal. ROLLBACK;Kode sampel berikut menunjukkan hasil dalam log kueri lambat:
query_id | status | Query ---------|---------|------------ xxxx | FAILED |begin;drop table ;create table;rollback;Kode sampel berikut menunjukkan hasil dalam sistem pemantauan:
Query QPS: 4 records Failed Query QPS: 1 record
V2.2 (Mei 2024)
Di Hologres V2.2 dan seterusnya, properti tabel yang dikembalikan oleh
hg_dump_scriptditampilkan dalam sintaks WITH alih-alih sintaks CALL. Ini membantu meningkatkan kenyamanan dan keterbacaan pernyataan CREATE TABLE. Untuk informasi lebih lanjut, lihat bagian "Kueri skema tabel" dalam Ikhtisar.Di Hologres V2.2.7 dan seterusnya, nilai default diubah dari 1 detik menjadi 100 milidetik. Setelah perubahan, log kueri lambat mencatat pernyataan SQL yang membutuhkan waktu lebih dari 100 milidetik alih-alih 1 detik. Pernyataan SQL termasuk pernyataan INSERT, SELECT, UPDATE, dan DELETE. Untuk informasi lebih lanjut, lihat Kueri dan analisis log kueri lambat.
Di Hologres V2.2.9 dan seterusnya, hasil yang dikembalikan oleh kueri titik pasangan kunci-nilai menggunakan rencana tetap tidak diurutkan berdasarkan kunci utama dalam klausa WHERE.
V2.2 (April 2024)
Di Hologres V2.2 dan seterusnya, peran terkait layanan digunakan secara default untuk Hologres mengakses MaxCompute menggunakan tabel asing. Saat Anda membeli instance Hologres atau meningkatkan instance Hologres Anda ke V2.2 atau lebih baru, Anda harus membuat peran terkait layanan dan memberikan izin ke peran terkait layanan. Peran terkait layanan adalah peran RAM yang entitas tepercayanya adalah layanan Alibaba Cloud. Peran terkait layanan dapat menerapkan akses otorisasi lintas layanan Alibaba Cloud. Peran terkait layanan membantu Anda lebih baik mengonfigurasi izin yang diperlukan untuk mengakses layanan Alibaba Cloud dan mencegah risiko yang disebabkan oleh kesalahan operasi. Untuk informasi lebih lanjut, lihat Peran terkait layanan untuk Hologres.
Di Hologres V2.2 dan seterusnya, kebijakan optimiser default diubah dari
exhaustivemenjadiexhaustive2. Dalam kebanyakan kasus, perubahan ini meningkatkan performa sebesar 20% hingga 40%. Namun, dalam kueri yang melibatkan operasileft outer join, rencana eksekusi mungkin tidak optimal, dan penggunaan memori untuk pekerjaan tertentu meningkat. Dalam hal ini, Anda dapat secara manual mengeksekusi pernyataanset optimizer_join_order = 'exhaustive';untuk mengubah kebijakan optimiser menjadi exhaustive.Di Hologres V2.2 dan versi selanjutnya, nilai Engine Type untuk proses yang menggunakan rencana tetap diubah dari SDK menjadi FixedQE dalam log kueri lambat. Hal ini memastikan konsistensi penamaan dalam log kueri lambat dan metrik.
Di Hologres V2.2 dan versi selanjutnya, jumlah koneksi ke node FE ditingkatkan dari 128 menjadi 256. Jumlah total koneksi menjadi dua kali lipat. Untuk informasi selengkapnya, lihat Manajemen instans.
INSERT OVERWRITE dan fungsi BSI kini tersedia secara umum.
Di Hologres V2.2 dan versi selanjutnya, pernyataan
SELECT hg_dump_script()mengembalikan properti pembuatan tabel dengan sintaksis WITH, bukan sintaksis CALL. Perubahan ini meningkatkan kenyamanan dan keterbacaan pembuatan tabel. Untuk informasi selengkapnya, lihat Lihat skema tabel.
V2.1 (Juni 2024)
Di Hologres V2.1.27 dan seterusnya, jika Anda menggunakan Realtime Compute for Apache Flink yang menggunakan VVR 8.0.7 atau lebih baru untuk mengonsumsi log biner Hologres, mode JDBC secara otomatis ditingkatkan ke mode jdbc_fixed. Dibandingkan dengan kueri dalam mode JDBC, kueri dalam mode jdbc_fixed tidak mengonsumsi koneksi, dan performa kueri tidak dibatasi oleh jumlah maksimum walsender. Untuk informasi lebih lanjut tentang mode jdbc_fixed, lihat Konektor Hologres. Untuk informasi lebih lanjut tentang mode JDBC, lihat Gunakan JDBC untuk mengonsumsi log biner Hologres.
V2.1 (Maret 2024)
Saat menggunakan Realtime Compute for Apache Flink untuk mengonsumsi log biner Hologres, mode HoloHub tidak lagi didukung, sehingga konfigurasi 'sdkMode'='holohub' menjadi tidak valid. Hanya mode Java Database Connectivity (JDBC) yang didukung karena lebih stabil dibandingkan mode HoloHub dan mendukung lebih banyak tipe data. Sebelum meningkatkan instance Hologres Anda ke V2.1, terapkan salah satu solusi berikut untuk memeriksa penyebaran Realtime Compute for Apache Flink dan instance Hologres Anda, serta memastikan bahwa penyebaran Realtime Compute for Apache Flink dapat berfungsi sesuai harapan. Untuk informasi lebih lanjut, lihat Gunakan JDBC untuk mengonsumsi log biner Hologres.
Solusi 1: Direkomendasikan. Tingkatkan versi VVR Realtime Compute for Apache Flink ke 8.0.7 atau lebih baru, lalu tingkatkan instance Hologres Anda. Dalam hal ini, Realtime Compute for Apache Flink secara otomatis mengubah mode HoloHub menjadi mode JDBC.
Solusi 2: Tingkatkan versi VVR Realtime Compute for Apache Flink ke versi antara 6.0.7 hingga 8.0.5, tambahkan konfigurasi
'sdkMode'='jdbc'untuk tabel sumber Realtime Compute for Apache Flink, lalu mulai ulang penyebaran. Berikan satu set izin berikut ke akun pengguna yang digunakan untuk masuk ke instance Hologres. Setelah Anda memastikan bahwa penyebaran berjalan dengan baik, tingkatkan instance Hologres Anda.Izin superuser pada instance Hologres
Izin pemilik tabel, izin CREATE DATABASE, dan izin peran replikasi instance Hologres
Solusi 3: Tidak direkomendasikan. Tingkatkan versi VVR Realtime Compute for Apache Flink ke 8.0.6, lalu tingkatkan instance Hologres Anda. Dalam hal ini, Realtime Compute for Apache Flink secara otomatis mengubah mode HoloHub menjadi mode JDBC. Realtime Compute for Apache Flink yang menggunakan VVR 8.0.6 memiliki cacat yang diketahui. Jika tabel dimensi berisi jumlah bidang yang berlebihan, draft Realtime Compute for Apache Flink berbasis VVR gagal diterapkan karena timeout. Untuk informasi lebih lanjut, lihat bagian "Catatan rilis konektor Hologres" dalam Ikhtisar.
Opsional. Jika Anda memiliki sejumlah besar penyebaran Realtime Compute for Apache Flink berbasis VVR, Anda dapat memperoleh informasi tentang penyebaran dan tabel dengan mengikuti petunjuk di Gunakan Realtime Compute for Apache Flink atau Blink untuk mengonsumsi log biner Hologres secara real-time.
V2.1 (Februari 2024)
Di Hologres V2.1.19, perkalian dan pembagian data tipe DECIMAL telah diperbaiki. Di versi sebelum V2.1.19, maksimal 18 tempat desimal didukung untuk operasi dasar pada data tipe DECIMAL. Jika hasil perhitungan memiliki lebih dari 18 tempat desimal setelah perkalian atau pembagian, data akan dipotong sebelum perhitungan dilakukan. Akibatnya, hasil perhitungan menjadi tidak valid.
Sebagai contoh, operasi perkalian dilakukan pada dua nilai desimal. Total jumlah digit sebelum dan sesudah titik desimal (precision_ans) dan jumlah tempat desimal (scale_ans) dalam hasil perkalian dua nilai desimal dihitung menggunakan rumus berikut:
precision_ans = precision_l + precision_r
scale_ans = scale_l + scale_rJika nilai scale_ans lebih besar dari 18, hanya 18 tempat desimal yang disimpan. Nilai desimal yang digunakan untuk perkalian dipotong ke jumlah tempat desimal tertentu berdasarkan aturan berikut:
Jika
scale_l ≤ 9, nilai desimal terkait tidak dipotong, dan jumlah tempat desimal untuk nilai desimal dalam operasi perkalian adalahscale_l.Jika
scale_l > 9, nilai desimal terkait dipotong ke jumlah tempat desimal yang dikembalikan olehmax(9,18-scale_r).Jika
scale_r ≤ 9, nilai desimal terkait tidak dipotong, dan jumlah tempat desimal untuk nilai desimal dalam operasi perkalian adalahscale_r.Jika
scale_r > 9, nilai desimal terkait dipotong ke jumlah tempat desimal yang dikembalikan olehmax(9,18-scale_l).
Kode sampel berikut memberikan contoh:
CREATE TABLE t (a DECIMAL(30,10), b DECIMAL(30,10));
INSERT INTO t VALUES (1.1111111111, 1.0000000000),(1.1111111112, 1.0000000000);
SELECT a, b , a*b FROM t;Di versi sebelum V2.1.19, jika pengali memiliki lebih dari 9 tempat desimal yang valid, pengali dipotong ke jumlah tempat desimal tertentu, yang memengaruhi presisi secara negatif. Akibatnya, hasil perhitungan menjadi tidak valid.
-- Hasil perhitungan di Hologres tidak valid. 1.1111111111, 1.0000000000,1.111111111000000000 1.1111111112, 1.0000000000,1.111111111000000000 -- Hasil perhitungan di PostgreSQL valid. 1.1111111111, 1.0000000000,1.111111111100000000 1.1111111112, 1.0000000000,1.111111111200000000Di Hologres V2.1.19 dan seterusnya, masalah ini diperbaiki. Operasi perkalian dilakukan pada nilai desimal asli, lalu hasil perkalian dipotong ke jumlah tempat desimal tertentu. Ini memastikan hasil yang akurat.
-- Hasil perhitungan valid. 1.1111111111, 1.0000000000,1.111111111100000000 1.1111111112, 1.0000000000,1.111111111200000000
V2.1 (Oktober 2023)
Fitur spesifik dioptimalkan.
Di Hologres V2.1.12 dan seterusnya, jika Anda menggunakan fitur rencana tetap untuk menulis data ke kolom tipe DECIMAL, presisi tidak ditentukan, dan presisi data sumber lebih tinggi daripada kolom tujuan, Hologres membulatkan data sumber berdasarkan presisi kolom tujuan. Di Hologres V2.1.11 dan sebelumnya, Hologres memotong data sumber berdasarkan presisi kolom tujuan. Pernyataan berikut memberikan contoh.
CatatanDi Hologres V2.1.12 dan seterusnya, prosesnya sama terlepas dari apakah fitur rencana tetap digunakan atau tidak.
CREATE TABLE fixed_plan_decimal (col DECIMAL(3,2)); -- Di Hologres V2.1.12 dan seterusnya, data 2.56 ditulis. Di versi sebelum V2.1.12, data 2.55 ditulis. INSERT INTO fixed_plan_decimal VALUES (2.555); -- Di semua versi Hologres, data 2.55 ditulis. INSERT INTO fixed_plan_decimal VALUES (2.554);Peta Data, alur data, dan Enkripsi Transmisi telah menyelesaikan fase Beta dan kini tersedia secara umum.
Persyaratan izin untuk mengonsumsi Binlog Hologres telah diperbarui sehingga hanya memerlukan izin baca pada tabel target. Untuk informasi selengkapnya, lihat Gunakan JDBC untuk mengonsumsi log biner Hologres.
Jika Anda menggunakan Bulkload untuk mengimpor data ke tabel internal Hologres yang tidak memiliki kunci distribusi, performa impor mungkin menurun.
Di Hologres V2.1 dan versi selanjutnya, sintaksis
CREATE TABLE WITH PROPERTYdidukung untuk menyederhanakan konfigurasi properti tabel. Untuk informasi selengkapnya, lihat CREATE TABLE.Di Hologres V2.1 dan seterusnya, kebijakan kompaksi untuk operasi DELETE dan UPDATE dimodifikasi. Setelah modifikasi, file bertanda tempat operasi DELETE dilakukan diklaim kembali secara tepat waktu. Dalam skenario di mana operasi DELETE dan UPDATE sering dilakukan pada tabel berorientasi kolom, ruang penyimpanan mungkin berkurang dan performa kueri mungkin meningkat. Setelah Anda meningkatkan instance Hologres Anda ke V2.1 atau lebih baru, file kecil historis dikompaksi di latar belakang dan sejumlah besar sumber daya CPU dikonsumsi. Kompaksi mungkin memakan waktu lebih dari 10 menit atau bahkan beberapa jam, tergantung pada ukuran file kecil.
Di Hologres V2.1 dan seterusnya, mekanisme ditambahkan untuk memeriksa apakah semua kolom yang ditentukan dalam
CONFLICTdalam sintaksINSERT INTO <table_name> ON CONFLICT(<col_name>,...) DOadalah kolom kunci utama. Jika ada kolom yang bukan kolom kunci utama, eksekusi pernyataan SQL gagal. Untuk informasi lebih lanjut, lihat INSERT ON CONFLICT(UPSERT).Di Hologres V2.1 dan seterusnya, ekstensi
dlf_fdwdibuat secara default untuk Anda mengakses danau data menggunakan tabel asing. Anda tidak perlu membuat ekstensidlf_fdwsecara manual. Parameterdlf_regiontidak perlu ditentukan saat Anda membuat server asing. Hanya parameterdlf_endpoint,oss_endpoint, dandlf_catalogyang perlu ditentukan. Verifikasi format ditambahkan untuk parameterdlf_endpointdanoss_endpointuntuk mencegah kesalahan. Persyaratan format:dlf_endpoint:
dlf-share.<nation>-<region>.aliyuncs.comoss_endpoint:
OSS bucket:
oss-<nation>-<region>-internal.aliyuncs.comOSS-HDFS bucket:
oss-<nation>-<region>.oss-dls.aliyuncs.com
Kata kunci berikut digunakan sebagai kata kunci non-reserved:
system_time,proctime, dandynamic. Anda tidak dapat menggunakan kata kunci non-reserved sebagai nama kolom dalam pernyataan SQL, dan hanya dapat menggunakannya sebagai alias. Anda harus menggunakan kata kunci non-reserved setelahAS. Contoh pernyataan:-- Di Hologres V2.0 dan sebelumnya, ketiga kata kunci dapat digunakan sebagai nama kolom atau alias dalam pernyataan SQL. SELECT xxxx SYSTEM_TIME FROM t; SELECT xxxx AS SYSTEM_TIME FROM t; -- Di Hologres V2.1 dan seterusnya, ketiga kata kunci hanya dapat digunakan sebagai alias dalam pernyataan SQL. SELECT xxxx AS SYSTEM_TIME FROM t;
V2.0 (Juni 2023)
Fitur spesifik dioptimalkan.
Saat Anda menggunakan Realtime Compute for Apache Flink untuk mengonsumsi log biner Hologres, mode JDBC didukung. Mode HoloHub yang ditentukan oleh konfigurasi 'sdkMode'='holohub' akan dihentikan secara bertahap. Mode JDBC lebih stabil daripada mode HoloHub dan mendukung lebih banyak tipe data. Sebelum Anda meningkatkan instance Hologres Anda ke V2.0, gunakan salah satu solusi berikut untuk memeriksa penyebaran Realtime Compute for Apache Flink dan instance Hologres Anda serta memastikan bahwa penyebaran Realtime Compute for Apache Flink dapat berjalan seperti yang diharapkan. Untuk informasi lebih lanjut, lihat Gunakan JDBC untuk mengonsumsi log biner Hologres.
Solusi 1: Direkomendasikan. Tingkatkan versi VVR Realtime Compute for Apache Flink ke 8.0.6 atau lebih baru, lalu tingkatkan instance Hologres Anda. Dalam hal ini, Realtime Compute for Apache Flink secara otomatis mengubah mode HoloHub menjadi mode JDBC. Realtime Compute for Apache Flink yang menggunakan VVR 8.0.6 memiliki cacat yang diketahui. Jika tabel dimensi berisi jumlah bidang yang berlebihan, draft Realtime Compute for Apache Flink berbasis VVR gagal diterapkan karena timeout. Untuk informasi lebih lanjut, lihat bagian "Catatan rilis konektor Hologres" dalam Ikhtisar. Kami menyarankan Anda meningkatkan versi VVR Realtime Compute for Apache Flink ke 8.0.7.
Solusi 2: Tingkatkan versi VVR Realtime Compute for Apache Flink ke 8.0.4 atau 8.0.5 dan mulai ulang penyebaran. Berikan satu set izin berikut ke akun pengguna yang digunakan untuk masuk ke instance Hologres. Setelah Anda memastikan bahwa penyebaran berjalan dengan baik, tingkatkan instance Hologres Anda.
Izin superuser pada instance Hologres
Izin pemilik tabel, izin CREATE DATABASE, dan izin peran replikasi instance Hologres
Solusi 3: Tingkatkan versi VVR Realtime Compute for Apache Flink ke versi antara 6.0.7 hingga 8.0.3, lalu tingkatkan instance Hologres Anda. Dalam hal ini, Realtime Compute for Apache Flink masih menggunakan mode HoloHub untuk mengonsumsi log biner Hologres.
Mode panggilan prosedur jarak jauh (RPC) yang ditentukan oleh konfigurasi
'sdkMode'='rpc'atau'rpcMode'='true'tidak lagi didukung oleh tabel dimensi dan tabel hasil Realtime Compute for Apache Flink. Mode JDBC digunakan sebagai gantinya. Sebelum Anda meningkatkan instance Hologres Anda ke V2.0, lakukan operasi berikut untuk memeriksa penyebaran Realtime Compute for Apache Flink dan instance Hologres Anda serta memastikan bahwa penyebaran Realtime Compute for Apache Flink dapat berjalan seperti yang diharapkan. Untuk informasi lebih lanjut, lihat Konektor Hologres.Jika versi VVR Realtime Compute for Apache Flink adalah 6.0.7 atau lebih baru, sistem secara otomatis mengubah mode RPC menjadi mode JDBC. Tidak diperlukan operasi.
Jika versi VVR Realtime Compute for Apache Flink adalah dari 6.0.3 hingga 6.0.6, ubah konfigurasi
'sdkMode'='rpc'menjadi'sdkMode'='jdbc'atau ubah konfigurasi'rpcMode'='true'menjadi'rpcMode'='false'untuk penyebaran Realtime Compute for Apache Flink.Jika versi VVR Realtime Compute for Apache Flink adalah 6.0.2 atau sebelumnya, ubah konfigurasi
'rpcMode'='true'menjadi'rpcMode'='false'untuk penyebaran Realtime Compute for Apache Flink.Jika koneksi ke instance Hologres Anda tidak mencukupi, kami menyarankan Anda mengonfigurasi parameter
connectionPoolNameuntuk berbagi koneksi dalam kumpulan koneksi. Anda juga dapat meningkatkan versi VVR Realtime Compute for Apache Flink ke 6.0.7 atau lebih baru dan menggunakan konfigurasi'sdkMode'='jdbc_fixed'. Dalam hal ini, tidak ada koneksi yang digunakan.Mode RPC tidak menghapus duplikat data dengan kunci utama yang sama dalam batch yang sama. Mode JDBC secara otomatis menghapus duplikat data. Jika Anda perlu mempertahankan data lengkap dalam skenario bisnis, gunakan konfigurasi
'jdbcWriteBatchSize'='1'untuk mencegah penghapusan duplikat.
Di Hologres V2.0 dan seterusnya, Anda tidak dapat menggunakan Blink untuk melakukan kueri titik waktu nyata pada data di Hologres atau menulis data ke Hologres. Kami menyarankan Anda memigrasikan penyebaran Blink Anda ke Realtime Compute for Apache Flink sebelum Anda meningkatkan instance Hologres Anda.
V2.0 (April 2023)
Fitur spesifik dioptimalkan.
Pada Hologres V2.0 dan versi berikutnya, data dalam format segmen tidak dapat disimpan menggunakan mode penyimpanan kolom. Instance Hologres yang berisi data dalam format segmen tidak dapat ditingkatkan ke versi V2.0 atau lebih baru. Anda dapat menggunakan fungsi hg_convert_segment_orc untuk mengonversi beberapa tabel dalam format segmen menjadi tabel dalam format Optimized Row Columnar (ORC) secara bersamaan. Untuk informasi lebih lanjut, lihat Perbarui format penyimpanan data tabel kolom yang ada.
Batas atas diberlakukan pada jumlah shard untuk grup tabel atau instance. Ini membantu mencegah pemborosan sumber daya yang disebabkan oleh penyalahgunaan grup tabel. Untuk informasi lebih lanjut, lihat Panduan pengguna grup tabel dan jumlah shard.
Data ditulis ke DataHub menggunakan mode JDBC, yang lebih stabil dibandingkan mode SDK dan mendukung lebih banyak tipe data.
Secara default, ekstensi log biner dikonfigurasi. Saat Anda mengonsumsi data log biner dalam mode JDBC, Anda tidak perlu membuat ekstensi log biner. Jika Anda mengonsumsi data log biner dalam mode JDBC, jumlah maksimum walsender yang dapat digunakan meningkat 10 kali lipat. Untuk instance yang dikonfigurasi dengan 32 core CPU, jumlah maksimum walsender meningkat dari 200 menjadi 2.000. Walsender dihitung sebagai slot. Untuk informasi lebih lanjut, lihat Gunakan JDBC untuk mengonsumsi log biner Hologres.
Setelah meningkatkan instance Hologres, fitur auto-analyze akan memproses tabel yang belum memiliki informasi statistik. Proses ini menggunakan sumber daya CPU dan dapat memakan waktu beberapa menit hingga beberapa jam, tergantung pada jumlah tabel yang belum dikumpulkan statistiknya.
Pratinjau publik untuk fitur pencadangan dan pemulihan serta fitur penyimpanan bertingkat telah selesai, dan fitur-fitur tersebut kini dapat digunakan di lingkungan produksi.
Pratinjau publik fitur replikasi tingkat shard telah selesai, dan fitur tersebut kini tersedia untuk digunakan di lingkungan produksi. Untuk informasi lebih lanjut, lihat Replikasi tingkat shard untuk throughput tinggi.
Parameter yang menentukan properti tabel telah distandarisasi. Sintaks untuk mengonfigurasi properti tabel berubah jika nama kolom mengandung huruf kapital. Untuk detail lebih lanjut, lihat CREATE TABLE. Nilai auto tidak didukung untuk properti bitmap_columns. Perubahan ini tidak memengaruhi penggunaan tabel yang sudah ada.
Fungsi HG_CREATE_TABLE_LIKE dapat mewarisi indeks yang telah dibuat, kolom dengan tipe data SERIAL, serta kolom tempat indeks vektor proxima dibuat.
V1.3 (Juni 2023)
Mulai Hologres V1.3.53, jumlah replika harus kurang dari atau sama dengan jumlah pekerja. Untuk informasi lebih lanjut, lihat Replikasi tingkat shard untuk throughput tinggi (Beta).
Hasil komputasi fungsi Avg telah dioptimalkan. Pada versi Hologres sebelum V1.3, fungsi Avg mengembalikan hasil hingga maksimal enam tempat desimal. Jika hasil melebihi enam tempat desimal, nilai tersebut dipotong. Mulai Hologres V1.3, fungsi Avg mengembalikan hasil dengan seluruh tempat desimal yang tersedia.
Konversi nilai tipe TEXT dari nilai tipe DECIMAL telah dioptimalkan. Pada versi Hologres sebelum V1.3.46, hasil konversi ditampilkan dalam format notasi ilmiah. Mulai Hologres V1.3.46, hasil konversi ditampilkan secara langsung. Contoh pernyataan SQL:
CREATE TABLE t (a INT, b DECIMAL(38,10)); INSERT INTO t VALUES (1,1); INSERT INTO t VALUES (1,0); SELECT a,b,b::text FROM t; -- Di Hologres V1.3.46 atau lebih baru, hasil berikut dikembalikan: a | b |b --+-------------+------ 1 |0.0000000000 |0.0000000000 1 |1.0000000000 |1.0000000000 -- Di versi sebelum Hologres V1.3.46, hasil berikut dikembalikan: a | b |b --+-------------+------ 1 |0.0000000000 |0.E-10 1 |1.0000000000 |1.0000000000
Perubahan perilaku default di Hologres V1.3 dirilis pada Februari 2023
Fitur tertentu telah dioptimalkan.
Mulai Hologres V1.3.36, Anda dapat membuat tampilan lintas skema menggunakan model izin tingkat skema (SLPM). Untuk detail lebih lanjut, lihat Gunakan SLPM.
V1.3 (Januari 2023)
Fitur spesifik telah dioptimalkan.
Mulai Hologres V2.0, tabel dalam format segmen tidak lagi didukung. Pada Hologres V1.3.35 dan versi berikutnya, pernyataan tersedia untuk mengonversi beberapa tabel dalam format segmen menjadi tabel dalam format ORC secara bersamaan. Konversi ini mempermudah migrasi data dari tabel yang ada. Untuk informasi lebih lanjut, lihat Perbarui format penyimpanan data tabel kolom yang ada. Instance Hologres yang berisi data dalam format segmen tidak dapat ditingkatkan ke versi yang lebih baru.
Mulai Hologres V1.3.35, lebih banyak parameter Grand Unified Configuration (GUC) untuk fitur rencana tetap diatur ke
onsecara default. Hal ini meningkatkan kemudahan penggunaan sistem serta performa. Untuk informasi lebih lanjut, lihat Percepat eksekusi pernyataan SQL menggunakan rencana tetap.
V1.3 (Desember 2022)
Fitur spesifik telah dioptimalkan.
Mulai December 26, 2022, Alibaba Cloud tidak lagi menyediakan titik akhir virtual private cloud (VPC) untuk instance baru, termasuk instance yang dibuat menggunakan fitur pencadangan atau pemulihan. Anda dapat menentukan titik akhir VPC yang lebih aman. Titik akhir VPC yang Anda tentukan hanya terhubung ke VPC yang dipilih saat membeli instance Hologres, memberikan keamanan dan isolasi yang lebih baik. Instance yang sudah ada tidak terpengaruh. Kami menyarankan Anda menonaktifkan titik akhir VPC asli dan menggantinya dengan titik akhir VPC yang ditentukan.
Di Hologres V1.3.31 dan versi berikutnya, Anda dapat mengenkripsi data di Hologres dan menanyakan data terenkripsi dari MaxCompute secara default tanpa perlu mengonfigurasi pengaturan tambahan atau mengirimkan tiket. Untuk informasi lebih lanjut, lihat Enkripsi Data di Hologres dan Kueri Data MaxCompute yang Di-Enkripsi Berdasarkan BYOK.
V1.3 (November 2022)
Fitur spesifik telah dioptimalkan.
Di Hologres V1.3.28 dan seterusnya, kolom yang dikonfigurasikan sebagai kunci kluster atau kunci segmen tidak boleh berisi
nilai null. Untuk informasi lebih lanjut, lihat Kunci kluster dan Kolom waktu acara (kunci segmen).Di Hologres V1.3.28 dan seterusnya, nilai default parameter
hg_experimental_load_all_foreign_table_interval_timediubah dari5minmenjadi30min. Parameter ini menentukan interval inspeksi berkala untuk pembuatan otomatis tabel asing bagi semua tabel MaxCompute. Untuk informasi lebih lanjut, lihat Buat tabel asing secara otomatis untuk tabel MaxCompute.Di Hologres V1.3.28 dan seterusnya, kolom yang dikonfigurasikan sebagai kunci distribusi tidak boleh berisi string kosong. Untuk informasi lebih lanjut, lihat Kunci distribusi.
Di Hologres V1.3.27 dan seterusnya, ambang latensi sinkronisasi data dari instance utama ke instance sekunder diubah dari
20menit menjadi60menit. Jika latensi sinkronisasi melebihi 60 menit, instance sekunder akan dimulai ulang secara otomatis. Untuk informasi lebih lanjut, lihat Konfigurasi penyebaran multi-instance dengan ketersediaan tinggi.
V1.3 (Oktober 2022)
Fitur spesifik telah dioptimalkan.
Mulai Hologres V1.3.24, Anda dapat menggunakan tampilan sistem hg_worker_info untuk memeriksa hubungan alokasi antara shard dan node pekerja. Ini membantu menyelesaikan masalah alokasi sumber daya komputasi yang tidak merata. Untuk informasi lebih lanjut, lihat Tanyakan alokasi shard di antara pekerja.
Mulai Hologres V1.3.24, masa hidup minimum (TTL) data tabel adalah satu hari (86.400 detik). Untuk informasi lebih lanjut, lihat Pernyataan PostgreSQL lainnya.
Mulai Hologres V1.3.24, jika Anda mengaktifkan pencatatan biner untuk Hologres, fungsi
pg_relation_sizemengembalikan ukuran log biner. Untuk informasi lebih lanjut, lihat Tanyakan ukuran penyimpanan tabel dan database.Mulai Hologres V1.3.24, Anda dapat mengonfigurasi TTL log biner untuk tabel anak sesuai kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Berlangganan log biner Hologres.
V1.3 (September 2022)
Fitur spesifik telah dioptimalkan.
Jika TTL kedaluwarsa dan kunci utama yang sama digunakan bersama, penulisan data akan gagal. Pada Hologres V1.3.23 dan versi berikutnya, Anda dapat menggunakan pernyataan SQL untuk menangani masalah ini. Untuk informasi lebih lanjut, lihat INSERT ON CONFLICT(UPSERT).
Mulai Hologres V1.3.22, Anda dapat menggabungkan tabel sistem PostgreSQL dengan tabel internal Hologres yang telah dibuat. Data dari tabel sistem PostgreSQL juga dapat diekspor ke tabel internal Hologres. Untuk detail lebih lanjut, lihat Tabel sistem.
Pada Hologres V1.3.22 dan versi berikutnya, kolom bertipe DATE dapat dikonfigurasikan sebagai kolom kunci utama atau kolom kunci partisi. Untuk detail lebih lanjut, lihat CREATE TABLE.
Di Hologres V1.3.21 dan versi berikutnya, Anda dapat menggunakan pernyataan
Create Table Asuntuk membuat tabel dengan struktur dan data yang sama seperti tabel yang sudah ada. Untuk informasi lebih lanjut, lihat CREATE TABLE AS.
V1.3 (Juli 2022)
Fitur spesifik telah dioptimalkan.
Pratinjau publik fitur terkait JSON telah selesai dan fitur tersebut dirilis secara resmi.
Pratinjau publik fitur terkait PostGIS telah selesai dan fitur tersebut dirilis secara resmi.
Saat menyisipkan data menggunakan metode seperti Data Integration atau Realtime Compute for Apache Flink, disarankan untuk menggunakan pernyataan SQL (INSERT) alih-alih SDK untuk menulis data.
V1.1 (Juli 2022)
Sejumlah metrik ditambahkan di Hologres untuk meningkatkan kemampuan diagnosis mandiri dan operasi & pemeliharaan mandiri Hologres. Metrik ini membantu Anda mengidentifikasi masalah dan menanyakan detail penggunaan sumber daya secara lebih akurat. Ini meningkatkan ketersediaan keseluruhan Hologres. Saat menggunakan metrik, perhatikan item berikut:
Metrik yang ditambahkan pada Juli 2022 hanya berlaku untuk Hologres V1.1 dan seterusnya. Jika versi instance Hologres Anda lebih lama dari V1.1, tingkatkan instance Hologres Anda secara manual di konsol Hologres atau bergabunglah dengan grup DingTalk untuk mendapatkan dukungan teknis. Untuk informasi lebih lanjut tentang cara meningkatkan instance Hologres Anda secara manual di konsol Hologres, lihat Peningkatan manual (beta). Untuk informasi lebih lanjut tentang cara mendapatkan dukungan teknis, lihat Dapatkan dukungan online untuk Hologres.
Penggunaan CPU dan memori dihitung dengan cara yang lebih akurat untuk membantu Anda lebih baik menentukan penggunaan sumber daya. Setelah metrik baru dirilis pada Juli 2022, pemanfaatan CPU dan penggunaan memori instance Hologres di V1.1 mungkin berfluktuasi antara 5% hingga 10%. Pemanfaatan CPU dan penggunaan memori instance Hologres juga berfluktuasi di CloudMonitor. Perhatikan informasi peringatan di CloudMonitor dan konfigurasikan ulang ambang batas pemantauan yang sesuai.
Untuk informasi lebih lanjut tentang metrik, lihat Pemantauan Metrik.
V1.1 (April 2022)
Penggunaan memori dioptimalkan.
Di Hologres V1.1.53 dan seterusnya, penggunaan memori dioptimalkan. Metrik operasi & pemeliharaan juga dilaporkan dengan cara yang dioptimalkan di backend. Ini menggunakan lebih sedikit sumber daya memori dan menyisakan lebih banyak sumber daya memori untuk komputasi. Anda dapat memperbarui versi instance Hologres Anda ke V1.1.53 berdasarkan kebutuhan bisnis Anda.
V1.1 (Maret 2022)
Kinerja kueri titik yang diinisiasi menggunakan rencana tetap dioptimalkan.
Di Hologres V1.1.49 dan seterusnya, kinerja kueri titik yang diinisiasi menggunakan rencana tetap dioptimalkan. Dalam kueri titik yang melibatkan sejumlah besar data, throughput ditingkatkan lebih dari 30%. Anda dapat memperbarui versi instance Hologres Anda ke V1.1.49 atau lebih baru berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut tentang rencana tetap, lihat Percepat eksekusi pernyataan SQL menggunakan rencana tetap.
V1.1 (Maret 2022)
Properti diverifikasi saat tabel anak dilampirkan ke tabel induk.
Di Hologres V1.1.42 dan seterusnya, properti tabel anak dan tabel induk diverifikasi secara ketat setelah Anda meminta untuk melampirkan tabel anak ke tabel induk. Jika properti tabel anak tidak konsisten dengan properti tabel induk, kesalahan dilaporkan dan operasi lampiran gagal. Properti yang diverifikasi oleh sistem mencakup kunci utama, indeks, dan kendala NOT NULL. Sebelum Anda membuat tabel anak, pastikan properti tabel anak konsisten dengan properti tabel induk. Untuk informasi lebih lanjut, lihat BUAT TABEL PARTISI.
Kode sampel berikut memberikan contoh skenario di mana kunci kluster tabel anak tidak konsisten dengan tabel induk. Dalam hal ini, tabel anak gagal dilampirkan ke tabel induk.
-- Dalam contoh ini, pernyataan bahasa definisi data (DDL) berikut dieksekusi untuk membuat tabel induk dan tabel anak.
BEGIN;
CREATE TABLE public.hologres_parent(
a INT,
b text NOT NULL,
c timestamptz NOT NULL,
ds text,
PRIMARY KEY(a,ds)
)
PARTITION BY LIST(ds);
CALL set_table_property('public.hologres_parent', 'orientation', 'column');
CALL set_table_property('public.hologres_parent', 'distribution_key', 'a');
CALL set_table_property('public.hologres_parent', 'clustering_key', 'b');
CALL set_table_property('public.hologres_parent', 'event_time_column', 'c');
CREATE TABLE public.hologres_child PARTITION OF public.hologres_parent
FOR VALUES IN('20201103');
COMMIT;
-- Buat tabel partisi anak sementara.
BEGIN;
CREATE TABLE IF NOT EXISTS public.tmp_hologres_child(
a INT,
b text NOT NULL,
c timestamptz NOT NULL,
ds text,
PRIMARY KEY (a,ds)
);
CALL set_table_property('public.tmp_hologres_child', 'orientation', 'column');
CALL set_table_property('public.tmp_hologres_child', 'distribution_key', 'a');
CALL set_table_property('public.tmp_hologres_child', 'clustering_key', 'a,b');
CALL set_table_property('public.tmp_hologres_child', 'event_time_column', 'c');
COMMIT;
-- Impor data dari tabel asing ke tabel partisi anak sementara.
INSERT INTO public.tmp_hologres_child SELECT * FROM foreign_table WHERE ds='20201103';
-- Hapus tabel partisi anak asli dan asosiasikan tabel partisi anak sementara dengan tabel induk.
BEGIN;
DROP TABLE IF EXISTS public.hologres_child;
ALTER TABLE public.tmp_hologres_child RENAME TO hologres_child;
ALTER TABLE public.hologres_parent ATTACH PARTITION public.hologres_child
FOR VALUES IN ('20201103');
COMMIT ;
-- Penyebab kesalahan.
ERROR:
partition index hologres_child's immutable properties(e.g. clustering_key, event_time_column) is consistent with parent.
Hint: create partition with [create table ... partition of ...] to be consistent with parent. V1.1 (Desember 2021)
Secara default, titik akhir publik instance Hologres baru dinonaktifkan.
Untuk memenuhi persyaratan keamanan untuk kontrol akses data, titik akhir publik instance Hologres baru secara otomatis dinonaktifkan dan kemampuan akses Internet tidak disediakan secara default mulai 00:00:00 pada 7 Desember 2021. Jika Anda ingin terhubung ke instance Hologres Anda menggunakan titik akhir publik, Anda dapat mengaktifkan titik akhir publik di konsol Hologres.
V1.1 (November 2021)
Batas maksimum memori yang digunakan untuk komputasi tidak lagi dibatasi hingga 20 GB per node.
Di Hologres V1.1.24 dan seterusnya, batas 20 GB per node dihapus untuk node pekerja, dan memori yang digunakan untuk komputasi dialokasikan secara dinamis ke setiap node. Penggunaan memori node pekerja terus dipantau di backend Hologres. Dengan cara ini, memori yang digunakan untuk komputasi dapat dialokasikan secara dinamis ke node berdasarkan penggunaan memori node untuk memastikan kueri berhasil. Jika rencana eksekusi valid tetapi pesan kesalahan yang menunjukkan bahwa penggunaan memori melebihi batas atas dikembalikan saat Anda mengeksekusi kueri di Hologres V1.1.24 atau lebih baru, Anda harus mengoptimalkan pernyataan SQL atau meningkatkan instance Hologres.
Backend instance Hologres terdiri dari beberapa node. Jumlah node yang terkandung dalam instance Hologres bervariasi berdasarkan spesifikasi instance. Memori maksimum adalah 64 GB untuk satu node. Memori node didistribusikan secara merata ke komputasi, cache, dan metadata serta proses penduduk.
V1.1 (Oktober 2021)
Secara default, fitur auto-analyze diaktifkan.
Fitur auto-analyze diperkenalkan di Hologres V0.10. Fitur ini diverifikasi oleh pengguna secara online dan terbukti stabil di lingkungan produksi. Secara default, fitur auto-analyze diaktifkan di Hologres V1.1. Status fitur auto-analyze tetap tidak berubah di instance Hologres yang diperbarui ke V1.1. Secara default, fitur auto-analyze diaktifkan untuk instance baru yang dibuat di Hologres V1.1. Nama parameter relevan juga diubah di Hologres V1.1. Tabel berikut menjelaskan perubahan.
Nama parameter asli
Nama parameter baru
Nilai default
hg_experimental_enable_start_auto_analyze_worker
hg_enable_start_auto_analyze_worker
on
Untuk informasi lebih lanjut tentang cara menggunakan fitur auto-analyze, lihat ANALYZE dan auto-analyze.
Nama fungsi yang terkait dengan grup tabel diubah.
Fitur resharding diperkenalkan di Hologres V0.10. Fitur ini diverifikasi oleh pengguna secara online dan terbukti stabil di lingkungan produksi. Di Hologres V1.1, nama fungsi yang terkait dengan grup tabel diubah. Tabel berikut menjelaskan perubahan.
Nama fungsi asli
Nama fungsi baru
hg_update_table_shard_count('table_name','table_group_name')
hg_move_table_to_table_group('table_name','table_group_name')
Untuk informasi lebih lanjut tentang cara menggunakan fitur resharding, lihat Panduan pengguna grup tabel dan jumlah shard.
Untuk informasi lebih lanjut tentang cara menggunakan grup tabel, lihat Praktik terbaik untuk menentukan grup tabel.
Mesin untuk akses dipercepat ke tabel asing MaxCompute di Hologres telah diubah.
Di Hologres V0.10, mesin baru untuk akses dipercepat ke tabel asing MaxCompute diperkenalkan. Mesin ini meningkatkan performa lebih dari 30% dan telah diverifikasi secara online oleh pengguna, terbukti stabil di lingkungan produksi. Mulai Hologres V1.1, mesin baru ini menjadi mesin default untuk akses dipercepat ke tabel asing MaxCompute. Namun, pada instance Hologres yang diperbarui ke V1.1, mesin sebelumnya tetap digunakan. Untuk instance baru yang dibuat di Hologres V1.1, mesin baru otomatis digunakan sebagai default. Selain itu, nama parameter relevan juga diubah di Hologres V1.1. Tabel berikut menjelaskan perubahan tersebut.
Nama parameter asli
Nama parameter baru
Catatan
hg_experimental_enable_access_odps_orc_via_holo
hg_enable_access_odps_orc_via_holo
Nilai default: on.
hg_experimental_foreign_table_executor_max_dop
hg_foreign_table_executor_max_dop
Nilai default diubah menjadi jumlah core CPU dari sebuah instance. Nilai maksimum adalah 128.
Tidak ada
hg_foreign_table_executor_dml_max_dop
Parameter ini ditambahkan di Hologres V1.1. Nilai default adalah 32. Parameter ini berlaku untuk pernyataan DML yang terkait dengan tabel asing.
hg_experimental_foreign_table_split_size
hg_foreign_table_split_size
Nilai default: 64. Unit: MB.
hg_experimental_foreign_table_max_partition_limit
hg_foreign_table_max_partition_limit
Nilai default adalah 512. Nilai tersebut menunjukkan bahwa hingga 512 partisi dapat dipindai untuk sebuah kueri.
hg_experimental_enable_write_maxcompute
Tidak ada
Di Hologres V1.1, nilai defaultnya adalah on. Nilai on menunjukkan bahwa data dapat ditulis kembali ke MaxCompute. Untuk informasi lebih lanjut, lihat Ekspor data ke MaxCompute.
Untuk informasi lebih lanjut tentang parameter, lihat Optimalkan performa kueri tabel MaxCompute di Hologres.
Tabel pg_stat_activity mencatat status koneksi aktif di semua node frontend.
Pada versi sebelum Hologres V1.1, tabel pg_stat_activity hanya mencatat status koneksi aktif untuk satu node FE tunggal, sehingga menyulitkan pemeriksaan dan penanganan kueri aktif. Mulai Hologres V1.1, tabel pg_stat_activity mencatat status koneksi aktif untuk semua node FE. Untuk informasi lebih lanjut tentang cara mengelola kueri aktif menggunakan tabel pg_stat_activity, lihat Kelola kueri.
Mekanisme manajemen koneksi telah disesuaikan.
Pada Hologres V1.1 dan versi berikutnya, koneksi dicadangkan untuk superuser. Selain itu, logika kumpulan koneksi HoloWeb telah dioptimalkan sehingga superuser dapat terhubung ke instance Hologres melalui HoloWeb serta mengelola atau melepaskan koneksi jika jumlah koneksi melebihi batas maksimum yang didukung oleh tipe instance. Untuk informasi lebih lanjut, lihat Kelola koneksi.
Nilai default parameter idle_in_transaction_session_timeout telah diubah.
Parameter
idle_in_transaction_session_timeoutmenentukan batas waktu untuk transaksi yang memasuki status idle. Jika parameter ini tidak dikonfigurasi, transaksi yang timeout tidak akan dibatalkan secara default, yang dapat menyebabkan deadlock selama kueri. Pada Hologres V1.1, parameteridle_in_transaction_session_timeoutmemiliki nilai default 10 menit. Untuk informasi lebih lanjut, lihat Kelola kueri.