All Products
Search
Document Center

PolarDB:Aktifkan dan gunakan penyimpanan berjenjang untuk data dingin

Last Updated:Jun 21, 2026

Topik ini menjelaskan cara mengaktifkan dan menggunakan penyimpanan berjenjang untuk data dingin.

Applicability

Version requirements

Supported regions

Area

Region

China

China (Hangzhou)

China (Shanghai)

China (Shenzhen)

China (Beijing)

Other

Singapore

Limitations

  • Setelah Anda mengaktifkan penyimpanan berjenjang untuk data dingin, Anda tidak dapat menonaktifkannya. Anda hanya dapat menghapus data dingin tersebut. Fitur ini gratis jika tidak ada data dingin yang disimpan.

  • Kluster atau dengan hot standby tidak mendukung penyimpanan berjenjang untuk data dingin.

    Catatan

    Jika Anda perlu mengaktifkan fitur ini dalam skenario ini, hubungi kami untuk bantuan.

  • Jika kluster atau Anda telah mengaktifkan penyimpanan berjenjang untuk data dingin dan hot standby secara bersamaan, Anda tidak dapat .

    Catatan

    Jika Anda perlu mengubah zona ketersediaan primary dalam skenario ini, hubungi kami untuk bantuan.

  • Pernyataan DDL yang tidak didukung:

    • Anda tidak dapat membuat database di ruang tabel OSS: CREATE DATABASE dbname TABLESPACE OSS;

    • Anda tidak dapat memindahkan seluruh database yang sudah ada ke ruang tabel OSS dalam satu operasi: ALTER DATABASE dbname SET TABLESPACE OSS;

Enable the feature

Penting

Mengaktifkan penyimpanan berjenjang untuk data dingin akan melakukan restart kluster PolarDB. Jadwalkan operasi ini pada jam sepi dan lakukan dengan hati-hati.

  1. Masuk ke PolarDB console. Di panel navigasi kiri, klik Clusters. Pilih region kluster, lalu klik ID-nya untuk membuka halaman detail.

  2. Di panel navigasi kiri, pilih Configuration and Management > Cold data tiered storage untuk membuka halaman PolarDB cold data tiered storage.

  3. Klik Enable untuk menuju halaman Data Archive List.

  4. Halaman ini menampilkan Basic Information untuk instans dan Data Archive List. Daftar tersebut mencakup Whole table Archive list dan Partition Table Archive List.

Catatan
  • Jika belum ada data dingin yang disimpan, Data Archive List akan kosong.

  • Setelah Anda mengaktifkan fitur ini, data disimpan di disk cloud berkecepatan tinggi default. Untuk memindahkan data ke cold storage, Anda harus secara eksplisit mentransfernya ke OSS. Untuk langkah-langkah detailnya, lihat Methods for moving data to cold storage.

Methods for moving data to cold storage

Memindahkan data ke cold storage mentransfer objek database seperti tabel, indeks, dan materialized view ke Object Storage Service (OSS). Proses ini secara signifikan mengurangi biaya penyimpanan karena objek tersebut tidak lagi menempati ruang disk cloud yang signifikan. Setelah data dipindahkan, semua pernyataan DML dan DQL tetap beroperasi secara transparan terhadapnya.

Move tables, indexes, and materialized views

  • Pindahkan tabel, indeks, atau materialized view yang sudah ada ke cold storage.

    ALTER  TABLE  tblname  SET  TABLESPACE OSS;
    ALTER  INDEX  idxname  SET TABLESPACE OSS;
    ALTER Materialized View mvname SET TABLESPACE OSS;
    Catatan

    Saat Anda menjalankan ALTER TABLE tblname SET TABLESPACE OSS pada sebuah tabel, hanya data tabel yang dipindahkan ke OSS secara default. Untuk memindahkan indeks tabel tersebut, Anda harus menjalankan pernyataan ALTER INDEX untuk masing-masing indeks.

  • Buat tabel, indeks, atau materialized view baru langsung di penyimpanan OSS.

    • Metode 1: Tentukan TABLESPACE OSS dalam pernyataan CREATE.

      CREATE TABLE tblname (...) TABLESPACE OSS;
      CREATE TABLE tblname(...) TABLESPACE OSS as SELECT ...;
      CREATE INDEX idxname ON tblname(columnname) TABLESPACE OSS;
      CREAE INDEX idxname ON tblename USING GiST(columnname) TABLESPACE OSS;
      CREATE MATERIALIZED VIEW table_name TABLESPACE OSS AS query [ WITH [ NO ] DATA ];
    • Metode 2: Atur ruang tabel default ke ruang tabel OSS.

      SET default_tablespace = 'oss';
      CREATE  TABLE  tblname  (...) ;
      CREATE  INDEX  idxname ON  tblname(columnname);
      CREAE  INDEX  idxname  ON tblename USING GiST(columnname);
      CREATE MATERIALIZED VIEW  table_name  AS query [ WITH [ NO ] DATA ];
      Catatan

      Setelah Anda mengatur ruang tabel default ke OSS, semua tabel, indeks, dan materialized view baru akan dibuat di OSS. Untuk mengembalikan perilaku sebelumnya, atur ulang ruang tabel default:

      RESET default_tablespace;

Move LOB fields to cold storage separately

Bidang LOB dalam mengacu pada bidang dengan tipe data blob, text, json, jsonb, atau array, serta . Bidang-bidang ini sering berisi large individual objects yang mengonsumsi large amount of storage space tetapi jarang diperbarui. Untuk membantu mengurangi biaya dalam skenario seperti itu, fitur tiered storage for cold data dari memungkinkan Anda memindahkan hanya bidang LOB ke cold storage, sementara penyimpanan bidang lainnya tetap tidak berubah. Anda dapat menggunakan satu pernyataan SQL untuk memindahkan bidang LOB ke cold storage. Penggunaannya sebagai berikut:

-- Buat tabel yang berisi bidang LOB.
CREATE TABLE  test_large_object(id serial, val text);
-- Pindahkan bidang LOB ke cold storage secara terpisah.
ALTER TABLE test_large_object alter column val set (storage_type='oss');
-- Tulis data ke bidang LOB. Konten bidang text kini disimpan di OSS.
INSERT INTO test_large_object(val) VALUES((SELECT string_agg(random()::text, ':') FROM generate_series(1, 10000)));
Catatan

Atur penyimpanan untuk bidang LOB ke OSS sebelum menulis data. Hanya data yang ditulis setelah perubahan ini yang disimpan di OSS.

Move partitioned tables to cold storage

Tabel partisi merupakan kandidat umum untuk cold storage. Anda dapat menggunakan metode tertentu untuk mengelola penyimpanannya.

  • Pindahkan semua partisi dari tabel partisi ke cold storage.

    • Metode 1: Pindahkan partisi yang sudah ada ke cold storage satu per satu.

      -- prt1 adalah tabel partisi (tabel induk).
      -- prt1_p1 adalah partisi dari prt1.
      -- prt1_p2 adalah partisi lain dari prt1.
      -- Jalankan pernyataan ALTER pada semua partisi.
      ALTER  TABLE  prt1_p1  SET  TABLESPACE OSS;
      ALTER  TABLE  prt1_p2  SET  TABLESPACE OSS;
    • Metode 2: Buat tabel partisi induk langsung di ruang tabel OSS.

      CREATE TABLE prt1 (a int, b int) PARTITION BY RANGE(a) TABLESPACE OSS;
      -- Partisi mewarisi properti ruang tabel dari tabel induk secara default dan dibuat di ruang tabel OSS.
      CREATE TABLE prt1_p1 PARTITION OF prt1 FOR VALUES FROM (0) TO (250);
      CREATE TABLE prt1_p2 PARTITION OF prt1 FOR VALUES FROM (250) TO (500);
    • Metode 3: Atur ruang tabel default ke ruang tabel OSS, lalu buat tabel partisi.

      SET default_tablespace = 'oss';
      CREATE  TABLE  prt1 (a int, b int) PARTITION BY RANGE(a);
      CREATE TABLE prt1_p1 PARTITION OF prt1 FOR VALUES FROM (0) TO (250);
      CREATE TABLE prt1_p2 PARTITION OF prt1 FOR VALUES FROM (250) TO (500);
  • Pindahkan partisi tertentu ke cold storage:

    Jika Anda hanya perlu memindahkan partisi yang kedaluwarsa (jarang diakses) ke cold storage, Anda dapat langsung mengubah ruang tabel untuk partisi-partisi tersebut. Partisi aktif (sering diakses) tetap berada di disk cloud. Pendekatan ini mempertahankan performa kueri tabel partisi sekaligus mengurangi biaya penyimpanan.

    -- prt1 adalah tabel partisi (tabel induk).
    -- prt1_p1 adalah partisi aktif dari prt1.
    -- prt1_p2 adalah partisi kedaluwarsa dari prt1.
    -- Jalankan pernyataan ALTER pada partisi kedaluwarsa.
    ALTER  TABLE  prt1_p2  SET  TABLESPACE OSS;

Manage data tiers

Materialized cache

Anda dapat mengatur ukuran materialized cache dengan memodifikasi parameter polar_smgrcache_size.

  1. Masuk ke PolarDB console. Di panel navigasi kiri, klik Clusters. Pilih region kluster, lalu klik ID-nya untuk membuka halaman detail.

  2. Di panel navigasi kiri, pilih Configuration and Management > Parameter Configuration. Temukan parameter polar_smgrcache_size dan klik Modify Parameter.

  3. Atur parameter polar_smgrcache_size. Lihat tabel berikut untuk contohnya.

    Value

    Cache size

    0

    0 (Cache dinonaktifkan.)

    1

    1 GB

    2

    2 GB

    128

    128 GB (Nilai maksimum yang didukung.)

  4. Di pojok kiri atas, klik Submit modification. Di kotak dialog Save Changes yang muncul, klik OK. Kluster akan melakukan restart setelah Anda memodifikasi parameter ini.

Catatan
  • Secara default, saat Anda mengaktifkan penyimpanan berjenjang untuk data dingin, atau mengalokasikan sejumlah kecil ruang materialized cache di disk cloud. Ruang ini digunakan untuk menyimpan metadata dan menggabungkan operasi I/O. Untuk performa yang lebih tinggi, Anda dapat menyesuaikan ukuran materialized cache di konsol berdasarkan volume data dan workload Anda. Perubahan ini berlaku segera setelah database melakukan restart.

  • Mengatur parameter polar_smgrcache_size ke 0 akan menonaktifkan materialized cache. Hal ini dapat memperlambat pemulihan crash secara signifikan, dan Anda tidak dapat mengaktifkan kembali parameter ini selama restart. Jika hal ini terjadi, Anda dapat menghubungi kami agar cache diaktifkan kembali untuk mempercepat pemulihan crash.

Setelah Anda mengaktifkan materialized cache, Anda dapat menanyakan penggunaannya sebagai berikut:

-- Buat ekstensi.
CREATE extension polar_monitor;
-- Tanyakan penggunaan dasar materialized cache.
SELECT * FROM polar_smgrcaches;
-- Deskripsi bidang:
  -- smgrcache: ID cache.
  -- relfilenode: File tabel yang sesuai dengan cache.
  -- relchunknumber: Posisi cache dalam file tabel.
  -- nblocks: Ukuran cache.
  -- dirty: Menentukan apakah cache tersebut dirty.
  -- usagecount: Jumlah penggunaan.
  -- pinning_backends: Jumlah referensi.
-- Paksa flush materialized cache ke OSS.
SELECT polar_flush_smgrcache(); 
-- Paksa evict materialized cache.
SELECT polar_evict_smgrcache(); 

Access cold data

Insert, delete, update, and query cold data

Pernyataan SQL standar untuk memasukkan, menghapus, memperbarui, dan menanyakan data bekerja secara transparan pada data dingin (objek yang disimpan di ruang tabel OSS).

Restore cold data

Data dikompresi saat dipindahkan ke OSS. Jika Anda memulihkan data dari OSS kembali ke disk cloud, pastikan disk cloud memiliki ruang yang cukup. Ruang yang dibutuhkan biasanya 1,4 hingga 4 kali lipat dari ruang penyimpanan yang ditempati data di OSS.

Delete cold data

Pernyataan SQL standar untuk menghapus tabel dingin, indeks, dan materialized view bekerja secara transparan.

DELETE  FROM tblname WHERE ...;
TRUNCATE  TABLE  tblname;
DROP  TABLE  tblname;
...