Topik ini menjelaskan perubahan perilaku default di setiap versi Hologres.
Nama parameter bersifat backward compatible. Jika nama parameter diubah pada versi yang lebih baru, nama aslinya tetap dapat digunakan. Namun, kami menyarankan Anda menggunakan nama parameter yang baru.
V4.1
Januari 2026
Keamanan dan kepatuhan
Penyamaran data yang ditingkatkan (skema V2): Selama operasi
INSERT, Hologres kini secara default menggunakan skema penyamaran data dasar. Hal ini memastikan bahwa data yang telah disamarkan dari tabel sumber ditulis ke tabel target, sehingga mengurangi risiko kebocoran data akibat perubahan aturan penyamaran pada tabel target.
Jalur akses data dan batasan pemodelan
Baca langsung MaxCompute: Hologres kini secara default menggunakan mekanisme Common Table yang lebih stabil dan kompatibel untuk pembacaan langsung MaxCompute.
Pelonggaran batasan kunci segmen: Kolom yang dapat bernilai null kini dapat ditetapkan sebagai kunci segmen, sehingga meningkatkan fleksibilitas pemodelan data secara signifikan.
Batasan ketat DML dan transaksi
Larangan operasi transaksi campuran: Dalam blok transaksi eksplisit, sangat dilarang mencampur pernyataan
INSERT OVERWRITEatauTRUNCATEdengan operasi DML standar. Pelanggaran terhadap aturan ini akan memicu error. Contoh error:ERROR: Mixing INSERT OVERWRITE or TRUNCATE with DML statements in a transaction is not supported.Kinerja DELETE dalam transaksi eksplisit: Untuk menjamin integritas transaksi dan mengurangi risiko deadlock, mengaktifkan transaksi eksplisit (
SET hg_experimental_enable_transaction = ON) akan mengubah perilaku operasiDELETEpenuh-tabel. Operasi tersebut kini melewati optimasi penghapusan fisik tingkat file dan dieksekusi sebagai penghapusan logis baris demi baris. Pengguna disarankan untuk mengevaluasi potensi dampak kinerja.
Identifikasi metadata
Optimasi statistik: Pengidentifikasi tipe untuk Tabel Dinamis dalam
table_infotelah distandardisasi menjadiDYNAMIC TABLEuntuk memudahkan identifikasi dan manajemen yang lebih efisien.
Fitur-fitur berikut telah lulus dari fase Beta dan kini tersedia secara umum (GA) untuk penggunaan produksi:
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 lebih baru: Indeks dalam memori direfresh setiap detik, memastikan penulisan yang efisien dan aksesibilitas data segera melalui indeks.
Perilaku tabel dinamis untuk Hologres V4.0.7+:
Refresh tabel dinamis mendukung resource virtual warehouse.
Resource default untuk refresh tabel dinamis telah berubah dibandingkan V3.1, V3.2, dan V4.0.1–4.0.6. Untuk informasi selengkapnya, lihat Setel resource refresh untuk tabel dinamis.
Batas koneksi gateway untuk Hologres V4.0.15+: Koneksi gateway untuk instans virtual warehouse telah dibatasi hingga 8.000 guna meningkatkan stabilitas instans.
September 2025
Saluran kueri berkinerja tinggi: Instans Hologres V4.0+ kini secara default menggunakan Common Table untuk mengkueri tabel eksternal MaxCompute. Metode baru ini memberikan peningkatan kinerja signifikan dan mendukung MaxCompute Delta Table serta Append 2.0 Table. Lihat Akses MaxCompute melalui jalur Common Table.
Kefresh-an data yang ditingkatkan: Mulai dari Hologres V4.0, saat Anda mengakses Hologres langsung dari MaxCompute, kefresh-an data default adalah 1 menit. Untuk mengubah kefresh-an data secara manual, gunakan perintah berikut:
-- Ubah kefresh-an di tingkat DB ALTER DATABASE <database_name> set hg_create_table_snapshot_default_freshness_in_sec=xxx;Kompaksi tanpa server: Parameter
hg_serverless_computing_run_compaction_before_commit_bulk_loaddiaktifkan secara default untuk menjalankan kompaksi secara sinkron selama pemuatan massal arsitektur tanpa server, sehingga mengurangi dampaknya terhadap resource instans. Lihat Gunakan Komputasi Tanpa Server untuk kompaksi konkuren.Format tabel DLF yang fleksibel: 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 eksekusi pernyataan SQL menggunakan PQE. Mekanisme ini melemparkan error OOM ketika kueri berpotensi memengaruhi stabilitas instans.
Eksekusi adaptif untuk Tabel Dinamis: Di Hologres V4.0+, Tabel Dinamis dalam mode full-refresh kini secara default menggunakan eksekusi adaptif. Hal 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, mencegah kegagalan akibat statistik yang tidak akurat.
V3.2 (Juli 2025)
Menambahkan kata kunci non-reserved seperti
Branch,Overwrite,Parameter, danTag; 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 saling independen dan dapat diatur secara terpisah, terlepas dari urutan pengaturannya. Perilakunya sebagai berikut:Ketika
optimizer_cte_inlining = off, CTE 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.
Mulai dari Hologres V3.2, fitur Fast Rows diaktifkan secara default. Ketika tabel tidak memiliki statistik, pengoptimal akan secara otomatis dan cepat memperoleh jumlah baris aktual untuk menghasilkan rencana eksekusi yang lebih optimal dan meningkatkan kinerja kueri.
Perilaku ini berlaku otomatis setelah upgrade dan tidak memerlukan konfigurasi. Untuk detailnya, lihat: ANALYZE dan AUTO ANALYZE.
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 di-upgrade ke V3.1, hanya operasi ALTER yang dapat dilakukan pada tabel yang menggunakan refresh data penuh. Untuk membuat tabel baru, harus menggunakan sintaksis baru di V3.1. Untuk tabel yang menggunakan refresh data inkremental, Anda harus membuat ulang tabel menggunakan sintaksis baru. Untuk informasi selengkapnya, lihat CREATE DYNAMIC TABLE.
Penggunaan resource
Resource refresh
Tabel dinamis yang dibuat di Hologres V3.1 secara default menggunakan resource komputasi tanpa server untuk mengeksekusi tugas. Jika instans saat ini tidak memiliki Serverless Computing yang diaktifkan, sistem akan secara otomatis fallback ke resource instans. Tabel yang dibuat di Hologres V3.0 tetap menggunakan resource yang ditentukan saat pembuatan tabel. Untuk informasi selengkapnya, lihat CREATE DYNAMIC TABLE.
Membuat tabel menggunakan resource instans
Sintaksis baru (Hologres V3.1 dan V3.2): Menggunakan virtual warehouse primer untuk kelompok tabel dari tabel dasar dan tabel dinamis.
Sintaksis lama (Hologres V3.0) dan sintaksis baru (Hologres V4.1): Menggunakan virtual warehouse primer untuk kelompok tabel dari tabel dinamis.
Jumlah koneksi
Sintaksis baru meningkatkan stabilitas dan mengatur tugas lebih efisien dengan mempertahankan koneksi tambahan untuk setiap tabel dinamis. Jika instans Anda mengalami pemanfaatan koneksi tinggi dan berisi ratusan tabel dinamis, disarankan untuk menghapus koneksi idle guna 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 binary logging, metode stream memiliki kinerja lebih tinggi dan lebih hemat biaya. Setelah instans Anda di-upgrade ke V3.1, metode stream digunakan secara default. Jika binary logging diaktifkan untuk tabel Anda di V3.0, segera nonaktifkan binary logging untuk menghindari biaya penyimpanan tambahan. Untuk informasi selengkapnya, lihat Dynamic Table.
Fitur antrian kueri telah menyelesaikan fase Beta dan tersedia untuk penggunaan produksi. Untuk informasi selengkapnya, lihat Query Queue.
TRUNCATE kini merupakan pernyataan DML (bukan DDL), sehingga mengurangi beban node FE. Untuk mengembalikan ke 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 di tingkat sesi. Untuk informasi selengkapnya, lihat TRUNCATE.Saat Anda mengimpor data ke tabel dengan kunci primer menggunakan COPY, parameter GUC
hg_experimental_copy_enable_on_conflictdiaktifkan secara default. Hal 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 datanya yang ditentukan dalam pernyataan SQL (pernyataan SELECT standar) harus benar-benar sesuai dengan tabel target (tabel internal Hologres). Jika tidak, pesan errorerror: 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 selengkapnya, lihat INSERT OVERWRITE.Tabel sistem hg_table_storage_status diperbarui. Mulai dari Hologres V3.1, tabel sistem ini tidak lagi mencakup data tabel yang disimpan di memori (tabel memori). Sebaliknya, hanya mencerminkan penyimpanan fisik aktual tabel. Untuk informasi lebih lanjut tentang mekanisme tabel memori, lihat INSERT.
Menambahkan kata kunci non-reserved:
async,logical,purge,recover,rebuild,resume, dansuspend. Lihat PostgreSQL Key Words.
V3.0
April 2025
Mulai dari Hologres V3.0.33, batas atas resource komputasi tanpa server yang tersedia untuk suatu instans ditingkatkan dari 3 kali resource komputasi eksklusif instans menjadi 5 kali. Batas atas tidak boleh melebihi 2.048 CU. Untuk informasi selengkapnya, lihat Panduan Komputasi Tanpa Server.
Februari 2025
Mulai dari Hologres V3.0.23, pengguna tanpa izin yang diperlukan tidak dapat mengkueri metadata database, skema, dan tabel. Saat Anda menghubungkan alat BI atau alat lain ke instans Hologres, pesan yang menunjukkan tidak ada izin akan ditampilkan untuk akses yang tidak sah.
Mulai dari Hologres V3.0, pernyataan SQL yang berisi
LIMIT -1tidak didukung. Jika Anda mengeksekusi pernyataan SQL yang berisiLIMIT -1, errorERROR: 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 penyamaran data diaktifkan. Pesan error
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 penyamaran data bagi pengguna tersebut.PentingSistem hanya memeriksa apakah konsumsi log biner diizinkan berdasarkan pengaturan hg_anon_enable. Anda tidak dapat mengaktifkan konsumsi log biner dengan mengonfigurasi aturan penyamaran data seperti
unmasked.-- Nonaktifkan penyamaran data untuk pengguna. ALTER ROLE "<user>" SET hg_anon_enable = OFF; -- Nonaktifkan penyamaran data di database tertentu untuk pengguna. ALTER ROLE "<user>" IN DATABASE <database> SET hg_anon_enable = OFF;
November 2024
Batas atas jumlah kombinasi kondisi filter dalam rencana tetap adalah 500.000. Jika batas ini terlampaui, eksekusi akan turun 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
Fase pratinjau publik fitur SQL Hint telah selesai, dan fitur ini dapat digunakan di lingkungan produksi. Secara default, fitur ini diaktifkan.
Dalam gudang metadata, dua catatan dihasilkan untuk operasi COPY, bukan satu catatan. Untuk informasi selengkapnya, lihat COPY.
Di Hologres V3.0.10 dan versi lebih baru, jumlah maksimum unit komputasi (CU) untuk setiap virtual warehouse dalam instans virtual warehouse 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 penyamaran data diaktifkan. Pesan error
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 penyamaran data bagi pengguna tersebut.PentingSistem hanya memeriksa apakah konsumsi log biner diizinkan berdasarkan pengaturan hg_anon_enable. Anda tidak dapat mengaktifkan konsumsi log biner dengan mengonfigurasi aturan penyamaran data seperti
unmasked.-- Nonaktifkan penyamaran data untuk pengguna. ALTER ROLE "<user>" SET hg_anon_enable = OFF; -- Nonaktifkan penyamaran 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 versi lebih baru, batas ruang memori sebesar 4 GB (default) diterapkan pada rencana eksekusi. Hal ini membantu mengurangi risiko out of memory (OOM) sistem. Jika error
"ORCA failed to produce a plan : Used memory size xxx MB exceeds maximum size 4096 MB"dilaporkan selama eksekusi pernyataan SQL, berarti batas atas memori telah terlampaui. Kami menyarankan Anda menyederhanakan pernyataan SQL tersebut. Jika masalah tidak dapat diselesaikan dalam waktu singkat, Anda dapat menyesuaikan atau membatalkan batas tersebut 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 versi lebih baru, saat Anda melakukan skala-masuk virtual warehouse, jumlah shard read-only yang dialokasikan ke setiap worker tidak boleh melebihi 128. Hal ini mencegah terjadinya masalah seperti OOM secara berulang. Jika jumlah shard yang dialokasikan ke worker melebihi 128 setelah skala-masuk, error
"The follower shard count per worker:xx should be less than or equal to the max follower shard"akan dilaporkan. Dalam kasus ini, spesifikasi asli virtual warehouse dipertahankan. Anda dapat mengeksekusi pernyataan SQL berikut untuk mengkueri jumlah shard read-only yang dialokasikan ke worker di virtual warehouse tertentu dalam database saat ini. Jika instans memiliki beberapa database, jumlahkan jumlah shard read-only di semua database tersebut.-- Kueri jumlah shard read-only yang dialokasikan ke worker di init_warehouse dalam 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 worker diturunkan dari 1.000 menjadi 600. Jumlah walsender dihitung berdasarkan jumlah slot. Untuk informasi selengkapnya, lihat Konsumsi data Binlog Hologres menggunakan JDBC. Kami menyarankan Anda menggunakan mode jdbc_fixed untuk mengonsumsi log biner Hologres. Dibandingkan konsumsi log dalam mode JDBC, konsumsi log dalam mode jdbc_fixed tidak menggunakan koneksi dan tidak tunduk pada batas jumlah walsender. Untuk informasi selengkapnya tentang mode jdbc_fixed, lihat Hologres.
V2.2 (Juni 2024)
Di Hologres V2.2 dan versi lebih baru, kemampuan dasar pengumpulan log kueri lambat secara otomatis ditingkatkan untuk memungkinkan Hologres mencatat lebih banyak informasi tentang kueri lambat. Hal ini memungkinkan staf bisnis melakukan manajemen detail halus berdasarkan status kueri yang dilakukan pada instans Hologres. Untuk informasi selengkapnya tentang log kueri lambat, lihat Lihat dan analisis log kueri lambat. Pengumpulan log kueri lambat ditingkatkan dalam aspek-aspek berikut:
Kueri yang gagal karena berbagai penyebab, seperti sintaksis tidak valid, kegagalan parsing rencana, dan izin tidak mencukupi, dicatat. Kueri-kueri ini tidak dicatat di versi sebelum Hologres V2.2. Kami menyarankan Anda menggunakan fitur diagnostik 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 tersebut sebagai beberapa pernyataan DDL. Contoh:-- Inisiasi kueri yang berisi beberapa pernyataan DDL dalam transaksi. BEGIN; DROP TABLE xxx;-- Eksekusi berhasil. CREATE TABLE xxx -- Eksekusi gagal. ROLLBACK;Kode contoh berikut menunjukkan hasil dalam log kueri lambat:
query_id | status | Query ---------|---------|------------ xxxx | FAILED |begin;drop table ;create table;rollback;Kode contoh berikut menunjukkan hasil dalam sistem pemantauan:
Query QPS: 4 records Failed Query QPS: 1 record
V2.2 (Mei 2024)
Di Hologres V2.2 dan versi lebih baru, properti tabel yang dikembalikan oleh
hg_dump_scriptditampilkan dalam sintaksis WITH, bukan CALL. Hal ini membantu meningkatkan kenyamanan dan keterbacaan pernyataan CREATE TABLE. Untuk informasi selengkapnya, lihat bagian "Kueri skema tabel" dalam Ikhtisar.Di Hologres V2.2.7 dan versi lebih baru, nilai default diubah dari 1 detik menjadi 100 milidetik. Setelah perubahan ini, log kueri lambat mencatat pernyataan SQL yang membutuhkan waktu lebih dari 100 milidetik, bukan 1 detik. Pernyataan SQL tersebut mencakup pernyataan INSERT, SELECT, UPDATE, dan DELETE. Untuk informasi selengkapnya, lihat Lihat dan analisis log kueri lambat.
Di Hologres V2.2.9 dan versi lebih baru, hasil yang dikembalikan oleh kueri titik pasangan kunci-nilai menggunakan rencana tetap tidak diurutkan berdasarkan kunci primer dalam klausa WHERE.
V2.2 (April 2024)
Di Hologres V2.2 dan versi lebih baru, peran terkait layanan digunakan secara default agar Hologres dapat mengakses MaxCompute melalui tabel eksternal. Saat Anda membeli instans Hologres atau meng-upgrade instans Hologres ke V2.2 atau versi lebih baru, Anda harus membuat peran terkait layanan dan memberikan izin kepada peran tersebut. Peran terkait layanan adalah peran RAM yang entitas tepercayanya adalah layanan Alibaba Cloud. Peran terkait layanan dapat mewujudkan akses otorisasi lintas layanan Alibaba Cloud. Peran terkait layanan membantu Anda mengonfigurasi izin yang diperlukan untuk mengakses layanan Alibaba Cloud dengan lebih baik dan mencegah risiko akibat kesalahan operasi. Untuk informasi selengkapnya, lihat Peran terkait layanan Hologres.
Di Hologres V2.2 dan versi lebih baru, kebijakan pengoptimal default diubah dari
exhaustivemenjadiexhaustive2. Dalam kebanyakan kasus, perubahan ini meningkatkan kinerja 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 kasus ini, Anda dapat secara manual mengeksekusi pernyataanset optimizer_join_order = 'exhaustive';untuk mengubah kebijakan pengoptimal menjadi exhaustive.Di Hologres V2.2 dan versi lebih baru, 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 lebih baru, 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 lebih baru, pernyataan
SELECT hg_dump_script()mengembalikan properti pembuatan tabel dengan sintaksis WITH, bukan 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 versi lebih baru, jika Anda menggunakan Realtime Compute for Apache Flink yang menggunakan VVR 8.0.7 atau versi lebih baru untuk mengonsumsi log biner Hologres, mode JDBC secara otomatis ditingkatkan ke mode jdbc_fixed. Dibandingkan kueri dalam mode JDBC, kueri dalam mode jdbc_fixed tidak mengonsumsi koneksi, dan kinerja kueri tidak dibatasi oleh jumlah maksimum walsender. Untuk informasi selengkapnya tentang mode jdbc_fixed, lihat Hologres. Untuk informasi selengkapnya tentang mode JDBC, lihat Konsumsi data Binlog Hologres menggunakan JDBC.
V2.1 (Maret 2024)
Saat Anda menggunakan Realtime Compute for Apache Flink untuk mengonsumsi log biner Hologres, mode HoloHub tidak lagi didukung, dan konfigurasi 'sdkMode'='holohub' menjadi tidak valid. Hanya mode Java Database Connectivity (JDBC) yang didukung. Mode JDBC lebih stabil daripada mode HoloHub dan mendukung lebih banyak tipe data. Sebelum Anda meng-upgrade instans Hologres ke V2.1, gunakan salah satu solusi berikut untuk memeriksa deployment Realtime Compute for Apache Flink dan instans Hologres Anda serta memastikan deployment Realtime Compute for Apache Flink dapat berjalan sebagaimana mestinya. Untuk informasi selengkapnya, lihat Konsumsi data Binlog Hologres menggunakan JDBC.
Solusi 1: Direkomendasikan. Upgrade versi VVR Realtime Compute for Apache Flink ke 8.0.7 atau versi lebih baru, lalu upgrade instans Hologres Anda. Dalam kasus ini, Realtime Compute for Apache Flink secara otomatis mengubah mode HoloHub menjadi mode JDBC.
Solusi 2: Upgrade 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 restart deployment tersebut. Berikan salah satu set izin berikut ke akun pengguna yang digunakan untuk login ke instans Hologres. Setelah Anda memastikan deployment berjalan dengan baik, upgrade instans Hologres Anda.Izin superuser pada instans Hologres
Izin pemilik tabel, izin CREATE DATABASE, dan izin peran replikasi instans Hologres
Solusi 3: Tidak direkomendasikan. Upgrade versi VVR Realtime Compute for Apache Flink ke 8.0.6, lalu upgrade instans Hologres Anda. Dalam kasus 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 terlalu banyak bidang, draft Realtime Compute for Apache Flink berbasis VVR gagal diterapkan karena timeout. Untuk informasi selengkapnya, lihat bagian "Catatan rilis konektor Hologres" dalam Ikhtisar.
Opsional. Jika Anda memiliki banyak deployment Realtime Compute for Apache Flink berbasis VVR, Anda dapat memperoleh informasi tentang deployment dan tabel tersebut dengan mengikuti petunjuk dalam 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 dikoreksi. 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 dipotong sebelum perhitungan. Akibatnya, hasil perhitungan tidak valid.
Sebagai contoh, operasi perkalian dilakukan pada dua nilai desimal. Jumlah total digit sebelum dan sesudah titik desimal (precision_ans) dan jumlah tempat desimal (scale_ans) dalam hasil perkalian dua nilai desimal tersebut 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 dipertahankan. Nilai desimal yang digunakan untuk perkalian dipotong ke jumlah tempat desimal yang ditentukan 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 contoh berikut memberikan ilustrasi:
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 valid, pengali tersebut dipotong ke jumlah tempat desimal yang ditentukan, yang berdampak negatif pada presisi. Akibatnya, hasil perhitungan 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 versi lebih baru, masalah ini telah diperbaiki. Operasi perkalian dilakukan pada nilai desimal asli, lalu hasil perkalian dipotong ke jumlah tempat desimal yang ditentukan. Hal ini memastikan akurasi hasil yang tinggi.
-- Hasil perhitungan valid. 1.1111111111, 1.0000000000,1.111111111100000000 1.1111111112, 1.0000000000,1.111111111200000000
V2.1 (Oktober 2023)
Beberapa fitur dioptimalkan.
Di Hologres V2.1.12 dan versi lebih baru, 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 versi sebelumnya, Hologres memotong data sumber berdasarkan presisi kolom tujuan. Pernyataan berikut memberikan contoh.
CatatanDi Hologres V2.1.12 dan versi lebih baru, prosesnya sama baik menggunakan fitur rencana tetap maupun tidak.
CREATE TABLE fixed_plan_decimal (col DECIMAL(3,2)); -- Di Hologres V2.1.12 dan versi lebih baru, 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);Data Map, 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 Konsumsi data Binlog Hologres menggunakan JDBC.
Jika Anda menggunakan Bulkload untuk mengimpor data ke tabel internal Hologres yang tidak memiliki kunci distribusi, kinerja impor mungkin menurun.
Di Hologres V2.1 dan versi lebih baru, sintaksis
CREATE TABLE WITH PROPERTYdidukung untuk menyederhanakan konfigurasi properti tabel. Untuk informasi selengkapnya, lihat CREATE TABLE.Di Hologres V2.1 dan versi lebih baru, kebijakan kompaksi untuk operasi DELETE dan UPDATE dimodifikasi. Setelah modifikasi, file yang ditandai yang menjadi sasaran operasi DELETE diklaim kembali secara tepat waktu. Dalam skenario di mana operasi DELETE dan UPDATE sering dilakukan pada tabel berorientasi kolom, ruang penyimpanan dapat berkurang dan kinerja kueri dapat meningkat. Setelah Anda meng-upgrade instans Hologres ke V2.1 atau versi lebih baru, file-file kecil historis dikompaksi di latar belakang dan mengonsumsi banyak resource CPU. Proses kompaksi ini dapat memakan waktu lebih dari 10 menit atau bahkan beberapa jam, tergantung pada ukuran file kecil tersebut.
Di Hologres V2.1 dan versi lebih baru, mekanisme ditambahkan untuk memeriksa apakah semua kolom yang ditentukan dalam
CONFLICTdalam sintaksisINSERT INTO <table_name> ON CONFLICT(<col_name>,...) DOmerupakan kolom kunci primer. Jika ada kolom yang bukan kolom kunci primer, eksekusi pernyataan SQL gagal. Untuk informasi selengkapnya, lihat INSERT ON CONFLICT (UPSERT).Di Hologres V2.1 dan versi lebih baru, ekstensi
dlf_fdwdibuat secara default agar Anda dapat mengakses data lake melalui tabel eksternal. Anda tidak perlu membuat ekstensidlf_fdwsecara manual. Parameterdlf_regiontidak perlu ditentukan saat Anda membuat server eksternal. Hanya parameterdlf_endpoint,oss_endpoint, dandlf_catalogyang perlu ditentukan. Verifikasi format ditambahkan untuk parameterdlf_endpointdanoss_endpointuntuk mencegah error. Persyaratan format:dlf_endpoint:
dlf-share.<nation>-<region>.aliyuncs.comoss_endpoint:
Bucket OSS:
oss-<nation>-<region>-internal.aliyuncs.comBucket OSS-HDFS:
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. Pernyataan contoh:-- Di Hologres V2.0 dan versi sebelumnya, ketiga kata kunci ini 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 versi lebih baru, ketiga kata kunci ini hanya dapat digunakan sebagai alias dalam pernyataan SQL. SELECT xxxx AS SYSTEM_TIME FROM t;
V2.0 (Juni 2023)
Beberapa fitur 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 meng-upgrade instans Hologres ke V2.0, gunakan salah satu solusi berikut untuk memeriksa deployment Realtime Compute for Apache Flink dan instans Hologres Anda serta memastikan deployment Realtime Compute for Apache Flink dapat berjalan sebagaimana mestinya. Untuk informasi selengkapnya, lihat Konsumsi data Binlog Hologres menggunakan JDBC.
Solusi 1: Direkomendasikan. Upgrade versi VVR Realtime Compute for Apache Flink ke 8.0.6 atau versi lebih baru, lalu upgrade instans Hologres Anda. Dalam kasus 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 terlalu banyak bidang, draft Realtime Compute for Apache Flink berbasis VVR gagal diterapkan karena timeout. Untuk informasi selengkapnya, lihat bagian "Catatan rilis konektor Hologres" dalam Ikhtisar. Kami menyarankan Anda meng-upgrade versi VVR Realtime Compute for Apache Flink ke 8.0.7.
Solusi 2: Upgrade versi VVR Realtime Compute for Apache Flink ke 8.0.4 atau 8.0.5 dan restart deployment tersebut. Berikan salah satu set izin berikut ke akun pengguna yang digunakan untuk login ke instans Hologres. Setelah Anda memastikan deployment berjalan dengan baik, upgrade instans Hologres Anda.
Izin superuser pada instans Hologres
Izin pemilik tabel, izin CREATE DATABASE, dan izin peran replikasi instans Hologres
Solusi 3: Upgrade versi VVR Realtime Compute for Apache Flink ke versi antara 6.0.7 hingga 8.0.3, lalu upgrade instans Hologres Anda. Dalam kasus 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. Sebagai gantinya, digunakan mode JDBC. Sebelum Anda meng-upgrade instans Hologres ke V2.0, lakukan operasi berikut untuk memeriksa deployment Realtime Compute for Apache Flink dan instans Hologres Anda serta memastikan deployment Realtime Compute for Apache Flink dapat berjalan sebagaimana mestinya. Untuk informasi selengkapnya, lihat Hologres.Jika versi VVR Realtime Compute for Apache Flink adalah 6.0.7 atau versi lebih baru, sistem secara otomatis mengubah mode RPC menjadi mode JDBC. Tidak diperlukan operasi tambahan.
Jika versi VVR Realtime Compute for Apache Flink antara 6.0.3 hingga 6.0.6, ubah konfigurasi
'sdkMode'='rpc'menjadi'sdkMode'='jdbc'atau ubah konfigurasi'rpcMode'='true'menjadi'rpcMode'='false'untuk deployment Realtime Compute for Apache Flink.Jika versi VVR Realtime Compute for Apache Flink adalah 6.0.2 atau versi sebelumnya, ubah konfigurasi
'rpcMode'='true'menjadi'rpcMode'='false'untuk deployment Realtime Compute for Apache Flink.Jika koneksi ke instans Hologres Anda tidak mencukupi, kami menyarankan Anda mengonfigurasi parameter
connectionPoolNameuntuk berbagi koneksi dalam kolam koneksi. Anda juga dapat meng-upgrade versi VVR Realtime Compute for Apache Flink ke 6.0.7 atau versi lebih baru dan menggunakan konfigurasi'sdkMode'='jdbc_fixed'. Dalam kasus ini, tidak ada koneksi yang digunakan.Mode RPC tidak melakukan deduplikasi data dengan kunci primer yang sama dalam batch yang sama. Mode JDBC secara otomatis melakukan deduplikasi data tersebut. Jika Anda perlu mempertahankan data lengkap dalam skenario bisnis, gunakan konfigurasi
'jdbcWriteBatchSize'='1'untuk mencegah deduplikasi.
Di Hologres V2.0 dan versi lebih baru, Anda tidak dapat menggunakan Blink untuk melakukan kueri titik real-time pada data di Hologres atau menulis data ke Hologres. Kami menyarankan Anda memigrasikan deployment Blink ke Realtime Compute for Apache Flink sebelum meng-upgrade instans Hologres Anda.
V2.0 (April 2023)
Beberapa fitur dioptimalkan.
Di Hologres V2.0 dan versi lebih baru, data dalam format segment tidak dapat disimpan dalam mode penyimpanan berorientasi kolom. Instans Hologres yang berisi data dalam format segment tidak dapat di-upgrade ke V2.0 atau versi lebih baru. Anda dapat menggunakan fungsi hg_convert_segment_orc untuk mengonversi beberapa tabel dalam format segment menjadi tabel dalam format Optimized Row Columnar (ORC) secara bersamaan. Untuk informasi selengkapnya, Ubah format penyimpanan data tabel berorientasi kolom.
Batas atas diterapkan pada jumlah shard untuk kelompok tabel atau instans. Hal ini membantu mencegah pemborosan resource akibat penyalahgunaan kelompok tabel. Untuk informasi selengkapnya, lihat Kelola Kelompok Tabel dan jumlah shard.
Data ditulis ke DataHub dalam mode JDBC, bukan mode SDK. Mode JDBC lebih stabil daripada 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 ditingkatkan 10 kali lipat. Untuk instans yang dikonfigurasi dengan 32 core CPU, jumlah maksimum walsender ditingkatkan dari 200 menjadi 2.000. Walsender dihitung sebagai slot. Untuk informasi selengkapnya, lihat Konsumsi data Binlog Hologres menggunakan JDBC.
Setelah Anda meng-upgrade instans Hologres, fitur auto-analyze dilakukan pada tabel yang tidak memiliki informasi statistik. Proses ini mengonsumsi resource CPU dan dapat memakan waktu beberapa menit hingga beberapa jam, tergantung pada jumlah tabel yang tidak memiliki informasi statistik.
Fase pratinjau publik fitur backup dan pemulihan serta fitur penyimpanan berjenjang telah selesai, dan fitur-fitur tersebut dapat digunakan di lingkungan produksi.
Fase pratinjau publik fitur replikasi tingkat share telah selesai, dan fitur tersebut dapat digunakan di lingkungan produksi. Untuk informasi selengkapnya, lihat Replikasi tingkat shard untuk throughput tinggi.
Parameter yang menentukan properti tabel distandardisasi. Sintaksis yang digunakan untuk mengonfigurasi properti tabel jika nama kolom berisi huruf kapital berubah. Untuk informasi selengkapnya, 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 dibuat, kolom tipe data SERIAL, dan kolom yang dibuat indeks vektor proxima.
V1.3 (Juni 2023)
Di Hologres V1.3.53 dan versi lebih baru, jumlah replika harus kurang dari atau sama dengan jumlah worker. Untuk informasi selengkapnya, lihat Replikasi tingkat shard untuk throughput tinggi (Beta).
Hasil komputasi fungsi Avg dioptimalkan. Di versi Hologres sebelum V1.3, fungsi Avg mengembalikan hasil komputasi dengan maksimal enam tempat desimal. Jika hasil komputasi berisi lebih dari enam tempat desimal, hasil tersebut dipotong. Di Hologres V1.3 dan versi lebih baru, fungsi Avg mengembalikan hasil komputasi dengan tempat desimal lengkap.
Nilai tipe TEXT yang dikonversi dari nilai tipe DECIMAL dioptimalkan. Di versi Hologres sebelum V1.3.46, nilai tipe TEXT yang dikonversi dari nilai tipe DECIMAL ditampilkan dalam format notasi ilmiah. Di Hologres V1.3.46 dan versi lebih baru, nilai tipe TEXT yang dikonversi dari nilai tipe DECIMAL ditampilkan secara langsung. Pernyataan SQL contoh:
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 versi 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 yang dirilis pada Februari 2023
Beberapa fitur dioptimalkan.
Di Hologres V1.3.36 dan versi lebih baru, Anda dapat membuat tampilan lintas skema menggunakan model izin tingkat skema (SLPM). Untuk informasi selengkapnya, lihat Gunakan SLPM.
V1.3 (Januari 2023)
Beberapa fitur dioptimalkan.
Di Hologres V2.0 dan versi lebih baru, tabel dalam format segment tidak lagi didukung. Di Hologres V1.3.35 dan versi lebih baru, disediakan pernyataan untuk mengonversi beberapa tabel dalam format segment menjadi tabel dalam format ORC secara bersamaan. Konversi ini memfasilitasi migrasi data di tabel yang sudah ada. Untuk informasi selengkapnya, lihat Ubah format penyimpanan data tabel berorientasi kolom. Instans Hologres yang berisi data dalam format segment tidak dapat di-upgrade ke versi yang lebih baru.
Di Hologres V1.3.35 dan versi lebih baru, lebih banyak parameter Grand Unified Configuration (GUC) untuk fitur rencana tetap diatur ke
onsecara default. Hal ini meningkatkan kegunaan dan kinerja sistem. Untuk informasi selengkapnya, lihat Percepat eksekusi SQL menggunakan Fixed Plan.
V1.3 (Desember 2022)
Beberapa fitur dioptimalkan.
Mulai December 26, 2022, Alibaba Cloud tidak lagi menyediakan titik akhir virtual private cloud (VPC) untuk instans baru, termasuk instans yang dibuat menggunakan fitur backup atau pemulihan. Anda dapat menentukan titik akhir VPC yang lebih aman. Titik akhir VPC yang Anda tentukan hanya terhubung ke VPC yang Anda pilih saat membeli instans Hologres. Hal ini memberikan keamanan dan isolasi yang lebih baik. Instans yang sudah ada tidak terpengaruh. Kami menyarankan Anda menonaktifkan titik akhir VPC asli dan menentukan titik akhir VPC sebagai gantinya.
Di Hologres V1.3.31 dan versi lebih baru, Anda dapat mengenkripsi data di Hologres dan mengkueri data terenkripsi dari MaxCompute secara default. Anda tidak perlu mengonfigurasi pengaturan tambahan atau mengirim tiket. Untuk informasi selengkapnya, lihat Enkripsi data saat diam dan Kueri data MaxCompute terenkripsi.
V1.3 (November 2022)
Beberapa fitur dioptimalkan.
Di Hologres V1.3.28 dan versi lebih baru, data dalam kolom yang dikonfigurasi sebagai kunci pengelompokan atau kunci segmen tidak boleh berisi
null values. Untuk informasi selengkapnya, lihat Clustering Key dan Kolom waktu event (kunci segmen).Di Hologres V1.3.28 dan versi lebih baru, nilai default parameter
hg_experimental_load_all_foreign_table_interval_timediubah dari5minmenjadi30min. Parameter ini menentukan interval inspeksi berkala untuk pembuatan otomatis tabel eksternal untuk semua tabel MaxCompute. Untuk informasi selengkapnya, lihat Buat otomatis tabel eksternal untuk tabel MaxCompute.Di Hologres V1.3.28 dan versi lebih baru, kolom yang dikonfigurasi sebagai kunci distribusi tidak boleh berisi string kosong. Untuk informasi selengkapnya, lihat Distribution key.
Di Hologres V1.3.27 dan versi lebih baru, ambang batas latensi sinkronisasi data dari instans utama ke instans sekunder diubah dari
20menit menjadi60menit. Jika latensi sinkronisasi melebihi 60 menit, instans sekunder secara otomatis direstart. Untuk informasi selengkapnya, lihat Konfigurasi deployment ketersediaan tinggi multi-instans.
V1.3 (Oktober 2022)
Beberapa fitur dioptimalkan.
Di Hologres V1.3.24 dan versi lebih baru, Anda dapat menggunakan tampilan sistem hg_worker_info untuk mengkueri hubungan alokasi antara shard dan node worker. Hal ini membantu menyelesaikan masalah alokasi resource komputasi yang tidak merata. Untuk informasi selengkapnya, lihat Kueri alokasi shard di antara worker.
Di Hologres V1.3.24 dan versi lebih baru, masa hidup data (TTL) minimum tabel data adalah satu hari (86.400 detik). Untuk informasi selengkapnya, lihat Pernyataan PostgreSQL lainnya.
Di Hologres V1.3.24 dan versi lebih baru, jika Anda mengaktifkan binary logging untuk Hologres, fungsi
pg_relation_sizemengembalikan ukuran log biner. Untuk informasi selengkapnya, lihat Kueri ukuran penyimpanan tabel dan database.Di Hologres V1.3.24 dan versi lebih baru, Anda dapat mengonfigurasi TTL log biner untuk tabel anak berdasarkan kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat Berlangganan binlog Hologres.
V1.3 (September 2022)
Beberapa fitur dioptimalkan.
Jika TTL berakhir dan kunci primer yang sama dibagikan, data gagal ditulis. Di Hologres V1.3.23 dan versi lebih baru, Anda dapat menggunakan pernyataan SQL untuk memperbaiki masalah ini. Untuk informasi selengkapnya, lihat INSERT ON CONFLICT (UPSERT).
Di Hologres V1.3.22 dan versi lebih baru, Anda dapat menggabungkan tabel sistem PostgreSQL dengan tabel internal Hologres yang Anda buat. Anda juga dapat mengekspor data dari tabel sistem PostgreSQL ke tabel internal Hologres. Untuk informasi selengkapnya, lihat Tabel sistem.
Di Hologres V1.3.22 dan versi lebih baru, kolom tipe DATE dapat dikonfigurasi sebagai kolom kunci primer atau kolom kunci partisi. Untuk informasi selengkapnya, lihat CREATE TABLE.
Di Hologres V1.3.21 dan versi lebih baru, Anda dapat menggunakan pernyataan
Create Table Asuntuk membuat tabel yang memiliki struktur tabel dan data yang sama dengan tabel yang sudah ada. Untuk informasi selengkapnya, lihat CREATE TABLE AS.
V1.3 (Juli 2022)
Beberapa fitur dioptimalkan.
Fase pratinjau publik fitur terkait JSON telah selesai. Fitur-fitur tersebut secara resmi dirilis.
Fase pratinjau publik fitur terkait PostGIS telah selesai. Fitur-fitur tersebut secara resmi dirilis.
Saat Anda memasukkan data menggunakan metode seperti Data Integration atau Realtime Compute for Apache Flink, kami menyarankan Anda menggunakan pernyataan SQL, bukan SDK, untuk menulis data. Pernyataan SQL tersebut adalah pernyataan INSERT.
V1.1 (Juli 2022)
Sejumlah metrik ditambahkan di Hologres untuk meningkatkan kemampuan diagnosis mandiri dan O&M mandiri Hologres. Metrik-metrik ini membantu Anda mengidentifikasi masalah dan mengkueri detail penggunaan resource secara lebih akurat. Hal ini meningkatkan ketersediaan Hologres secara keseluruhan. Saat menggunakan metrik, perhatikan hal-hal berikut:
Metrik yang ditambahkan pada Juli 2022 hanya berlaku untuk Hologres V1.1 dan versi lebih baru. Jika versi instans Hologres Anda sebelum V1.1, upgrade manual instans Hologres Anda di Konsol Hologres atau bergabunglah dengan grup DingTalk untuk dukungan teknis. Untuk informasi selengkapnya tentang cara upgrade manual instans Hologres di Konsol Hologres, lihat Upgrade manual (beta). Untuk informasi selengkapnya tentang cara mendapatkan dukungan teknis, lihat Bagaimana cara mendapatkan dukungan online lebih lanjut?.
Metrik CPU dan memori dihitung secara lebih akurat untuk membantu Anda menentukan penggunaan resource dengan lebih baik. Setelah metrik baru dirilis pada Juli 2022, pemanfaatan CPU dan penggunaan memori instans Hologres di V1.1 mungkin berfluktuasi antara 5% hingga 10%. Pemanfaatan CPU dan penggunaan memori instans Hologres juga berfluktuasi di CloudMonitor. Perhatikan informasi peringatan di CloudMonitor dan konfigurasi ulang ambang batas pemantauan yang sesuai.
Untuk informasi selengkapnya tentang metrik, lihat Metrik Pemantauan Hologres di Konsol.
V1.1 (April 2022)
Penggunaan memori dioptimalkan.
Di Hologres V1.1.53 dan versi lebih baru, penggunaan memori dioptimalkan. Metrik O&M juga dilaporkan secara lebih optimal di backend. Hal ini menghabiskan lebih sedikit resource memori dan menyisakan lebih banyak resource memori untuk komputasi. Anda dapat memperbarui versi instans 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 versi lebih baru, kinerja kueri titik yang diinisiasi menggunakan rencana tetap dioptimalkan. Dalam kueri titik yang melibatkan banyak data, throughput ditingkatkan lebih dari 30%. Anda dapat memperbarui versi instans Hologres Anda ke V1.1.49 atau versi lebih baru berdasarkan kebutuhan bisnis Anda. Untuk informasi selengkapnya tentang rencana tetap, lihat Percepat eksekusi SQL menggunakan Fixed Plan.
V1.1 (Maret 2022)
Properti diverifikasi saat tabel anak dilampirkan ke tabel induk.
Di Hologres V1.1.42 dan versi lebih baru, properti tabel anak dan tabel induk diverifikasi secara ketat setelah Anda menginisiasi permintaan untuk melampirkan tabel anak ke tabel induk. Jika properti tabel anak tidak konsisten dengan tabel induk, error dilaporkan dan operasi pelampiran gagal. Properti yang diverifikasi sistem meliputi kunci primer, indeks, dan Kendala NOT NULL. Sebelum membuat tabel anak, pastikan properti tabel anak konsisten dengan tabel induk. Untuk informasi selengkapnya, lihat CREATE PARTITION TABLE.
Kode contoh berikut memberikan skenario contoh di mana kunci pengelompokan tabel anak tidak konsisten dengan tabel induk. Dalam kasus ini, tabel anak gagal dilampirkan ke tabel induk.
-- Dalam contoh ini, pernyataan 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 eksternal ke tabel partisi anak sementara.
INSERT INTO public.tmp_hologres_child SELECT * FROM foreign_table WHERE ds='20201103';
-- Hapus tabel partisi anak asli dan kaitkan 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 error.
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 instans Hologres baru dinonaktifkan.
Untuk memenuhi persyaratan keamanan untuk kontrol akses data, titik akhir publik instans Hologres baru secara otomatis dinonaktifkan dan kemampuan akses Internet tidak disediakan secara default mulai pukul 00.00.00 pada 7 Desember 2021. Jika Anda ingin menghubungkan ke instans Hologres Anda menggunakan titik akhir publik, Anda dapat mengaktifkan titik akhir publik di Konsol Hologres.
V1.1 (November 2021)
Memori maksimum yang digunakan untuk komputasi tidak lagi dibatasi hingga 20 GB per node.
Di Hologres V1.1.24 dan versi lebih baru, batas 20 GB per node dihapus untuk node worker, dan memori yang digunakan untuk komputasi dialokasikan secara dinamis ke setiap node. Penggunaan memori node worker terus dipantau di backend Hologres. Dengan cara ini, memori yang digunakan untuk komputasi dapat dialokasikan secara dinamis ke node berdasarkan penggunaan memorinya untuk memastikan kueri berhasil. Jika rencana eksekusi valid tetapi pesan error yang menunjukkan penggunaan memori melebihi batas atas dikembalikan saat Anda mengeksekusi kueri di Hologres V1.1.24 atau versi lebih baru, Anda harus mengoptimalkan pernyataan SQL atau melakukan skala-up instans Hologres.
Backend instans Hologres terdiri dari beberapa node. Jumlah node dalam instans Hologres bervariasi berdasarkan spesifikasi instans. Memori maksimum adalah 64 GB untuk satu node. Memori node dialokasikan secara merata untuk komputasi, cache, dan metadata serta proses resident.
V1.1 (Oktober 2021)
Secara default, fitur auto-analyze diaktifkan.
Fitur auto-analyze diperkenalkan di Hologres V0.10. Fitur ini telah diverifikasi oleh pengguna 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 instans Hologres yang diperbarui ke V1.1. Secara default, fitur auto-analyze diaktifkan untuk instans baru yang dibuat di Hologres V1.1. Nama parameter terkait juga diubah di Hologres V1.1. Tabel berikut menjelaskan perubahannya.
Nama parameter asli
Nama parameter baru
Nilai default
hg_experimental_enable_start_auto_analyze_worker
hg_enable_start_auto_analyze_worker
on
Untuk informasi selengkapnya tentang cara menggunakan fitur auto-analyze, lihat ANALYZE dan AUTO ANALYZE.
Nama fungsi yang terkait dengan kelompok tabel diubah.
Fitur resharding diperkenalkan di Hologres V0.10. Fitur ini telah diverifikasi oleh pengguna online dan terbukti stabil di lingkungan produksi. Di Hologres V1.1, nama fungsi yang terkait dengan kelompok tabel diubah. Tabel berikut menjelaskan perubahannya.
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 selengkapnya tentang cara menggunakan fitur resharding, lihat Kelola Kelompok Tabel dan jumlah shard.
Untuk informasi selengkapnya tentang cara menggunakan kelompok tabel, lihat Praktik terbaik untuk menentukan kelompok tabel.
Engine untuk akses dipercepat ke tabel eksternal MaxCompute di Hologres diubah.
Engine baru untuk akses dipercepat ke tabel eksternal MaxCompute diperkenalkan di Hologres V0.10. Engine ini meningkatkan kinerja lebih dari 30%. Engine ini telah diverifikasi oleh pengguna online dan terbukti stabil di lingkungan produksi. Di Hologres V1.1, engine baru digunakan sebagai engine default untuk akses dipercepat ke tabel eksternal MaxCompute. Engine untuk akses dipercepat ke tabel eksternal MaxCompute tetap tidak berubah di instans Hologres yang diperbarui ke V1.1. Untuk instans baru yang dibuat di Hologres V1.1, engine baru digunakan sebagai engine default. Nama parameter terkait juga diubah di Hologres V1.1. Tabel berikut menjelaskan perubahannya.
Nama parameter asli
Nama parameter baru
Keterangan
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 instans. Nilai maksimum adalah 128.
None
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 eksternal.
hg_experimental_foreign_table_split_size
hg_foreign_table_split_size
Nilai default: 64. Satuan: MB.
hg_experimental_foreign_table_max_partition_limit
hg_foreign_table_max_partition_limit
Nilai default adalah 512. Nilai ini menunjukkan bahwa hingga 512 partisi dapat dipindai untuk satu kueri.
hg_experimental_enable_write_maxcompute
None
Di Hologres V1.1, nilai default adalah on. Nilai on menunjukkan bahwa data dapat ditulis kembali ke MaxCompute. Untuk informasi selengkapnya, lihat Ekspor data ke MaxCompute.
Untuk informasi selengkapnya tentang parameter, lihat Optimalkan kinerja kueri untuk tabel eksternal MaxCompute.
Tabel pg_stat_activity mencatat status koneksi aktif untuk semua node frontend.
Di versi sebelum Hologres V1.1, tabel pg_stat_activity hanya mencatat status koneksi aktif untuk satu node FE. Hal ini menyulitkan pemeriksaan dan pemrosesan kueri aktif. Di Hologres V1.1, tabel pg_stat_activity mencatat status koneksi aktif untuk semua node FE. Untuk informasi selengkapnya tentang cara mengelola kueri aktif menggunakan tabel pg_stat_activity, lihat Kelola kueri.
Mekanisme manajemen koneksi disesuaikan.
Di Hologres V1.1 dan versi lebih baru, koneksi dicadangkan untuk superuser. Selain itu, logika kolam koneksi HoloWeb dioptimalkan. Hal ini memungkinkan superuser terhubung ke instans Hologres menggunakan HoloWeb dan mengelola atau melepaskan koneksi jika jumlah koneksi melebihi jumlah maksimum koneksi yang didukung oleh tipe instans. Untuk informasi selengkapnya, lihat Kelola koneksi.
Nilai default parameter idle_in_transaction_session_timeout diubah.
Parameter
idle_in_transaction_session_timeoutmenentukan periode timeout setelah transaksi memasuki keadaan idle. Jika Anda tidak mengonfigurasi parameter ini, transaksi yang timeout tidak akan di-rollback secara default. Akibatnya, deadlock dapat terjadi selama kueri. Di Hologres V1.1, parameteridle_in_transaction_session_timeoutdiatur ke 10 menit secara default. Untuk informasi selengkapnya, lihat Kelola kueri.