Kompresi kolom untuk mengurangi ukuran data yang disimpan - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kompresi kolom untuk mengurangi ukuran data yang disimpan

Kompresi adalah operasi tingkat kolom yang mengurangi ukuran data saat disimpan. Kompresi menghemat ruang penyimpanan dan mengurangi ukuran data yang dibaca dari penyimpanan, yang mengurangi jumlah disk I/O dan karenanya meningkatkan kinerja kueri.

ENCODEAUTOadalah default untuk tabel. Saat tabel disetel ke ENCODEAUTO, Amazon Redshift secara otomatis mengelola pengkodean kompresi untuk semua kolom dalam tabel. Untuk informasi selengkapnya, silakan lihat CREATE TABLE dan ALTER TABLE.

Namun, jika Anda menentukan pengkodean kompresi untuk kolom apa pun dalam tabel, tabel tidak lagi diatur ke ENCODEAUTO. Amazon Redshift tidak lagi secara otomatis mengelola pengkodean kompresi untuk semua kolom dalam tabel.

Anda dapat menerapkan jenis kompresi, atau pengkodean, ke kolom dalam tabel secara manual saat Anda membuat tabel. Atau Anda dapat menggunakan COPY perintah untuk menganalisis dan menerapkan kompresi secara otomatis. Untuk informasi selengkapnya, lihat Biarkan COPY memilih pengkodean kompresi. Untuk detail tentang menerapkan kompresi otomatis, lihatMemuat tabel dengan kompresi otomatis.

catatan

Kami sangat menyarankan menggunakan COPY perintah untuk menerapkan kompresi otomatis.

Anda dapat memilih untuk menerapkan pengkodean kompresi secara manual jika tabel baru memiliki karakteristik data yang sama dengan tabel lain. Atau Anda dapat melakukannya jika Anda menemukan dalam pengujian bahwa pengkodean kompresi yang diterapkan selama kompresi otomatis tidak paling cocok untuk data Anda. Jika Anda memilih untuk menerapkan pengkodean kompresi secara manual, Anda dapat menjalankan ANALYZE COMPRESSION perintah terhadap tabel yang sudah diisi dan menggunakan hasilnya untuk memilih pengkodean kompresi.

Untuk menerapkan kompresi secara manual, Anda menentukan pengkodean kompresi untuk masing-masing kolom sebagai bagian dari pernyataan. CREATE TABLE Sintaksnya adalah sebagai berikut.

CREATE TABLE table_name (column_name data_type ENCODE encoding-type)[, ...]

Di sini, encoding-type diambil dari tabel kata kunci di bagian berikut.

Misalnya, pernyataan berikut membuat tabel dua kolom,PRODUCT. Ketika data dimuat ke dalam tabel, kolom PRODUCT _ID tidak dikompresi, tetapi NAME kolom PRODUCT _ dikompresi, menggunakan encoding kamus byte (). BYTEDICT

create table product( product_id int encode raw, product_name char(20) encode bytedict);

Anda dapat menentukan pengkodean untuk kolom ketika ditambahkan ke tabel menggunakan ALTER TABLE perintah.

ALTER TABLE table-name ADD [ COLUMN ] column_name column_type ENCODE encoding-type